U60 needs two tries to boot 8.3 UFS/ZFS?

Marius Strobl marius at alchemy.franken.de
Sat Apr 6 10:53:10 UTC 2013


On Sat, Apr 06, 2013 at 12:09:36AM -0500, Scott Newell wrote:
> At 10:46 PM 4/5/2013, Kurt Lidl wrote:
> >directory.  In other words, it probably wouldn't be too
> >hard to make it work when doing a cross-install from an
> >8.x host to a second disk on the same machine.
> 
> Very helpful! (I pulled the zfsloader from the 9.1 base install 
> set.)  I'm at 9.1 now, but it *still* traps on first boot!  I tried 
> setting the OBP boot-file env var, but it was no help.
> 
> 
> 
> OpenBoot 3.31, 2048 MB memory installed, Serial #12648430.
> Ethernet address 8:0:20:c0:ff:ee, Host ID: 00c0ffee.
> 
> Rebooting with command: boot /pci at 1f,4000/scsi at 3/disk at 0,0:a
> Boot device: /pci at 1f,4000/scsi at 3/disk at 0,0:a  File and args: /boot/zfsloader
> Trap 3e
> {0} ok boot
> Boot device: disk  File and args: /boot/zfsloader
> 
>  >> FreeBSD/sparc64 ZFS boot block
>      Boot path:   /pci at 1f,4000/scsi at 3/disk at 0,0:a
> Consoles: Open Firmware console
> /
> FreeBSD/sparc64 ZFS enabled bootstrap loader, Revision 1.0
> (root at heller.cse.buffalo.edu, Tue Dec  4 12:39:06 UTC 2012)
> bootpath="zfs:zroot:"
> 

The firmware emitting "Trap 3e" is rather unusual and I haven't
seen such behavior in case of exceptions before. Normally, its
reaction upon traps looks different, so I'm not sure whether this
is orthogonal to the remainder of your problem or not, but the
question rather is, why does your setup book at all :) The ZFS
boot blocks need a way to determine which disks are the providers
for the pool to boot from and on sparc64 this is done via the
boot-device OFW environment variable. That is, for a pool
spanning da0 and da1, boot-device needs to be set to "disk disk1"
(or for unambiguity, create a disk0 alias if not existent and
set boot-device to "disk0 disk1") and boot-file to the empty
string. Consequently, if you want to boot via ZFS from da1 only
(and have a separate UFS setup on da0), you need to install the
ZFS bootblocks to da1 instead and set boot-device to "disk1" and
issue a `boot disk1` (assuming the disk1 alias exists and points
to the disk corresponding to da1). Still, this would be a non-
default setup so YMMV.

Marius



More information about the freebsd-sparc64 mailing list