burmilla / os

Tiny Linux distro that runs the entire OS as Docker containers
https://burmillaos.org
Apache License 2.0
210 stars 14 forks source link

Custom console with VM and GUI support for BurmillaOS #184

Open lonnietc opened 2 weeks ago

lonnietc commented 2 weeks ago

Hello,

I am interested in discussing BurmillaOS more and would like to know if there is a Discord or Slack channel?

If not, then is there maybe a mailing list or similar?

Thanks and have a great day

olljanat commented 2 weeks ago

Discord exist (look: #10) but there hasn’t been any discussion in couple of years anymore so it is better to ask in here.

lonnietc commented 2 weeks ago

@olljanat Thanks for answering my inquiry.

I am interested in taking BurmillaOS and trying to do a couple of additional things, but in a step-by-step approach.

  1. Rebuilding it so that it will be more of a Live_ISO, Live_USB, or Live_iPXE approach so that the OS can be booted and run completely in RAM. This allows for a ephemeral storage in the ramdisk, but also the HDD and SDD, etc. can be mapped in and store containers and configurations, if desired.
  2. Would like to have KVM compiled into the kernel so that QEMU could be run. This idea is part of an approach that would allow QEMU to run "inside" a container. The purpose would be to allow for booting an OS either from and ISO, installed physical partition, etc. You could effectively boot all of your installed OS's in a multi-boot installed system instead of booting only one and then Hot-Key switch between them.
  3. I would like to figure out how to add a GUI (maybe like X11, or Wayland) such that the installed QEMU running inside a container could have access. This would use the abilities from the Intel Celadon project to allow for virtual GPU, etc.

In general, I want to fork BurmillaOS and give these a try but also try to keep the total image footprint to be as small as possible.

Just the major ideas that I want to pull together into a single distro and want to start with the "Live" ram-based version of the current BurmillaOS running just to get going.

This is the idea that I am seeking to accomplish.

Thanks and have a great day

olljanat commented 2 weeks ago

@lonnietc quick answers to those:

Rebuilding it so that it will be more of a Live_ISO, Live_USB, or Live_iPXE approach so that the OS can be booted and run completely in RAM.

This partly already works however Docker does not play nicely in RAM only environments so I abandoned that idea couple of years ago. In minimum you need mount /var/lib/docker from disk. Look example in https://github.com/burmilla/os/issues/6#issuecomment-715916407

Would like to have KVM compiled into the kernel

You can see what is included to kernel from https://github.com/burmilla/os-kernel/blob/master/config/x86/kernel-config At least CONFIG_HAVE_KVM=y is in there so most likely it is available if you enable kernel-extras service.

I would like to figure out how to add a GUI

In theory it should be possible by using custom console

In general, I want to fork BurmillaOS and give these a try but also try to keep the total image footprint to be as small as possible.

What I remember from forking RancherOS. There is a lot of references for those names in code so forking for different name might be tricky but you can find most of that from https://github.com/burmilla/os/commit/872f1cd6dab4f397e1357b95970f772c03eb5b00 + couple of commits which did came after that to fix issues.

However based on what I have heard so far you probably don't even need fork BurmillaOS but instead of build custom "console" like https://github.com/benok/burmilla-os-console which enables GUI and VM support.

If some changes to core parts of BurmillaOS is needed because of this those can be done as long they don't break existing use cases or increase footprint too much.

I want to pull together into a single distro and want to start with the "Live" ram-based version

Is there some particular reason for using RAM based solution as that might be hardest to achieve?

lonnietc commented 2 weeks ago

Hello and Thanks for the quick replies to my questions and ideas on this.

On thought about being able to run the Docker engine in RAM was from the idea that using an Alpine Linux host, you can actually run Xen and Docker from RAM, from what I have read. I have tested out running Xen, but not yet Docker and was inferring that it might be possible with your Burmilla (Rancher) albeit wit h a bit of work and now I understand some challenges still.

The reason for the RAM based approach is that it allows the drives to be use for data, configs, and VM's in much the same way as the SmartOS project does which is based upon the Illumos kernel and Solaris and allows for an OS that is not patched, but when a new version comes out the it just boots up the new version from the USB or ISO or iPXE in their case. I was thinking that it should be possible in some way with Linux and Burmilla (Rancher) as well since I like that they support a larger array of hardware.

Thanks again