1
0
mirror of git://git.2f30.org/morpheus.git synced 2024-06-16 13:38:35 +00:00
Go to file
sin dc78d5d7c9 Convert sbase with inline building instructions
For packages in base, we will ignore make/autoconf.  We can just use
inlined build instructions in the mk recipe.
2014-03-05 13:27:03 +00:00
misc Move qemu-mk-overlay to misc/ 2014-02-28 15:38:26 +00:00
pkgs Convert sbase with inline building instructions 2014-03-05 13:27:03 +00:00
stuff Put extlinux.conf in stuff/ 2014-03-05 12:28:43 +00:00
.gitignore Use .cache instead of .state 2014-03-01 02:07:51 +02:00
config.mk Bump up NPROC to 4 2014-03-04 11:54:28 +00:00
LICENSE Add Hiltjo Posthuma to LICENSE 2014-03-04 16:26:45 +00:00
mkfile Visually separate packages with a newline in pkgs.mk 2014-03-01 21:00:56 +00:00
README Add warning for ppl in README 2014-03-04 16:39:24 +00:00
TODO Update TODO 2014-03-04 10:21:13 +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 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!