You are not logged in.
but for the case as you describe it I'd just try to set the XBOOTLDR GUID
I actually tried that. I marked my root partition as XBOOTLDR and placed a filesystem driver (btrfs_x64.efi) into EFI/systemd/drivers/ of ESP partition.
But unfortunately it does not work. At least with Btrfs that I tried. Systemd-boot does not pick it up for some reason.
Even if it would have worked tough, I see some disadvantages:
1. Despite the kernel does not care about the partition type, changing the root partition type to anything other than "Linux root" breaks Systemd GPT partition automounting capability.
2. GUI file managers treat XBOOTLDR as a hidden partition.
Last edited by Hanabishi (2023-11-09 11:55:12)
Offline
V1del wrote:but for the case as you describe it I'd just try to set the XBOOTLDR GUID
I actually tried that. I marked my root partition as XBOOTLDR and placed a filesystem driver (btrfs_x64.efi) into EFI/systemd/drivers/ of ESP partition.
But unfortunately it does not work. At least with Btrfs that I tried. Systemd-boot does not pick it up for some reason.
Did you place your /boot on a subvolume or root volume?
- If you placed it on root volume, /boot directory won't work as systemd-boot looks for /loader/entries/*.conf files. So you have to place your boot entries files to the path without /boot prefix in this case.
- If you placed it on subvolume, that subvolume should probably set as default with "btrfs subvolume set-default", as otherwise again - the path would include /boot and systemd-boot knows nothing about it on boot.
Could you retest?
Last edited by bam (2024-03-13 13:44:20)
Offline
I am aware of the layout. No /boot subdir, no subvolumes for it. Loader entires and kernel images were placed directly into root of the partition, exactly the same as on a real boot partition.
I.e. in terms of the default system layout it is effectively
cp -r /boot -T /
So there is nothing to retest unfortunately.
Last edited by Hanabishi (2024-03-13 14:07:26)
Offline
If you wish to experiment with it a bit more, could you check if your btrfs driver actually works?
Can you see you filesystem from UEFI shell?
PS:
I had problem even with ext4, so maybe something wrong with btrfs compatibility..
Last edited by bam (2024-03-14 01:36:10)
Offline
Yeah, with the driver present I can see the root content as FS1.
I think it is simpler to just analyze systemd-boot source, maybe we miss something.
Offline
I would report about the problem first. Maybe it's known.
Offline
Did you read Notes here?
https://wiki.archlinux.org/title/System … g_XBOOTLDR
Also, worth trying on VM.
Offline
Yup. I even contributed to this article.
Offline
I would report about the problem first. Maybe it's known.
https://github.com/rhinstaller/anaconda … 2692747834
Please chime in anyone interested.
Offline
Oops, wrong link,
https://github.com/systemd/systemd/pull … 2694213300
Offline
Actual report:
sd-boot: can't boot from BTRFS XBOOTLDR
Offline
Sanity check: were the configuration files on the XBOOTLDR partition?
Jin, Jîyan, Azadî
Offline
"boot/loader/entries" it seems:
https://github.com/poettering/mkosi/blo … kosi#L1078
Last edited by bam (2025-03-03 16:02:40)
Offline