Bug#1086860: systemd: promote bootctl from systemd-boot

2024-11-08 Thread E Shattow
 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

2024-11-08 Thread Kevin P. Fleming
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

2024-11-06 Thread Luca Boccassi
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

2024-11-06 Thread E Shattow
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.