Compliance with systemd bootloader specification
The current sdboot-manage fails to create sdboot entries if an OS is installed conform with Systemd's bootloader specification. In my case that is
To mitigate this issue, this patch solves two problems:
due to the
-maxdepth 2argument in the
findcalls, the current implementation is unable to detected installations in install locations conform with the specification, as
EFI/<distro>/vmlinuzis three levels deep. In this patch this has been changed to 4, to also allow detection in a sub folder of a nested installation path.
verify whether the entries selected, either during creation or deletion, belong to the current distro if they are installed in
<ESP>/EFIby grep'ing the file path with the
Currently, Manjaro does not use Systemd's bootloader specification by default, and only installs the images in
/boot. This causes issues however if the sdbootloader is installed in alternative locations such as
/efi, and will be reported to the Manjaro dev team accompanied by this patch of the pacman installation hooks.
Therefore, to make Manjaro truly robust with systemd-boot installations with various installation directories, both the patch for sdboot-manage (this repo), and the pacman hooks patch in Manjaro itself need to be applied.