This is a thing I’m not going to implement because although it’s very easy from technical point of view having to take care of all the kernel versions and their (so big) source code would easily become a burden.
So, this is an idea or mockup.
What is Kernel box?
An special Super Grub2 Disk which includes several Linux kernels and initrds.
What can you do with Kernel box?
- Try a new kernel without installing it.
- Being able to boot your distribution because you did not install a kernel when installing it.
- Being able to boot your distribution after realising that you have deleted your /boot partition where not only the grub files were but also the kernel files.
How would it work?
I guess I would detect a Linux root partition by finding /sbin/init (or whatever it’s named in systemd) and probably by checking /etc/issue for a possible name for the distro.
Once the user chooses the distro which he wants to start (not choosing boot verb here on purpose :)) he is prompted about the kernel + initrd that wants to try.
There should be the original kernel and initrd from the most popular GNU/Linux distributions out there available. There should be special initrds for these special cases (RAID5 + LVM and the like).
I’m not sure if it makes sense technically but you could use a kernel from SuSE 11 with Ubuntu 13.10’s initrd.
Boot parametres improvement
You can add most usual boot parametres from a list. Either you can exclude a module to load, you can turn of acpi or another special boot parametre for your video card. I will write probably write about this idea in another post because it was originally intented for normal Super Grub2 Disk.
About implementing it
I don’t mind spending an afternoon and coding the Super Grub2 Disk part if someone devotes himself on building up the rest of the system:
- Code an script to obtain new kernels and initrds semiautomatically and update Super Grub2 Disk scripts accordingly.
- Keep an updated version monthly
- And most importantly keeping the Kernel and Initrd source code organised so that anyone can download it so that we complain to GPL.
- Not sure if it’s needed. Automate the building of the different kernels from their source code to even ensure we comply GPL.
- Any thoughts on the idea?
- Any other tricks around what Super Grub2 Disk does that could improve it like this one?