Beatm is used to manage boot environments. That can help you to rollback an upgrade in case it makes problems.
To install it:
/usr/ports/sysutils/beadm make install make clean
Convert existing ZFS structure to beadm required structure
We have an already existing standard ZFS folder structure. To get this working with boot environments we have to modify it a little bit.
At first we install beadm:
portsnap fetch portsnap extract cd /usr/ports/sysutils/beadm make install clean
Now we clone our existing system and convert it to beadm aware structure:
zfs create -o mountpoint=none zroot/ROOT zfs snapshot zroot@be zfs clone zroot@be zroot/ROOT/default zpool set bootfs=zroot/ROOT/default zroot reboot (before executing this, make sure you are on FreeBSD 9.2 and to pool to boot is not defined in /boot/loader.conf)
Now we can run the beadm tool.
To finish it now, we remove the old structure:
zfs promote zroot/ROOT/default mkdir /mnt/test zfs set mountpoint=/mnt/test zroot cd /mnt/test chflags -R noschg * rm -R * rm -R .* cd .. zfs set mountpoint=none zroot
Upgrade system with beadm support
beadm list beadm activate default reboot