mirror of
git://git.2f30.org/morpheus.git
synced 2024-06-16 13:38:35 +00:00
104 lines
2.4 KiB
Plaintext
104 lines
2.4 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 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 pkgs/kernel. 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 the relevant config in pkgs/kernel 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 pkgs/extlinux/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.
|
|
|
|
Props
|
|
-----
|
|
|
|
I'd like to thank the people behind the sabotage-linux project.
|
|
Their work has been really helpful to us.
|
|
|
|
Contact
|
|
-------
|
|
|
|
You can find us on #morpheus at irc.oftc.net.
|
|
|
|
Enjoy!
|