summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bsdinstall
diff options
context:
space:
mode:
authorallanjude <allanjude@FreeBSD.org>2016-05-23 15:11:01 +0000
committerallanjude <allanjude@FreeBSD.org>2016-05-23 15:11:01 +0000
commitc7a0643d1cbea585773ab642582ec3f5e7fcc953 (patch)
tree53005e81640ce003b9783d87fbdcee1da7cbf5a8 /usr.sbin/bsdinstall
parent7ddccc27cd3b8cf9bef3dd5b7b71c8b82e914386 (diff)
downloadFreeBSD-src-c7a0643d1cbea585773ab642582ec3f5e7fcc953.zip
FreeBSD-src-c7a0643d1cbea585773ab642582ec3f5e7fcc953.tar.gz
Fix error in bsdinstall where additional filesystems cannot be mounted
Do not set canmount=noauto on the boot environment at create time, because this causes / to not be mounted, and since the chroot is read only, new mountpoints cannot be created. The property is set later, when other properties are adjusted Reported by: HardenedBSD Sponsored by: ScaleEngine Inc.
Diffstat (limited to 'usr.sbin/bsdinstall')
-rwxr-xr-xusr.sbin/bsdinstall/scripts/zfsboot6
1 files changed, 5 insertions, 1 deletions
diff --git a/usr.sbin/bsdinstall/scripts/zfsboot b/usr.sbin/bsdinstall/scripts/zfsboot
index b4b9f52..f191c55 100755
--- a/usr.sbin/bsdinstall/scripts/zfsboot
+++ b/usr.sbin/bsdinstall/scripts/zfsboot
@@ -143,7 +143,7 @@ f_isset ZFSBOOT_DATASETS || ZFSBOOT_DATASETS="
# Boot Environment [BE] root and default boot dataset
/$ZFSBOOT_BEROOT_NAME mountpoint=none
- /$ZFSBOOT_BEROOT_NAME/$ZFSBOOT_BOOTFS_NAME mountpoint=/,canmount=noauto
+ /$ZFSBOOT_BEROOT_NAME/$ZFSBOOT_BOOTFS_NAME mountpoint=/
# Compress /tmp, allow exec but not setuid
/tmp mountpoint=/tmp,exec=on,setuid=off
@@ -1310,6 +1310,10 @@ zfs_create_boot()
"mountpoint=/$zroot_name" "$zroot_name" ||
return $FAILURE
+ f_dprintf "$funcname: Set canmount=noauto for the root of the pool..."
+ f_eval_catch $funcname zfs "$ZFS_SET" "canmount=noauto" \
+ "$ZFSBOOT_BEROOT_NAME/$ZFSBOOT_BOOTFS_NAME"
+
# Touch up permissions on the tmp directories
f_dprintf "$funcname: Modifying directory permissions..."
local dir
OpenPOWER on IntegriCloud