Bug#1086860: systemd: promote bootctl from systemd-boot
Hi Kevin, On Fri, 08 Nov 2024 06:39:28 -0500 "Kevin P. Fleming" wrote: > The information you seek can be obtained using 'findmnt' from the util-linux package, without any dependency on systemd. > > $ findmnt -n -l --output "source" "/efi" > /dev/sdg1 `bootctl` triggers the systemd automount of esp (which is what happens in the installed Debian/Linux system anyways not specific to any boot loader installed on the system) then has an order of preference: environment variable SYSTEMD_ESP_PATH /efi /boot /boot/efi The suggested use of findmnt is not equivalent here. In context of dtb installation that I am naming as an example we are only concerned about which mount point corresponds to a valid esp (in the order that is compatible with systemd). If the esp is needing to be mounted then bootctl does this action, which findmnt does not. Thank you though. I disagree with closing this wontfix and the assertion inferred by Luca that bootctl is in conflict with GRUB2. The bootctl is a general systemd user interface compatible with bootloaderspec. We are already subject to systemd automount of esp whether or not systemd-boot package is installed, and independent of what boot loader is installed or in use; There is just not any user interface for this when bootctl command is being excluded from the base system. The bug is that lack of a user interface to what is already happening - systemd automounts esp whether we like it or not, regardless of boot loader, and the intended tool for this is uninstallable because the systemd-boot packaging requires installing systemd boot loader to be successful. Luca, if you are correct, and these boot loaders are in conflict, then promotion of bootctl command to systemd package is the answer so that the conflict may be realized to prevent GRUB2 and systemd boot loader from competing. If these are not in conflict, then systemd-boot package as a means of providing bootctl command needs to be fixed so it is installable along with GRUB2. This is an invented problem here in Debian that does not exist in the upstream software. I was told that: "for archlinux bootctl and systemd-boot is part of the systemd package, but no postinst script tries to run bootctl install or similar as far as I can tell" "on fedora bootctl is part of systemd-udev, but the efi binary is in systemd-boot-unsigned which also doesn't seem to have a postinst script" "on ubuntu bootctl is part of systemd-boot, but the postinst script doesn't fail like it does on debian" Which is it? They conflict or do not? I would like to have a user interface for what systemd is doing with esp and not re-invent this as a shell script.
Bug#1086860: systemd: promote bootctl from systemd-boot
The information you seek can be obtained using 'findmnt' from the util-linux package, without any dependency on systemd. $ findmnt -n -l --output "source" "/efi" /dev/sdg1
Bug#1086860: systemd: promote bootctl from systemd-boot
Control: tags -1 wontfix Control: close -1 On Wed, 6 Nov 2024 09:39:08 -0800 E Shattow wrote: > Package: systemd > Version: 256.7-3 > Severity: normal > > Dear Maintainer, > > There is need in scripts and installation procedures for reliable > reporting of the EFI System Partition location that is mounted by > systemd: > > # bootctl -R > /boot/efi > > # bootctl -p > /dev/mmcblk0p2 > > However in common situations it is not possible (or not wanted) to > install the systemd boot loader currently in systemd-boot package, > which does contain the `bootctl` utility. > > Please promote or make available in packaging the `bootctl` command so > that it may be used in riscv64 architecture debian-installer (for > example) where to install devicetree dtb files. Another example of > where this may be useful is in the installation of Grub boot loader > that currently hard-codes the path as `/boot/efi` which is not > compatible with how the system actually mounts EFI System Partition, > as it may not always be in that location. Firstly though we need a > consistent reporting of where systemd has mounted EFI System Partition > and this is not present in /etc/fstab or any other configured file. > > This is necessary for trixie to resolve how the EFI System Partition > path can be determined within debian-installer so that the installed > system is bootable. Sorry, but I have no intention of 1) adding more udebs for d-i, and 2) supporting the combination of bootctl and GRUB2. GRUB2 is the default bootloader in Debian, and you should use it with the toolings and assumptions that come with it. bootctl is for systemd-boot.
Bug#1086860: systemd: promote bootctl from systemd-boot
Package: systemd Version: 256.7-3 Severity: normal Dear Maintainer, There is need in scripts and installation procedures for reliable reporting of the EFI System Partition location that is mounted by systemd: # bootctl -R /boot/efi # bootctl -p /dev/mmcblk0p2 However in common situations it is not possible (or not wanted) to install the systemd boot loader currently in systemd-boot package, which does contain the `bootctl` utility. Please promote or make available in packaging the `bootctl` command so that it may be used in riscv64 architecture debian-installer (for example) where to install devicetree dtb files. Another example of where this may be useful is in the installation of Grub boot loader that currently hard-codes the path as `/boot/efi` which is not compatible with how the system actually mounts EFI System Partition, as it may not always be in that location. Firstly though we need a consistent reporting of where systemd has mounted EFI System Partition and this is not present in /etc/fstab or any other configured file. This is necessary for trixie to resolve how the EFI System Partition path can be determined within debian-installer so that the installed system is bootable.