On 10/04/2023 at 15:13, Steve McIntyre wrote:

Overall comment: I'm not trying to make the heuristics 100% reliable
here, as I don't think that's actually possible. Instead, I'm trying
to tread the fine line of:

  * minimising false negatives - let's try to pick up on the most
    common cases where people are dual-booting with other systems and
    might not understand the issues here. That's 99%+ going to be
    people with Windows installed

  * minimising false positives - the issue that angered Cyril in
    particular, with an incomplete LVM setup triggering the "bios
    bootable OS" warning

IMO it is more important to avoid false positives, because switching to a BIOS installation on systems which are not BIOS-boot capable would create a non bootable system. In case oft is easier to install GRUB for BIOS boot on an running EFI system than the other way around.

- Other BIOS boot loaders such as syslinux/extlinux do not need or use a BIOS
boot partition.

Also not a use case I'm particularly caring about, I'll be
honest. They're also *really* not likely to work well without another
filesystem in use, which I expect we'll detect anyway.

Indeed other partitions are needed and will be detected, but they will not increment $NUM_NOT_ESP if the disk is GPT and has no BIOS boot partition (so $DISK_BIOS_BOOT=no), so it might cause a false negative. So why not just treat MSDOS and GPT disk labels equally and treat BIOS boot partitions like any other non-ESP ?

1b) IIUC the patch fixes #1033913 because the disk selected for installation
has received a new GPT disklabel without a BIOS boot partition, so further
checking is skipped. But IMO the root cause of #1033913 is that changes are
not committed to disk after setting the 'boot' and 'esp' flags to the newly
created ESP partition before stopping parted_server.

I originally thought about fixing partman-auto-lvm but it appears that other transient states can also trigger the "force UEFI installation" dialog during partitioning, for example after setting up LVM in manual partitioning if there is no ESP partition yet. As discussed in #debian-boot, a more general fix might be to run the check only once because only existing partitions before partitioning are relevant. Are there any use cases for which this might cause a false negative ?

4) It appears that partman fails to detect the specially crafted partition
table on the installation media created with a debian image. Is it intended
or fortunately unintentional ? If partman could see the EFI partition on the
installation media, the detection of BIOS-bootable systems would fail.

That's not a worry for today... :-)

Sure, but the issue can also happen if another removable media is present. For instance the USB drive I use to provide missing firmware has an ESP partition (and a regular partition table) thus can cause a false negative.

Reply via email to