--- linuxrc 2006-09-14 09:49:24.000000000 -0500 +++ linuxrc.real_rootflags 2006-09-14 09:50:09.150092396 -0500 @@ -51,6 +51,7 @@ CMDLINE="`cat /proc/cmdline`" # Scan CMDLINE for any specified real_root= or cdroot arguments REAL_ROOT='' +REAL_ROOTFLAGS='' for x in ${CMDLINE} do case "${x}" in @@ -175,6 +176,9 @@ nfsroot\=*) NFSROOT=`parse_opt "${x}"` ;; + real_rootflags\=*) + REAL_ROOTFLAGS=`parse_opt "${x}"` + ;; esac done @@ -413,7 +417,12 @@ # mount ro so fsck doesn't barf later # REAL_ROOT_TYPE=`vol_id -t ${REAL_ROOT}` # mount -t ${REAL_ROOT_TYPE} -o ro ${REAL_ROOT} ${NEW_ROOT} - mount -o ro ${REAL_ROOT} ${NEW_ROOT} + if [ "${REAL_ROOTFLAGS}" = '' ]; then + mount -o ro ${REAL_ROOT} ${NEW_ROOT} + else + good_msg "Using mount -o ro,${REAL_ROOTFLAGS}" + mount -o ro,${REAL_ROOTFLAGS} ${REAL_ROOT} ${NEW_ROOT} + fi fi # If mount is successful break out of the loop