[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#491376: recipe for BIOS-based boot on gpt



On Wednesday 06 August 2008, Robert Millan wrote:
> Attached patch makes it generate the x86 variant dynamicaly at build
> time, as requested by Jérémy on IRC.

This patch gets a huge NACK from me.

1) The use-case is insufficiently clear

The reason _why_ a separate partition is required at all has (at least for 
me) not been sufficiently explained. So far my impression is that all 
this is just one huge ugly hack needed when GPT and some otherwise 
undefined "BIOS-based bootloader" are combined, but I have no idea yet 
for which type of systems that would be.
I may be completely wrong, but it's up to the submitter to provide 
sufficient information. Instead we only get hackish patches without the 
context.

I know there are several other arches where a bootloader partition is 
required, but in those cases such a partition at least has a separate 
partition type to indicate its use (example: the Linux/PA-RISC (f0) 
partition [1]) and there is a clear relationship between the (sub)arch, 
the extra partition and the bootloader that will be installed by D-I.

2) The implementation is a huge hack

Because x86 is essentially the "reference arch" for D-I any implementation 
that adds a separate bootloader partition should
- define 100% exactly when it is needed
- ensure it is created *only* in that use-case
- not burden any other use case with unneeded cruft
- be extremely clean with sufficient comments to document why it is needed

All patches proposed so far fail these criteria in one way or another. It 
seems to me that all of them can result in the extra partition getting 
created when it is not actually needed.


According to an earlier mail this BR is somehow related to #488111. 
However, nowhere in the patches proposed so far do I see the BIOS boot 
partition flag getting set.
At this point I am more inclined to revert the patch committed for #488111 
than to allow any change to partman-auto...

If the flag and this partition _are_ related then partman should ensure 
that the BIOS boot partition flag can only be set on a BIOS boot 
partition and not on any random other partition.
If the BIOS boot partition needs to be a separate partition because its 
usage means any file system data could get overwritten, then partman 
should ensure that such a partition cannot be used for a file system. The 
current flag does not do that.

Before we can move forward here submitter should IMO provide a lot better 
explanation and specification of exactly why and when and for which type 
of systems/installs all this uglyness is needed.

My current feeling is that if it is demonstrated after that that a 
separate bootloader partition really is needed, it should either
- be added based on the detection of a separate subarch (and thus
  *separate* recipes), or
- be added at runtime on top of a normal, clean recipe based on very
  specific and targeted tests (similar to the way a /boot partition is
  added automatically when LVM is used).

Also, it should possibly be integrated with the selection of the 
bootloader (or rather, it should ensure that if such a partition is 
created that a BIOS-based bootloader is actually what is used later on).

All in all, I doubt this is something that can be implemented _cleanly_ in 
time for Lenny.

Cheers,
FJP

[1] Note that there are several issues with the current support for the 
PA-RISC bootloader partition and its partman flag. See e.g. #353573 for 
details.

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: