From f5f3d6fa8705c100ef441510e9d7ad81af829ad5 Mon Sep 17 00:00:00 2001 From: Richard Yao Date: Sat, 7 Apr 2012 16:56:49 -0400 Subject: [PATCH] Enable real_root=ZFS to permit booting off ZFS --- defaults/linuxrc | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index 4a16462..3f13f77 100755 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -98,7 +98,7 @@ do ;; dozfs*) USE_ZFS=1 - MY_HWOPTS="${MY_HWOPTS} zfs" + if [ "${x#*=}" = 'force' ] then ZPOOL_FORCE=-f @@ -248,12 +248,23 @@ then REAL_ROOT="${FAKE_ROOT}" fi -# Disable ZFS when support is missing -if [ "USE_ZFS" = "1" -a ! -x /sbin/zfs ] +# Set variables based on the value of REAL_ROOT +case "${REAL_ROOT}" in + ZFS*) + USE_ZFS=1 + ;; +esac + +# Verify that it is safe to use ZFS +if [ "USE_ZFS" = "1" ] then - USE_ZFS=0 - MY_HWOPTS=$(echo ${MY_HWOPTS} | sed -e 's/ zfs//g') - bad_msg 'zfs binary not found: aborting use of zfs!' + if [ -x /sbin/zfs ] + then + MY_HWOPTS="${MY_HWOPTS} zfs" + else + bad_msg 'zfs binary not found: aborting use of zfs!' + USE_ZFS=0 + fi fi splash 'init' -- 2.26.2