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.