X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=f87919db766908621428ab2e4f7e16ffb10c4792;hb=ec6ace3e481acae17235b1b54311800fd00adba6;hp=f257218a1bb41cbfba222f0693ab93ab5795f7df;hpb=74f22b03cd13d3be5a3dc56e90b587227c27eef0;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index f257218..f87919d 100755 --- a/scripts/live +++ b/scripts/live @@ -471,6 +471,9 @@ is_nice_device () elif echo ${sysfs_path} | grep -q "^/block/dm-" then return 0 + elif echo ${sysfs_path} | grep -q "^/block/mtdblock" + then + return 0 fi return 1 @@ -1206,9 +1209,16 @@ setup_unionfs () log_warning_msg "Unknown file system type on ${backdev} (${image}), assuming ${fstype}." fi - mkdir -p "${croot}/${imagename}" - log_begin_msg "Mounting \"${image}\" on \"${croot}${imagename}\" via \"${backdev}\"" - mount -t "${fstype}" -o ro,noatime "${backdev}" "${croot}/${imagename}" || panic "Can not mount ${backdev} (${image}) on ${croot}/${imagename}" && rofsstring="${croot}/${imagename}=${roopt}:${rofsstring}" && rofslist="${croot}/${imagename} ${rofslist}" + if [ "${UNIONTYPE}" != "unionmount" ] + then + mpoint="${croot}/${imagename}" + rofsstring="${mpoint}=${roopt}:${rofsstring}" && rofslist="${mpoint} ${rofslist}" + else + mpoint="${rootmnt}" + fi + mkdir -p "${mpoint}" + log_begin_msg "Mounting \"${image}\" on \"${mpoint}\" via \"${backdev}\"" + mount -t "${fstype}" -o ro,noatime "${backdev}" "${mpoint}" || panic "Can not mount ${backdev} (${image}) on ${mpoint}" log_end_msg fi done @@ -1322,6 +1332,9 @@ setup_unionfs () cow_mountopt="rw,noatime,mode=755" fi + if [ "${UNIONTYPE}" != "unionmount" ] + then + if [ "${cow_fstype}" = "nfs" ] then log_begin_msg \ @@ -1332,6 +1345,7 @@ setup_unionfs () mount -t ${cow_fstype} -o ${cow_mountopt} ${cowdevice} /cow || \ panic "Can not mount ${cowdevice} (o: ${cow_fstype}) on /cow" fi + fi rofscount=$(echo ${rofslist} |wc -w) @@ -1376,6 +1390,10 @@ setup_unionfs () pidof unionfs-fuse >> /dev/.initramfs/varrun/sendsigs.omit || true ;; + unionmount) + mount_full -t ${cow_fstype} -o noatime,union,${cow_mountopt} ${cowdevice} "${rootmnt}" || panic "${UNIONTYPE} ${cowdevice} on ${rootmnt} failed with option noatime,union,${cow_mountopt}" + ;; + *) mount -t ${UNIONTYPE} -o noatime,${noxino_opt}dirs=/cow=rw:${rofsstring} ${UNIONTYPE} "${rootmnt}" || panic "mount ${UNIONTYPE} on ${rootmnt} failed with option noatime,${noxino_opt}dirs=/cow=rw:${rofsstring}" ;; @@ -1470,7 +1488,7 @@ check_dev () echo "Warning: device for bootoption isofrom= ($FROMISO) not found.">>/live.log else mkdir /isofrom - mount "$ISO_DEVICE" /isofrom + mount -t auto "$ISO_DEVICE" /isofrom ISO_NAME="$(echo $FROMISO | sed "s|$ISO_DEVICE||")" loopdevname=$(setup_loop "/isofrom/${ISO_NAME}" "loop" "/sys/block/loop*" "" '') devname="${loopdevname}"