Booting from ZFS

Bob Bishop rb at gid.co.uk
Wed Mar 25 09:56:44 UTC 2015


Hi,

> On 25 Mar 2015, at 04:56, Greg Rivers <gcr+freebsd-stable at tharned.org> wrote:
> 
> I'm trying to build a bootable ZFS system on a USB drive.  Using the procedure below results in the following error when I try to boot:
> 
> 	gptzfsboot: error 66 LBA 48
> 	gptzfsboot: error 66 LBA 1
> 	gptzfsboot: No ZFS pools located, can't boot

Presumably gptzfsboot relies on the BIOS mapping the USB device into a DOS device. Do you have that support turned on in the BIOS?

> I'm using the dist files from the latest STABLE snapshot on a system running 10.1-STABLE r279968 amd64.  I've tried it with and without file system compression.  I found a similar report[1] in the FreeBSD Forums, but there was no conclusion to that posting.
> 
> What am I doing wrong?
> 
> [1] https://forums.freebsd.org/threads/freebsd-10-w-fresh-root-on-zfs-fails-to-boot.47651/#post-266106
> ---------------------------------------------------------------------------
> #!/bin/ksh
> set -x -e
> 
> DISK=diskid/DISK-4C530009730530116424
> TMPDIR=/mnt
> 
> gpart destroy -F ${DISK} || :
> gpart create -s GPT ${DISK}
> gpart add -a 4k -s 512k -t freebsd-boot ${DISK}	# p1
> gpart add -a 4k -s 1g -t freebsd-swap ${DISK}	# p2
> gpart add -a 4k -t freebsd-zfs ${DISK}		# p3
> gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ${DISK}
> 
> sysctl vfs.zfs.min_auto_ashift=12
> zpool create -o altroot=${TMPDIR} -m none -f syspool ${DISK}p3
> zfs create -o mountpoint=none syspool/ROOT
> zfs create -o mountpoint=/ -o compression=lz4 syspool/ROOT/default
> zpool set bootfs=syspool/ROOT/default syspool
> zfs create -o mountpoint=/var -o compression=lz4 syspool/var
> zfs create -o mountpoint=/usr -o compression=lz4 syspool/usr
> zfs create -o mountpoint=/home -o compression=lz4 syspool/home
> 
> for DIST in base kernel lib32 games doc
> do
> 	fetch -o - ftp://ftp.freebsd.com/pub/FreeBSD/snapshots/amd64/amd64/10.1-STABLE/${DIST}.txz | tar -C ${TMPDIR} -x -f -
> done
> 
> cat <<\! >${TMPDIR}/boot/loader.conf
> zfs_load="YES"
> !
> cat <<\! >${TMPDIR}/etc/rc.conf
> zfs_enable="YES"
> !
> cat <<\! >${TMPDIR}/etc/fstab
> # Device	Mountpoint	FStype		Options	Dump	Pass#
> /dev/da0p2	none		swap		sw	0	0
> tmpfs		/tmp		tmpfs		rw	0	0
> procfs		/proc		procfs		rw	0	0
> fdescfs		/dev/fd		fdescfs		rw	0	0
> !
> 
> zpool export syspool
> ---------------------------------------------------------------------------
> -- 
> Greg Rivers
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
> 

--
Bob Bishop
rb at gid.co.uk






More information about the freebsd-stable mailing list