From owner-svn-src-all@FreeBSD.ORG Tue May 1 21:04:22 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DFBBF106564A; Tue, 1 May 2012 21:04:21 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25]) by mx1.freebsd.org (Postfix) with ESMTP id 62BD78FC16; Tue, 1 May 2012 21:04:21 +0000 (UTC) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 3D18025D3897; Tue, 1 May 2012 21:04:20 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 61FAEBE609C; Tue, 1 May 2012 21:04:19 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id fK-Iz+8yRJ8u; Tue, 1 May 2012 21:04:18 +0000 (UTC) Received: from orange-en1.sbone.de (orange-en1.sbone.de [IPv6:fde9:577b:c1a9:31:cabc:c8ff:fecf:e8e3]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id EF5E8BE609E; Tue, 1 May 2012 21:04:17 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: "Bjoern A. Zeeb" In-Reply-To: <201205011716.q41HG1fL036603@svn.freebsd.org> Date: Tue, 1 May 2012 21:04:17 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <25AED007-FC77-46EB-95AF-9715D33A486E@lists.zabbadoz.net> References: <201205011716.q41HG1fL036603@svn.freebsd.org> To: Marius Strobl X-Mailer: Apple Mail (2.1084) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234898 - in head/sys/boot: ofw/libofw sparc64 sparc64/boot1 sparc64/loader sparc64/zfsboot sparc64/zfsloader zfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2012 21:04:22 -0000 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 >=20 > 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. >=20 > Steps for ZFS booting: >=20 > 1. create VTOC8 label > # gpart create -s vtoc8 da0 >=20 > 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 > =3D> 0 143331930 da0 VTOC8 (68G) > 0 125821080 1 freebsd-zfs (60G) > 125821080 17510850 2 freebsd-swap (8.4G) >=20 > 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 ... >=20 > 4. set bootfs > # zpool set bootfs=3Dbunker bunker >=20 > 5. install zfsboot > # zpool export bunker > # gpart bootcode -p /boot/zfsboot da0 >=20 > 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=3D0x10 > # dd if=3D/boot/zfsloader of=3D/dev/da0a bs=3D512 oseek=3D1024 = conv=3Dnotrunc > # zpool import bunker >=20 > 7. install system on ZFS filesystem > Don't forget to set 'zfs_load=3D"YES"' and = vfs.root.mountfrom=3D"zfs:bunker" in > loader.conf as well as 'zfs_enable=3D"YES"'in rc.conf. >=20 > 8. copy zpool.cache to the ZFS filesystem > cp -p /boot/zfs/zpool.cache /bunker/boot/zfs/zpool.cache >=20 > 9. set mountpoint > # zfs set mountpoint=3D/ bunker >=20 > 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. Great news for spacr64 users however, I think. --=20 Bjoern A. Zeeb You have to have visions! It does not matter how good you are. It matters what good you do!