Debian: considerations regarding redesign of live-initramfs
Live-initramfs is a fork of Ubuntu’s casper for use within Debian. Nowadays several Debian based live systems are using live-initramfs to build an initramfs suited to boot live systems. Besides debian-live and all its users that’s at least Grml (and its derivates) and FAI.
I’m maintaining live-initramfs for Grml – so I know the limitations of live-initramfs. Yes, it has some design flaws but upstream finally decided to take the time to redesign it. That’s why I’m posting this: I would like to see even more Debian based systems adopting live-initramfs (hello Sidux!). This would improve compatibility with regards to similar bootoptions and features as well as better cooperation among the teams. Of course this will be possible only if live-initramfs is capable of handling all the necessary customization and configuration tasks that different live systems require nowadays.
So this are my current considerations regarding the redesign of live-initramfs:
- support all currently available bootoptions (for a clean upgrade path and wide adoption of live-initramfs 2.x)
- provide a possibility to use the rootfs from exactly the device that the kernel/initramfs is booting from (this is especially important if users have several similar systems on their usb drives)
- scan removable devices always before any harddisk devices by default
- provide a bootoption which displays the currently executed code:
- avoids panic on user’s side if something takes longer than usual, so let’s inform the user instead
- debugging is essential if anything fails, though:
- rebuilding the initramfs with set -x isn’t a solution for normal users
- bootoption toram should run some “free memory checks”
- support custom hooks via something like hooks/live-custom (so other distributions don’t have to patch live-initramfs for adding additional stuff)
- consider inclusion of Grml’s patches (at least what you think might be interesting for you)
- split scripts/[live-bottom] into a separate package:
- provide just the core files for booting in live-initramfs package, move debian-live specific stuff to a separate package
- but please don’t just drop 23networking for PXE booting
- write messages through a clean interface:
- so no /dev/console workarounds are necessary to get around the file descriptor hacks
- support keeping the system completely quiet (for example for bootsplashes)
- support custom failure messages (debian-live won’t have much fun if they receive distribution specific bugreports)
- allow customization of the messages so every system can use its own look and feel for the boot messages
- provide status bars wherever possible:
- when searching for the squashfs file this can take a while (quoting a Grml user: “cdrom -> ie -> activex -> fast ethernet -> OOB -> IDE -> Grml”), so optionally display which device is scanned
- toram is annoying without any status information (displaying progress is possible e.g. using rsync)
If you’re interested in adopting live-initramfs in your distribution/system feel free to contact me (mika [at] debian.org). If you do have any further wishes for the redesign please let me know so I can forward them to upstream.