Only create "host-only" initramfs images. A generic fallback image will be generated, if it does not exist and never ever be removed.
- Name: Harald Hoyer
- Email: firstname.lastname@example.org
- Targeted release: Fedora 19
- Last updated: 2013-01-29
- Percentage of completion: 90%
Current initramfs images contain most of the kernel drivers to boot from any hardware. This results in a very big initramfs, which takes a long time to load on system start and a long time to create on kernel updates. Switching to host-only will improve the situation. To cope with hardware change, a boot entry "Rescue System" should be installed with a full fledged initramfs also containing debug tools. This boot entry can then be used to recover from hardware changes and also from unforseen software failure after updates.
Benefit to Fedora
Less /boot usage. Faster boot and updates. Full fledged rescue mode available.
- [ DONE ] dracut is already capable of producing host-only initramfs images, as well as rescue images
- [ DONE ] dracut has to source config files from "/usr/lib/dracut/dracut.conf.d", although the same filenames in "/etc/dracut/dracut.conf.d" will have priority
- [ DONE ] dracut has to be changed to create the rescue initramfs image and the rescue boot entry, if it does not yet exist
- [ REJECTED ]
and call "yumdb set installonly keep kernel-<version>" for the kernel, which is used for the rescue image, otherwise kernel modules cannot be loaded in the real root.
- [ REJECTED ]
dracut has to ship "/usr/lib/dracut/dracut.conf.d/99-hostonly.conf" with: [[ $hostonly ]] || hostonly="yes" in a "dracut-hostonly" subpackage
- disabling host-only mode is as easy as: # echo 'hostonly="no"' > /etc/dracut.conf.d/99-nohostonly.conf
- [ MISSING ] dracut has to implement "dracut --regenerate-all" to regenerate all normal initramfs with the current hardware
- [ MISSING ] dracut has to provide the following subpackages: dracut-no-hostonly and dracut-no-rescue
How To Test
- install F19
- see two boot entries in grub: first one with the current kernel, second one with the rescue entry
- /boot should contain one big initramfs belonging to the rescue image. The rest of the initramfs images should be way smaller in comparison.
- every boot entry must be bootable
- kernel upgrade must not remove the kernel used for the rescue boot entry
User should see no difference, besides faster boot and updates. On boot failure, the user now has a "Rescue system" boot entry.
If the feature cannot be completed, we switch back to non-hostonly initramfs images, which is a configure switch in dracut and very easy to do.
- This Fedora release ships with an initramfs tailored especially for your computer hardware. If you change your machine or significant hardware, you might have to boot with the "Rescue System" boot entry and execute "dracut --regenerate-all". If you want your initramfs to be hardware independent, remove the "dracut-hostonly" rpm package.