1
0
mirror of git://git.2f30.org/morpheus.git synced 2024-06-16 12:58:34 +00:00
morpheus/README
2014-03-07 11:07:07 +00:00

97 lines
2.3 KiB
Plaintext

morpheus - a statically linked musl based Linux distro
======================================================
Building
--------
*** HIGHLY EXPERIMENTAL SOFTWARE - READ THE CODE FIRST! ***
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 do this at the boot prompt:
bzImage root=/dev/sd[X]1 rootwait init=/init ro
Otherwise modify stuff/extlinux.conf and rebuild the extlinux package.
You will also want to modify the fstab file.
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!