bsdinstall ZFS /root in wrong dataset

Bryan Drewery bdrewery at FreeBSD.org
Sat Mar 22 12:40:26 UTC 2014


(I am not subscribed so please CC me)

The ZFS layout uses the zroot/ROOT/<BE> to support boot environments.
The problem with it is that /root is part of the BE. Home directories
are properly outside of the BE.

/root should really be outside to persist history and other changes to
root's homedir through BE changes/upgrades.

This is quite noticeable if you create a new BE (beadm create; beadm
mount) and then installworld/kernel into it, then activate and reboot.
All of your history and /root changes are missing for the period between
creating the BE and rebooting.

Something like this is needed:

> --- usr.sbin/bsdinstall/scripts/zfsboot (revision 263620)
> +++ usr.sbin/bsdinstall/scripts/zfsboot (working copy)
> @@ -128,6 +128,8 @@
> 
>         # Home directories separated so they are common to all BEs
>         /usr/home       # NB: /home is a symlink to /usr/home
> +       /root           mountpoint=/root
> 
>         # Ports tree
>         /usr/ports              compression=lz4,setuid=off


Though, I am unsure on whether we should make a zroot/root dataset and
mount it in or mkdir /usr/home/root and symlink /root to it. The symlink
does cause mergemaster confusion though. I have no opinion on where we
create the root dataset, as long as it is outside of ROOT.

-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 553 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-sysinstall/attachments/20140322/84235819/attachment.sig>


More information about the freebsd-sysinstall mailing list