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:
/sdk
./linux/
./OpenKaOS.basic/
./OpenKaOS.docker/
./OpenKaOS.kvm/
./OpenKaOS.cloud/
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:
./kernel-config/
./openkaos.boot/
./openkaos.fs/
./tools
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.
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.