Re: FreeBSD 10.0-RC3 Now Available

From: John Baldwin <jhb_at_freebsd.org>
Date: Fri, 27 Dec 2013 11:34:34 -0500
On Friday, December 27, 2013 11:08:08 am Warren Block 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

No, the ZFS MBR bootstrap doesn't use the "standard" boot block areas.
The only "standard" boot block area for ada0 is the MBR itself, but ZFS
uses a larger bootloader that installs one part into the MBR and another
part a few sectors later in the disk.  gpart has no knowledge of that AFAIK.

-- 
John Baldwin
Received on Fri Dec 27 2013 - 16:10:30 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:45 UTC