1
0
mirror of git://git.2f30.org/morpheus.git synced 2024-06-16 13:38:35 +00:00
morpheus/README
2014-03-04 16:23:03 +00:00

92 lines
2.2 KiB
Plaintext

morpheus - a statically linked musl based Linux distro
======================================================
Building
--------
To build morpheus you currently need an x86_64/x86 host. You will
need to have mk(1) from 9base or plan9port.
Please review config.mk prior to building and adjust any parameters.
To build everything:
mk world
To build specific packages:
mk pkg1 pkg2 ...
To force build packages and all their dependencies:
mk -a pkg1 pkg2 ...
To clean the build system's cache:
mk clean
To clean everything including the downloaded files and the rootfs:
mk clean-world
To fetch all packages without building anything:
mk fetch-world
Rebuilding the kernel
---------------------
There is a default config for the kernel in stuff/kernel-config-$arch.
The default config is copied over .config in the kernel source
directory every time you do a build via mk(1). You can adjust your
local .config and copy it over stuff/kernel-config-$arch or you can
just manually compile the kernel and copy System.map and bzImage to
$root/boot.
Installing
----------
There is currently no installer. There is a script that creates a 2GB
image file that is suitable to dd to a usb stick.
To create a bootable image:
sudo modprobe -r loop
sudo modprobe loop max_part=15 # to be done only once
sudo mk bootable # this invokes stuff/create-bootable
Make sure to change the kernel command line to point it to your root
device. You can either do this before creating the image or at the
boot prompt as follows:
bzImage root=/dev/sd[X]1 rootwait init=/init ro
Testing
-------
To experiment with the x86_64 image in qemu:
qemu-system-x86_64 -hda morpheus-x86_64-0.0.img -enable-kvm -vga cirrus
Login with root and an empty password.
To obtain binary images go to http://dl.2f30.org/morpheus-img/
Debugging
---------
In some cases you may want to set NPROC to 1 in order to get sane
build output. You may also have to set nprocs to 1. You can then use
something like the following:
mk world 2>&1 | tee -a output.log
or similarly if you are trying to build an individual package.
Contact
-------
You can find us on #morpheus at irc.oftc.net.
Enjoy!