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 <wbl...@wonkity.com> wrote:

> On Fri, 27 Dec 2013, Mathieu Arnold wrote:
>
>  +--On 27 d├ęcembre 2013 10:28:07 -0500 Thomas Hoffmann <trh...@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.
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to