opaquesystems / openkaos

OpenKaOS is a developer toolkit for building lightweight Linux platforms for a wide variety of uses
GNU General Public License v2.0
0 stars 1 forks source link

Docker support to OpenKaOS and multiple build options to SDK #101

Open opsyseng opened 8 years ago

opsyseng commented 8 years ago

Support for docker containers needs to be added to OpenKaOS. There is already vethX and cgroup support in OpenKaOS as of 4.x. To add docker support, we need to include AUFS4 support in the kernel that is built, and add code to bld-core.sh to pull down docker from docker's website.

There should be some additional changes to the sdk image, the directory /sdk currently just houses the basic reference platform. This should be expanded as OpenKaOS 5.0 supports multiple base images. The /sdk/ directory should be restructured as follows:

The linux/ directory contains the actual Linux kernel source (currently 4.4.1). The OpenKaOS.basic contains the basic reference platform. The OpenKaOS.docker contains the docker based image (this would include ansible, OpenSSH and init-cloud support as well). The OpenKaOS.kvm contains kvm support (default) as well as docker and lxc support. Finally the OpenKaOS.cloud contains a docker based image with support for public cloud providers such as Linode, Google Compute Engine and Amazon Web Services.

Each of the OpenKaOS.* directories should have the following sub-directories:

The kernel-config directory contains the appropriate kernel configs. The openkaos.boot contains the built Linux kernel with OpenKaOS initramfs embedded. The openkaos.fs contains the master filesystem, and the tools directory contains several scripts for rebuilding the kernel image.

opsyseng commented 8 years ago

The boot sequence for OpenKaOS.docker on Linode:

Loading of containers onto the node can be done via ansible invoking docker.