ProductsLamBoot › Innovations

What makes LamBoot different

The capabilities no other mainstream bootloader ships — not just memory safety

It would be reasonable to assume “memory-safe Rust” is the headline here. It’s a headline — not the headline. The real differentiation is a cluster of capabilities that together don’t appear in any mainstream bootloader, regardless of language.

This page catalogs them. Use it when you’re deciding whether LamBoot earns a slot in your boot chain. The honest security story has its own page; the architecture has its own page; this page is the why-should-I-care synthesis.

1
SHIPPING · v0.8.3

Trust-evidence log

Structured JSON audit trail, on-disk, every boot

Every image-authentication decision — firmware DB accept, ShimLock accept, MOK cert accept, SecurityOverride delegate, outright reject — written to \loader\boot-trust.log on the ESP as one JSON object per line. Readable from the OS post-boot; correlatable with TPM event logs; consumable by audit tools.

Why unique

GRUB, systemd-boot, rEFInd, shim itself — none write a post-boot audit trail. Secure Boot on every other loader is “access denied, figure it out.” LamBoot answers the “which step failed, and why” question by default.

Security page with full schema →

2
SHIPPING · v0.8.3

NVRAM state machine, visible to the host

Crash-loop state a Proxmox host can read without an agent

Fresh → Booting → BootedOK → CrashLoop, persisted in UEFI NVRAM variables with a documented vendor GUID (4C414D42-4F4F-5400…). When a VM is running on a Proxmox host, the host can read those variables directly out of the per-VM OVMF_VARS_<vmid>.fd file — no guest agent, no SSH, no guest cooperation. Automatic fallback-entry selection after N consecutive failures.

Why unique

systemd-boot has simple boot counting via filename suffix; it has no explicit state machine and no cross-host observability. GRUB has none of this. The variables-readable-from-hypervisor angle is a Lamco-specific innovation built for fleet operation.

Proxmox integration deep-dive →

3
SHIPPING · v0.8.3

Rich UKI PE section parsing

Menu metadata from inside the Unified Kernel Image, not the filename

UKIs are PE/COFF binaries with named sections (.osrel, .cmdline, .uname, .hwids, .pcrsig…) carrying everything needed to present a useful boot entry. Most bootloaders ignore this and just display the filename. LamBoot parses:

  • .osrelPRETTY_NAME and VERSION_ID for the menu label
  • .cmdline — the kernel command line embedded with signing authority (not guessed)
  • .uname — kernel version for UAPI.10 sort + BLS/UKI deduplication
  • .hwids — hardware-ID matching (CHID) to filter images that don’t match the host
  • .pcrsig / .pcrpkey — pre-boot TPM PCR 11 integrity verification

Why unique

systemd-boot does partial PE parsing; Sprout has no PE parsing at all. LamBoot’s no_std manual PE parser (~150 lines, no heap, no unsafe) is a competitive differentiator in the Rust bootloader field.

4
SHIPPING · v0.8.3

Double-buffered GOP renderer with full mouse support

Not a text menu, not a framebuffer of flickering tiles — a proper UI

Off-screen composite into Vec<BltPixel>, single BltOp::BufferToVideo per frame, ~60 FPS, no tearing. UEFI Simple Pointer and Absolute Pointer protocols drive a real cursor: hover, click, scroll. Serial console fallback for headless VMs and SOL consoles.

Why unique

systemd-boot is text-only. rEFInd has icons but not double-buffered smooth rendering. No other Rust UEFI bootloader (Sprout, sd-boot-rs) ships a mouse-driven GUI at all.

5
SHIPPING · v0.8.3 (framework)

Pre-boot diagnostic module framework

Diagnostics as standalone signed EFI apps, no rescue shell required

\EFI\LamBoot\modules\*.efi are independently-loadable EFI applications chainloaded from the boot menu: NVMe SMART reader, memory test, PCI inventory, filesystem triage. No special ABI — just standard UEFI apps signed with the same key as the bootloader. A manifest.toml provides friendly names.

Why the architecture matters

Core bootloader stays tiny (215 KB). Modules are independently developable and signed. Core never grows. This is the opposite of GRUB’s monolith-plus-scripting-language design.

6
ROADMAP · v0.9.x

Network management API — a first for bootloaders

HTTP server running in the bootloader, via UEFI TCP4 / HTTP protocols

Optional net-agent.efi module that starts an HTTP listener during the boot-menu phase. Endpoints: /status, /entries, /boot/<id>, /diagnostics/run, /reports/<name>, /config. Shuts down when the boot menu timeout expires — not a persistent daemon.

Why unprecedented

No UEFI bootloader has exposed a network API before. The closest analog is Intel AMT / BMC / IPMI — dedicated hardware management controllers that cost money and require separate infrastructure. This is software-defined out-of-band management at the bootloader level, for free, on any machine with a NIC.

Default: disabled. Opt-in via policy.toml. Shared-secret or mTLS auth. Read-only mode available.

7
SHIPPING · v0.8.3

Five-tool host-side CLI suite

lamboot-diagnose / -esp / -backup / -repair / -migrate

LamBoot doesn’t stop at the bootloader binary. A companion toolkit handles the administration surface around it: health diagnosis, ESP maintenance, backup and restore of the UEFI boot configuration, automated repair (online or offline against a stopped VM’s disk), and migration from legacy GRUB.

Tools overview →

AND THEN, YES

Memory-safe Rust, top to bottom

On top of the seven items above, the whole thing is #![no_std] Rust — 3,500 lines that a systems-programming-literate reader can work through in a long afternoon. Every unsafe block carries a SAFETY: comment documenting the invariants. The binary is 215 KB compared to GRUB’s 4 MB.

That’s the eighth reason to consider LamBoot. It’s important, but on its own it would just make LamBoot a “safer systemd-boot.” The seven items above are what make it different in kind, not just different in implementation language.