LowEndBox - Cheap VPS, Hosting and Dedicated Server Deals

RedHat Prepares to Give Bootloaders the Boot

Since time immemorial, Linux has booted from a bootloader.  This is due to the architecture of the IBM PC, where the CPU reads a sector from the configured disk and is limited to 510 bytes of code. That’s not enough code to understand the filesystem that the kernel is on, so most bootloaders are two-stage, loading the initial 510 bytes, then loading enough second-stage code to understand ext4 or whatever, and then the kernel is booted.

Over time, we’ve moved from loadlin, then LILO, then GRUB, and now GRUB2.  SYSLINUX, PXELINUX, EXTLINUX have also been in the mix and there are others.

Now a RedHat engineer, Marta Lewandowska, has a different idea.  You can check out her full talk on YouTube (below) entitled “No more bootloader: Please use the kernel instead” presented at DevConf.CZ 2024.

Her project is called nmbl (“no more bootloader”, pronounced “nimble”) and aims to replace traditional bootloaders with the kernel itself.  GRUB works, but it has been a source of security vulnerabilities and a lot of its code is duplicated in the kernel itself.

What benefits might nmbl bring?

  • Faster boot times, since there’s no bootloader involved.  There are two variants on nmbl and one allows multi-booting into different kernels.
  • In theory, security is improved because there’s less code and less attack surface.
  • Future feature development should be easier since there’s one platform and not a multi-stage scaffold to work on.

Is it the future?  Some comments on the LWN writeup are skeptical.  Check out the creator’s blog post on nmbl and the presentation:

raindog308

1 Comment

  1. Do modern systems still use GRUB? I thought that at least some people were migrating to systemd-boot.

    July 22, 2024 @ 5:11 pm | Reply

Leave a Reply

Some notes on commenting on LowEndBox:

  • Do not use LowEndBox for support issues. Go to your hosting provider and issue a ticket there. Coming here saying "my VPS is down, what do I do?!" will only have your comments removed.
  • Akismet is used for spam detection. Some comments may be held temporarily for manual approval.
  • Use <pre>...</pre> to quote the output from your terminal/console, or consider using a pastebin service.

Your email address will not be published. Required fields are marked *