1
0
mirror of git://git.2f30.org/morpheus.git synced 2024-06-16 10:38:33 +00:00
Go to file
2014-03-12 17:01:10 +02:00
misc Redo misc/run-chroot a bit (also mount /sys) 2014-03-10 13:48:27 +02:00
pkgs Inline build sic 2014-03-11 21:00:56 +02:00
stuff Simplify the sed line for fetch deps (now works with heirloom sed too) 2014-03-10 16:41:27 +00:00
.gitignore Update .gitignore 2014-03-10 13:55:32 +00:00
config.def.mk Move config.mk to config.def.mk 2014-03-10 13:52:48 +00:00
LICENSE Add Hiltjo Posthuma to LICENSE 2014-03-04 16:26:45 +00:00
mkfile Don't delete the downloaded src/ on clean-world 2014-03-12 17:01:10 +02:00
README Don't delete the downloaded src/ on clean-world 2014-03-12 17:01:10 +02:00
TODO Remove e2fsprogs from TODO - we already have a package for that 2014-03-11 15:04:11 +02:00

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 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!