On 21/11/2024 at 05:08, Holger Wansing wrote:

Please go ahead.

Now going into technical implementation details.

Script partman-partitioning/active_partition/toggle_bootable/choices enables the "Bootable flag" toggle in partition settings.

Script partman-partitioning/active_partition/toggle_bootable/do_option sets or clears the 'boot' flag.

Script partman-base/update.d/bootable syncs the "bootable" file in the partition directory with the 'boot' flag state.

Script partman-base/visual.d/bootable prints "B" in the partition view if the "bootable" file is present in the partition directory.

The same "bootable" file could be sync'ed with the 'legacy_boot' flag on GPT but other packages (I found partman-efi and partman-newworld) also interact with the 'boot' flag and the "bootable" file. partman-newworld was removed from the Debian archive years ago and was built only for powermac architectures (which do not use GPT) so it should not be an issue. However sync'ing the "bootable" file with the 'legacy_boot' flag interferes with partman-efi logic (in update.d/efi_sync_flag) and conversely [1].

So for now I chose to sync a separate file with the 'legacy_boot' flag. I also chose to do minimal changes to existing code rather than optimizing it, resulting in the following two merge requests for partman-base and partman-partitioning:

<https://salsa.debian.org/installer-team/partman-base/-/merge_requests/11>
<https://salsa.debian.org/installer-team/partman-partitioning/-/merge_requests/5>

[1] IMO partman-efi logic is flawed and should be fixed because it interferes with the 'boot' flag logic in partman-base in unexpected ways.

Reply via email to