Boot Loader Issue

Warren Block wblock at wonkity.com
Mon Jun 24 03:50:04 UTC 2013


On Sun, 23 Jun 2013, Michael Sierchio wrote:

> On Sun, Jun 23, 2013 at 4:12 PM, Polytropon <freebsd at edvax.de> wrote:
>> On Sun, 23 Jun 2013 15:47:53 -0700, Doug Hardie wrote:
>>> I need to alter mountroot so it tries the right partition/slice.
>>> How do I do that?  I couldn't find anything in the handbook on that.
>>
>> You need to install the GPT boot code, e. g.
>>
>>         # gpart add -t freebsd-boot -l gpboot -b 40 -s 512K ad0
>
> Why the offset?  Why 512k?

Block 40 is the first 4K-aligned block after the 32 blocks occupied by 
the GPT.  It won't hurt anything if the drive is not a 4K "Advanced 
Format" drive, won't really make a big difference if it is since 
bootcode is not really disk I/O-limited.  Just good practice to keep 
everything aligned.

512K is the largest size of bootcode that will work.  The loader loads 
the whole partition regardless of how large the bootcode is, and will 
fail with larger sizes.  It's no loss of space because the first UFS 
partition will start at 1M.  Why 1M?  Because it's an unofficial 
standard, and aligned with 4K, 8K, 128K, and so on.

This article talks about it a bit more:
http://www.wonkity.com/~wblock/docs/html/ssd.html

>>         # gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ad0
>
> I think it's simpler to make an entry in /boot/loader.conf:
>
> vfs.root.mountfrom="ufs:/dev/ada0s1a"

These are different things.  The command is for a GPT disk, and the boot 
device being set is for MBR.


More information about the freebsd-questions mailing list