Re: how to tell when biosboot partition is needed?

Richard Neuboeck <[email protected]>
Newsgroups gmane.linux.redhat.kickstart.general
Message-ID <[email protected]>
I've got an answer from David Lehman how the decision process for the
usage of biosboot works in anaconda:

Here is the entire decision tree:

- did the system boot in EFI mode or BIOS mode?
  - EFI
    - use gpt and never make biosboot
  - BIOS
    - is the disk larger than the max for msdos (2TB)?
      - yes
        - use gpt and ensure there's a biosboot partition
      - no
        - use msdos

So in my preinstall script I check for EFI capabilities and the disk size:

  # get disk size in GB
  DISKSIZE=`parted -sm /dev/$DEV unit GB print | grep -e "$DEV" | cut
-d: -f2 | sed -e 's/GB$//'`
  if [ -e /sys/firmware/efi -o $DISKSIZE -gt 2100 ]
  then
    # bios boot partition necessary
    echo "part biosboot --fstype=biosboot --size=1 --ondisk=$DEV" >>
$INCFILE
  fi

HTH
Richard


On 11.08.12 11:36, Richard Neuboeck wrote:
> Thanks!
> 
> I mulled over the sources but didn't find the indicators for the final
> selection of gpt over msdos as partition table label.
> 
> I'm not giving up yet :-)
> Richard
> 
> On 10.08.12 23:41, Steve Rikli wrote:
>> On Fri, Aug 10, 2012 at 09:57:26PM +0200, Richard Neuboeck wrote:
>>> Hi List,
>>>
>>> I'm in the same predicament as Steve. My manual test installs of
>>> Fedora 17 result in msdos and gpt partition table labels. Since I'm
>>> using kickstart and a pre install script to partition the disc I would
>>> also like to find a way to determine if a biosboot partition is
>>> necessary or not.
>>>
>>> The only sure reason to install a biosboot partition I could find was
>>> a disc >= 3TB.
>>>
>>> The UEFI test system I'm using definitely has UEFI enabled and since
>>> the disc has 3TB should use EFI. But I couldn't find efi in sysfs like
>>> anaconda tries to do to determine if it's an EFI capable system.
>>> However this system gets a gpt label in my tests. But I don't know how
>>> anaconda comes to that conclusion.
>>
>> I never heard/found any tips or other ideas, and I couldn't follow how
>> Anaconda decides what to do either; so I simply started grep'ing around
>> during a live %pre session to see what I could find.
>>
>> I came across /tmp/storage.log , which among many other things had a line
>> like this:
>>
>>     storage: registered device format class BIOSBoot as biosboot
>>
>> which was about the only reference I could find to "biosboot" in the
>> live Kickstart session.  I was thinking there might be something in
>> /proc/ or /sys/ or thereabouts, but found nothing I could make use of.
>>
>> In any case, my %pre disk partitioning script looks for that string, and
>> if found then it adds an entry for a biosboot partition similar to:
>>
>>     part biosboot --size 1 --fstype biosboot
>>
>> This method has the advantage of being independent of disk size, and
>> also doesn't perform additional partitioning actions on older releases
>> where /tmp/storage.log reports nothing about biosboot.  So I can keep
>> using the same %pre script to partition old & new Fedoras, CentOS, etc.
>>
>> The obvious peril is Fedora may change/move/etc. the string in some future
>> version of Anaconda, so I still occasionally keep an eye out for something
>> a bit more programmatic/definitive; we'll see how well it holds up.
>>
>> Cheers,
>> sr.
>>
>>
>>> So right now I'm only relying on the disk size to choose the partition
>>> layout in my preinstall script.
>>>
>>> Any pointers where I can find more details or information on how to
>>> make an educated guess on how to partition would be very welcome.
>>>
>>> Thanks!
>>> Richard
>>>
>>>
>>> On 09.06.12 01:00, Steve Rikli wrote:
>>>> Is there some programmatic way within Kickstart %pre to determine
>>>> if a "biosboot" partition is needed, or at least if it is an
>>>> available option/fstype?
>>>>
>>>> Like many folks, we create a "/tmp/partitions.inc" sort of
>>>> %include file in %pre, to partition the disk.
>>>>
>>>> Starting in Fedora16 a "part biosboot ..." partition is required, 
>>>> and ideally we'd like to be able to use the same %pre script to 
>>>> setup partitions on all the different Linux versions we need.
>>>>
>>>> We would be okay with "wasting" 1MB and always creating a biosboot 
>>>> partition for any Linux, but it's not a supported type prior to 
>>>> Fedora16, so that isn't an option.
>>>>
>>>> Thanks, sr.
>>>>
>>
>> _______________________________________________
>> Kickstart-list mailing list
>> [email protected]
>> https://www.redhat.com/mailman/listinfo/kickstart-list
>>
> 
> _______________________________________________
> Kickstart-list mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/kickstart-list
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.