diff --git a/modules.d/90dmsquash-live/apply-live-updates.sh b/modules.d/90dmsquash-live/apply-live-updates.sh index d620f2c9..6a1993be 100755 --- a/modules.d/90dmsquash-live/apply-live-updates.sh +++ b/modules.d/90dmsquash-live/apply-live-updates.sh @@ -1,17 +1,20 @@ #!/bin/sh -if [ -b /dev/mapper/live-rw ] && [ -d /updates ]; then +if [ -b /dev/mapper/live-rw ] && [ -d /run/initramfs/live/updates -o -d /updates ]; then info "Applying updates to live image..." mount -o bind /run $NEWROOT/run # avoid overwriting symlinks (e.g. /lib -> /usr/lib) with directories - ( - cd /updates - find . -depth -type d | while read dir; do - mkdir -p "$NEWROOT/$dir" - done - find . -depth \! -type d | while read file; do - cp -a "$file" "$NEWROOT/$file" - done - ) + for d in /updates /run/initramfs/live/updates; do + [ -d "$d" ] || continue + ( + cd $d + find . -depth -type d | while read dir; do + mkdir -p "$NEWROOT/$dir" + done + find . -depth \! -type d | while read file; do + cp -a "$file" "$NEWROOT/$file" + done + ) + done umount $NEWROOT/run fi diff --git a/modules.d/90dmsquash-live/module-setup.sh b/modules.d/90dmsquash-live/module-setup.sh index 11f81219..a113c3ff 100755 --- a/modules.d/90dmsquash-live/module-setup.sh +++ b/modules.d/90dmsquash-live/module-setup.sh @@ -22,7 +22,7 @@ installkernel() { # called by dracut install() { - inst_multiple umount dmsetup blkid dd losetup grep blockdev + inst_multiple umount dmsetup blkid dd losetup grep blockdev find inst_multiple -o checkisomd5 inst_hook cmdline 30 "$moddir/parse-dmsquash-live.sh" inst_hook cmdline 31 "$moddir/parse-iso-scan.sh"