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!