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.