XBOOTLDR support #173
Labels
No labels
bug
dependency
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
review-next
security
stub
tool
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: raito/lanzaboote#173
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
As far as I can tell, there's no option to tell Lanzaboot to install the bootloader entries to
/boot
, with the bootloader itself residing on/efi
.This is necessary for systems that are dual-boot and have to deal with Windows anemic 512MB ESP.
This is something I implemented for systemd-boot in : https://github.com/NixOS/nixpkgs/pull/226692
From a quick skim, I guess that most places where esp_paths is propagated to/through Installer, a similar variable,
entries_path(s)
could be added for this parameters.Ope, maybe I'm wrong, this looks like a lot of paths... hm.
adc01887d9/rust/tool/src/esp.rs (L23)
Just to illuminate this quickly for anyone unfamiliar with it:
(A small note, the Windows default ESP now seems to be about 100MB, making this more important for such systems)
last update: for now this works for me:
otherwise things went well according to the quickstart! thanks!
Is there any action we should do to your opinion to enable better support of XBOOTLDR?
@RaitoBezarius I'm not really sure! I think, generally, NixOS should make this pattern easier to achieve, and as far as I know, it's basically just not supported (without my PR for systemd-boot anyway). And thus similarly lanzaboot.
Personally, I would prefer lanzaboot to not require me to (manually) set up bind mounts, when they're really only here to workaround what feels like a feature deficit in Lanzaboot. I do feel like the "right" solution is for Lanzaboot to internally have a concept of "payloadPath" (maybe, rather than
entriesPath
) since in this case lanzaboot is installing EFI binaries, rather than entries conf files). And then this would be exposed out to the nixos module.So, in my opinion, ideally I'd be able to remove the bind mount and then set
boot.lanzaboot.payloadPath = "/boot"
and have it work.cc @nikstur
I don't really like
payloadPath
, I think we should have the extensionextendedPath
in bootspec (no pun) and keep the efiSysMountPoint parameter (which already exist) and rely on this for EFI.And then, we could have
extendedPath
as part ofboot.extendedPath
and be it an sanctioned nixpkgs extension of bootspec.I haven't fully had a chance to grok what is "in scope" of bootspec, vs extensions, vs left up to the "installer", so I can't offer an opinion. But I do like the last sentence, anyway. I do think I'm a bit nervous about what I'd argue is core functionality in extensions, but I also haven't had a chance to wrap my head around extensions, how they work, if there's a graduation path for them, etc.
Personally, I think most tools around bootloaders make some invalid assumptions that everything goes into the ESP (see, nixpkgs/lanzaboot having the ability to configure the ESP path, but not the path for installing payloads). This isn't true with xbootldr, and I'd argue, it's "cleaner" this way too. I like my ESP just containing the bootloader and then the /boot partition containing the actual payloads.
Note that https://github.com/NixOS/nixpkgs/pull/285401 has finally been merged.
Note: the PR to support xbootldr partition has been accepted into nixpkgs, it's available as a option.
boot.loader.systemd-boot.xbootldrMountPoint
.