Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 May 2012 23:23:19 +0200
From:      Marius Strobl <marius@alchemy.franken.de>
To:        "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
Cc:        svn-src-head@freebsd.org, Marius Strobl <marius@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org
Subject:   Re: svn commit: r234898 - in head/sys/boot: ofw/libofw sparc64 sparc64/boot1 sparc64/loader sparc64/zfsboot sparc64/zfsloader zfs
Message-ID:  <20120501212319.GF18650@alchemy.franken.de>
In-Reply-To: <25AED007-FC77-46EB-95AF-9715D33A486E@lists.zabbadoz.net>
References:  <201205011716.q41HG1fL036603@svn.freebsd.org> <25AED007-FC77-46EB-95AF-9715D33A486E@lists.zabbadoz.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, May 01, 2012 at 09:04:17PM +0000, Bjoern A. Zeeb wrote:
> 
> On 1. May 2012, at 17:16 , Marius Strobl wrote:
> 
> > Author: marius
> > Date: Tue May  1 17:16:01 2012
> > New Revision: 234898
> > URL: http://svn.freebsd.org/changeset/base/234898
> > 
> > Log:
> >  Add initial support for booting from ZFS on sparc64. At least on Sun Fire
> >  V100, the firmware is known to be broken and not allowing to simultaneously
> >  open disk devices, causing attempts to boot from a mirror or RAIDZ to cause
> >  a crash. This will be worked around later. The firmwares of newer sun4u models
> >  don't seem to exhibit this problem though.
> > 
> >  Steps for ZFS booting:
> > 
> >  1. create VTOC8 label
> >  # gpart create -s vtoc8 da0
> > 
> >  2. add partitions, f.e.:
> >  # gpart add -t freebsd-zfs -s 60g da0
> >  # gpart add -t freebsd-swap da0
> >  resulting in something like:
> >  # gpart show
> >  =>        0  143331930  da0  VTOC8  (68G)
> >            0  125821080    1  freebsd-zfs  (60G)
> >    125821080   17510850    2  freebsd-swap  (8.4G)
> > 
> >  3. create zpool
> >  # zpool create bunker da0a
> >  or for mirror/RAIDZ (after preparing additional disks as in steps 1. + 2.):
> >  # zpool create bunker mirror da0a da1a
> >  # zpool create bunker raidz da0a da1a da2a ...
> > 
> >  4. set bootfs
> >  # zpool set bootfs=bunker bunker
> > 
> >  5. install zfsboot
> >  # zpool export bunker
> >  # gpart bootcode -p /boot/zfsboot da0
> > 
> >  6. write zfsloader to the ZFS Boot Block (so far, there's no dedicated tool
> >  for this, so dd(1) has to be used for this purpose)
> >  When using mirror/RAIDZ, step 4. and the dd(1) invocation should be repeated
> >  for the additional disks in order to be able to boot from another disk in
> >  case of failure.
> >  # sysctl kern.geom.debugflags=0x10
> >  # dd if=/boot/zfsloader of=/dev/da0a bs=512 oseek=1024 conv=notrunc
> >  # zpool import bunker
> > 
> >  7. install system on ZFS filesystem
> >  Don't forget to set 'zfs_load="YES"' and vfs.root.mountfrom="zfs:bunker" in
> >  loader.conf as well as 'zfs_enable="YES"'in rc.conf.
> > 
> >  8. copy zpool.cache to the ZFS filesystem
> >  cp -p /boot/zfs/zpool.cache /bunker/boot/zfs/zpool.cache
> > 
> >  9. set mountpoint
> >  # zfs set mountpoint=/ bunker
> > 
> >  10. Now, given that aliases for all disks in the zpool exists (check with
> >  the `devalias` command on the boot monitor prompt) and disk0 corresponds
> >  to da0 (likewise for additional disks), the system can be booted from the
> >  ZFS with:
> >  {1} ok boot disk0
> 
> 
> These steps belong into documentation (man page, handbook, ...) bit not really
> into the commit message.
> 

We've seen way larger commit messages across totally unrelated
parts in the past and the commit message seemed like a good place
for ensuring the instructions not getting lost for now ...
In any case, I'm desperately waiting for property editing on svn:log
to be enabled :)

Marius




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120501212319.GF18650>