No more boot loader: Please use the kernel instead
Overview of the proposal
- Red Hat engineers propose “no more boot loader” (nmbl): use the Linux kernel itself (via EFI stub and UKI images) as the first-stage bootloader.
- Goal: avoid GRUB’s duplicated drivers, filesystem code, and complex scripting, which are seen as hard to maintain and a security liability.
- UEFI firmware loads a unified kernel image (kernel + initramfs + cmdline); a small initramfs userland presents a menu, does any needed logic, then either switch_root’s or kexec’s into the target system.
Perceived benefits
- Less duplicated code: reuse kernel’s mature drivers, filesystems, crypto, networking instead of re‑implementing them in GRUB or other loaders.
- Potentially fewer security bugs and faster fixes, since kernel code has many more eyes and established processes.
- Aligns with UKI / Secure Boot / measured boot workflows and simplifies signed‑boot chains.
- Embedded and specialized systems already often use similar “Linux as bootloader” patterns.
Concerns and criticisms
- Feels like “another Red Hat/systemd‑style churn”: fear of long-term ecosystem disruption, new tooling, and documentation gaps.
- kexec reliability: some hardware, GPUs, ACPI, and especially Apple Silicon are cited as problematic for robust kexec-based booting.
- Worry that complex pre‑boot logic (multi‑OS menus, network boot, ZFS/Btrfs snapshots) will just recreate another large, bug‑prone codebase inside initramfs.
- Skepticism about tying more of the boot chain to Secure Boot, TPM, and vendor keys; concerns about user lock‑in vs owner control.
Initramfs, modules, and filesystems
- Debate over whether we should instead aim for “no more initramfs” by compiling everything needed into the kernel or using a smarter loader (FreeBSD‑style).
- Out‑of‑tree modules (e.g., ZFS) and stacked storage (LUKS, LVM, RAID) make initramfs or equivalent almost unavoidable for generic distros.
- Some argue UEFI ESP plus kernel‑loaded modules from FAT is a simpler route than elaborate initramfs.
Multi‑boot and user experience
- Many users still rely on GRUB for:
- Dual‑booting Linux/Windows or multiple Linux installs.
- Selecting older kernels, single‑user mode, and recovery.
- Booting other EFI tools (memtest, shells).
- UEFI boot menus are widely described as inconsistent, hard to reach, or feature‑poor; some see that as a blocker to “no bootloader” approaches.
Alternatives and existing practice
- Several existing projects already use “Linux as bootloader”: LinuxBoot, Petitboot, ZFSBootMenu, Oxide’s PHBL, custom kexec setups.
- Others are happy with simpler options: EFISTUB, systemd‑boot, rEFInd, or even LILO with no initramfs.
- Thread consensus: idea isn’t new; the value will depend on how well nmbl handles real hardware, multi‑boot, and complex storage without recreating GRUB‑level complexity.