Booting from ZFS
Greg Rivers
gcr+freebsd-stable at tharned.org
Wed Mar 25 04:56:48 UTC 2015
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
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
More information about the freebsd-stable
mailing list