Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
Moby, a toolkit for custom Linux distributions
Simple build instructions: use make to build.
make qemu will boot up a sample in qemu in a container; on OSX make hyperkit will
boot up in hyperkit. make test or make hyperkit-test will run the test suite.
Requires GNU make, GNU or BSD tar (not Busybox tar) and Docker to build.
To customise, copy or modify the moby.yaml and then run ./bin/moby file.yaml to
generate. You can run the output with ./scripts/qemu.sh or ./scripts/hyperkit.sh.
The Yaml format is loosely based on Docker Compose:
kernelspecifies a kernel Docker image, containing a kernel and a filesystem tarball, eg containing modules.mobylinux/kernelis built fromkernel/initis the baseinitprocess Docker image, which is unpacked as the base system, containinginit,containerd,runcand a few tools. Built frombase/init/systemare the system containers, executed sequentially in order. They should terminate quickly when done.daemonis the system daemons, which normally run for the whole timefilesare additional files to add to the imageoutputsare descriptions of what to build, such as ISOs.
For the images, you can specify the configuration much like Compose, with some changes, eg capabilities must be specified in full, rather than add and drop, and
there are no voluems only binds.
The config is liable to be changed, eg there are missing features (specification of kernel command line, more options etc).