freebsd-update works quite well in tandem with boot environments. When doing minor upgrades (e.g. 12.0 -> 12.1), I can complete the entire upgrade in the BE and then boot into an upgraded system. But it's a little less convenient when doing major upgrades, because one must do "freebsd-update install" a final time after reinstalling ports, which must happen after the reboot. The sequence looks like this: # bectl create 13.0-BETA3 # bectl mount 13.0-BETA3 # freebsd-update -b /tmp/whatever -d /tmp/whatever/var/db/freebsd-update upgrade -r 13.0-RELEASE # freebsd-update -b /tmp/whatever -d /tmp/whatever/var/db/freebsd-update install # freebsd-update -b /tmp/whatever -d /tmp/whatever/var/db/freebsd-update install # reboot # pkg update # pkg upgrade # freebsd-update install It's easy to accidentally forget the "-d" argument. If you do that, then the final "freebsd-update install" won't work, and the only remedy is to revert to the old boot environment and try again. I propose that freebsd-update's workdir should default to ${BASEDIR}/var/db/freebsd-update . That would eliminate the need to specify "-d" in most cases, and it would be backwards compatible with the common use case where "-b" is not specified.
Can we close this as dup of Bug 235318? The report is identical.
*** This bug has been marked as a duplicate of bug 235318 ***