FreeBSD 10.0-RC3 Now Available
Thomas Hoffmann
trh411 at gmail.com
Fri Dec 27 16:24:46 UTC 2013
After I posted, it occurred to me to check out the
../bsdinstall/scripts/zfsboot script to see how the boot code was laid
down when the MBR was created. It shows only:
dd if=/boot/zfsboot of=/dev/ada0s1 count =1
But, adding to my confusion, the FreeBSD wiki for ZFS on root (MBR-style)
shows something very close to what Mathieu suggested.
Unfortunately, I'm using an iMac with FreeBSD as the only OS. MBR is the
only way I can get it to boot after an install.
Looks like I've got some testing (and possible system restores) ahead of me.
Thanks.
On Fri, Dec 27, 2013 at 11:08 AM, Warren Block <wblock at wonkity.com> wrote:
> On Fri, 27 Dec 2013, Mathieu Arnold wrote:
>
> +--On 27 décembre 2013 10:28:07 -0500 Thomas Hoffmann <trh411 at gmail.com>
>> wrote:
>> | All the examples I've seen for updating bootcode assume GPT. If one has
>> | MBR (as I do) and assuming the following basic scheme:
>> |
>> | gpart show ada0
>> | => 63 976773105 ada0 MBR (466G)
>> | 63 976773105 1 freebsd [active] (466G)
>> |
>> | gpart show ada0s1
>> | => 0 976773105 ada0s1 BSD (466G)
>> | 0 943218736 1 freebsd-zfs (450G)
>> | 943218736 33554369 2 freebsd-swap (16G)
>> |
>> | would the equivalent bootcode statement be:
>> |
>> | gpart bootcode -b /boot/pmbr -p /boot/zfsboot ada0s1
>>
>
> No, the PMBR is for GPT partitioning only.
>
>
> | where the boot code is /boot/zfsboot (rather than /boot/gptzfsboot) and
>> | ada0s1 is the slice on which FreeBSD is installed?
>>
>> Hum, no, if you're using MBR and not GPT, you can't use gpart,
>>
>
> Why not? gpart is not GPT-specific. It handles MBR and BSDlabel bootcode
> correctly.
>
>
> you have to
>> do something aweful like this :
>> # dd if=/boot/zfsboot of=/dev/ada0 count=1
>>
>
> That will overwrite the MBR partition table.
>
>
> # sysctl kern.geom.debugflags=0x10
>> # dd if=/boot/zfsboot of=/dev/ada0 skip=1 seek=1024
>>
>
> That seems dangerous. I have not tried with zfsboot, but this should be
> close:
>
> # gpart bootcode -b /boot/zfsboot ada0
> # gpart bootcode -b /boot/zfsboot ada0s1
>
> Untested! The first one may need to use /boot/mbr. A better way to do
> this, provided the system does not have a broken BIOS, would be to backup,
> repartition with GPT, and restore, avoiding the complication of multiple
> partitioning schemes.
More information about the freebsd-current
mailing list