U60 needs two tries to boot 8.3 UFS/ZFS?
Scott Newell
newell+sparc at n5tnl.com
Sat Apr 6 02:21:51 UTC 2013
I'm trying to do a 8.3-release UFS boot/ZFS root setup on an Ultra 60
(2*300 MHz, 2GB, 2*78 GB disks). I can boot into a standard FreeBSD,
OpenBSD, or Debian install, but not this ZFS install. At least not
the first time.
The first time I attempt to boot the disk, I get a "Trap 3e". If I
retry the boot from the OBP (OpenBoot 3.31) it works! I've tested on
two disks and two machines to rule out hardware.
Here's the serial output:
{0} ok boot disk
Boot device: /pci at 1f,4000/scsi at 3/disk at 0,0 File and args:
Trap 3e
{0} ok boot disk
Boot device: /pci at 1f,4000/scsi at 3/disk at 0,0 File and args:
>> FreeBSD/sparc64 boot block
Boot path: /pci at 1f,4000/scsi at 3/disk at 0,0:a
Boot loader: /boot/loader
Consoles: Open Firmware console
Booting with sun4u support.
FreeBSD/sparc64 bootstrap loader, Revision 1.0
(root at araz.cse.buffalo.edu, Mon Apr 9 23:14:08 UTC 2012)
bootpath="/pci at 1f,4000/scsi at 3/disk at 0,0:a"
Loading /boot/defaults/loader.conf
/boot/kernel/kernel data=0xa0b248+0x6e830 syms=[0x8+0xadc40+0x8+0xa05cc]
/boot/kernel/zfs.ko text=0x20ba50 data=0x5808+0x16eb0
syms=[0x8+0x168a8+0x8+0x11384]
loading required module 'opensolaris'
/boot/kernel/opensolaris.ko text=0x3168 data=0x3a0+0x830
syms=[0x8+0xd38+0x8+0x8eb]
I'm manually building this UFS boot/ZFS root system from a running
standard install, with the standard install on da0 and the ZFS
install is to da1. I power down and swap the disks to test it. I
think I've rebuilt this at least 3 times now with the same trap 3e.
I dd'd the first 32kb of both disks:
http://n5tnl.com/freebsd/sparc64/std_boot.bin
http://n5tnl.com/freebsd/sparc64/zdisk_boot.bin
Here's the recipe I used, slightly modified from
http://forums.freebsd.org/showthread.php?t=27728:
sysctl kern.geom.debugflags=0x10
gpart destroy -F da1
gpart create -s vtoc8 da1
sunlabel -B da1
gpart add -s 192M -t freebsd-ufs /dev/da1
gpart add -s 1G -t freebsd-swap /dev/da1
gpart add -t freebsd-zfs /dev/da1
kldload /boot/kernel/opensolaris.ko
kldload /boot/kernel/zfs.ko
zpool create -f -m /mnt zroot /dev/da1d
zpool set bootfs=zroot zroot
zfs set checksum=fletcher4 zroot
zfs set compression=lzjb zroot
zfs create zroot/usr
zfs create zroot/var
zfs create zroot/tmp
zfs create zroot/data
chmod 1777 /mnt/tmp
zpool export zroot
zpool import -o cachefile=/tmp/zpool.cache zroot
mkdir /mnt/bootdir
newfs -m 0 /dev/da1a
mount /dev/da1a /mnt/bootdir
cd /usr/freebsd-dist
export DESTDIR=/mnt
cd /usr/freebsd-dist/base; ./install.sh
cd /usr/freebsd-dist/kernels; ./install.sh generic
cd /usr/freebsd-dist/doc; ./install.sh
cd /usr/freebsd-dist/games; ./install.sh
cd /usr/freebsd-dist/dict; ./install.sh
cd /usr/freebsd-dist/manpages; ./install.sh
mkdir /mnt/boot/zfs
cp /tmp/zpool.cache /mnt/boot/zfs/zpool.cache
chroot /mnt
# Set rc.conf and boot/loader.conf
echo 'defaultrouter="192.168.0.1"' > /etc/rc.conf
echo 'hostname="zfs.localnet.net"' >> /etc/rc.conf
echo 'ifconfig_rl0="inet 192.168.0.14 netmask 255.255.255.0"' >> /etc/rc.conf
echo 'ntpdate_enable="YES"' >> /etc/rc.conf
echo 'ntpdate_hosts="192.168.0.6"' >> /etc/rc.conf
echo 'sshd_enable="YES"' >> /etc/rc.conf
echo 'ntpd_enable="YES"' >> /etc/rc.conf
echo 'zfs_enable="YES"' >> /etc/rc.conf
echo 'zfs_load="YES"' > /boot/loader.conf
echo 'vfs.root.mountfrom="zfs:zroot"' >> /boot/loader.conf
echo 'vfs.zfs.prefetch_disable="1"' >> /boot/loader.conf
echo 'console="ofw"' >> /boot/loader.conf
mv boot bootdir/
ln -s bootdir/boot /boot
chflags -h sunlink /boot
# Set fstab
echo '# Device Mountpoint FStype Options
Dump Pass#' > /etc/fstab
echo
'/dev/da0a /bootdir ufs rw 0
0' >> /etc/fstab
echo
'/dev/da0b none swap sw
0 0' > /etc/fstab
echo '/dev/cd0 /cdrom cd9660 ro,noauto 0 0' >> /etc/fstab
passwd
tzsetup
cd /etc/mail
make aliases
# Exit chroot
exit
cd
umount /mnt/bootdir
zfs umount -a
zfs set mountpoint=legacy zroot
zfs set mountpoint=/tmp zroot/tmp
zfs set mountpoint=/var zroot/var
zfs set mountpoint=/usr zroot/usr
zfs set mountpoint=/data zroot/data
Any thoughts? Thanks!
--
newell N5TNL
More information about the freebsd-sparc64
mailing list