Creating a bootable ZFS disk?

Dr Josef Karthauser joe at tao.org.uk
Sat Dec 27 14:46:58 UTC 2014


I’m trying to create a new ZFS pool from an existing one (the new one is 4k aligned and the old one is legacy 512b).

But, I can’t get it to boot! Not sure what I’m doing wrong.

I thought I could create the new pool, and use ‘zfs send/recv’ to copy the existing pool and then boot onto the new disk, but the kernel doesn’t load… :(.

Does anyone know what I’m doing wrong?

Here’s my recipe:

	# gpart create -s gpt diskid/DISK-NEW-DISK
	# gpart add -s 64K -t freebsd-boot diskid/DISK-NEW-DISK
	# gpart add -t 8G freebsd-swap diskid/DISK-NEW-DISK
	# gpart add -t freebsd-zfs diskid/DISK-NEW-DISK
	# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 diskid/DISK-NEW-DISK

	# zfs create copy /dev/diskid/DISK-NEW-DISKp3
        # zfs send -R oldpool at 20141226 | zfs receive -duvF copy
        # zpool set bootfs=copy/ROOT/default copy

That ought to do it, right? But, if I remove all the existing drives and try and boot on just the new drive, it gets nowhere. I see the ‘/‘, but it doesn’t spin and doesn’t time out. :(.

Any clues would be gratefully received.

Many thanks,
Joe


More information about the freebsd-stable mailing list