The loop driver could be a module and would never be loaded, so the
iso-scan never takes place.
To let the iso-scan happen, it is now placed into the initqueue/settled
unconditionally.
[ -z "$isofile" ] && exit 1
-ismounted "/run/initramfs/isoscan" && exit 1
+ismounted "/run/initramfs/isoscan" && exit 0
mkdir -p "/run/initramfs/isoscan"
isofile=$(getarg iso-scan/filename)
if [ -n "$isofile" ]; then
- {
- printf 'KERNEL=="loop0", RUN+="/sbin/initqueue --settled --unique /sbin/iso-scan %s"\n' \
- "'${isofile}'"
- } >> /etc/udev/rules.d/99-isofile-mount.rules
+ /sbin/initqueue --settled --unique /sbin/iso-scan "$isofile"
fi