From: Munehiro Matsuda Date: Thu, 14 Jan 2010 15:32:09 +0000 (+0100) Subject: dmsquash: add support for loopmounted *.iso files X-Git-Tag: 004~9 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=651f3f3d1a3f58d58fd365962154e555017bd7ae;p=thirdparty%2Fdracut-ng.git dmsquash: add support for loopmounted *.iso files https://bugzilla.redhat.com/show_bug.cgi?id=548283 --- diff --git a/modules.d/90dmsquash-live/dmsquash-liveiso-genrules.sh b/modules.d/90dmsquash-live/dmsquash-liveiso-genrules.sh new file mode 100644 index 000000000..a196202ee --- /dev/null +++ b/modules.d/90dmsquash-live/dmsquash-liveiso-genrules.sh @@ -0,0 +1,7 @@ +if [ "${root%%:*}" = "liveiso" ]; then + ( + printf 'KERNEL=="loop0", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/dmsquash-live-root `/sbin/losetup -f --show %s`"\n' \ + ${root#liveiso:} + ) >> /etc/udev/rules.d/99-liveiso-mount.rules + echo '[ -e /dev/root ]' > /initqueue-finished/dmsquash.sh +fi diff --git a/modules.d/90dmsquash-live/install b/modules.d/90dmsquash-live/install index 7326945b2..76001586b 100755 --- a/modules.d/90dmsquash-live/install +++ b/modules.d/90dmsquash-live/install @@ -17,6 +17,7 @@ inst blockdev which checkisomd5 >/dev/null 2>&1 && inst checkisomd5 inst_hook cmdline 30 "$moddir/parse-dmsquash-live.sh" inst_hook pre-udev 30 "$moddir/dmsquash-live-genrules.sh" +inst_hook pre-udev 30 "$moddir/dmsquash-liveiso-genrules.sh" inst "$moddir/dmsquash-live-root" "/sbin/dmsquash-live-root" # should probably just be generally included inst_rules 60-cdrom_id.rules diff --git a/modules.d/90dmsquash-live/parse-dmsquash-live.sh b/modules.d/90dmsquash-live/parse-dmsquash-live.sh index 0641dde2b..81181f577 100755 --- a/modules.d/90dmsquash-live/parse-dmsquash-live.sh +++ b/modules.d/90dmsquash-live/parse-dmsquash-live.sh @@ -30,6 +30,10 @@ case "$liveroot" in root="${root#live:}" root="live:/dev/disk/by-uuid/${root#UUID=}" rootok=1 ;; + live:/*.[Ii][Ss][Oo]|/*.[Ii][Ss][Oo]) + root="${root#live:}" + root="liveiso:${root}" + rootok=1 ;; live:/dev/*) rootok=1 ;; esac