I did some more tests.

modules.d/90overlayfs installs the script that mounts the overlay
using this line:

inst_hook mount 01 "$moddir/mount-overlayfs.sh"

But the mount hooks of dracut are not executed at all.
Here's the part of init.log:


/init@229(): getarg rd.break=mount -d rdbreak=mount
/lib/dracut-lib.sh@153(getarg): debug_off
/lib/dracut-lib.sh@23(debug_off): set +x
/lib/dracut-lib.sh@216(getarg): return 1
/init@232(): _i_mount=0
/init@233(): :
/init@234(): ismounted /sysroot
/lib/dracut-lib.sh@525(ismounted): findmnt /sysroot
/init@235(): usable_root /sysroot
/lib/dracut-lib.sh@736(usable_root): local _i
/lib/dracut-lib.sh@738(usable_root): '[' -d /sysroot ']'
/lib/dracut-lib.sh@740(usable_root): for _i in "$1"/usr/lib*/ld-*.so 
"$1"/lib*/ld-*.so
/lib/dracut-lib.sh@741(usable_root): '[' -e '/sysroot/usr/lib*/ld-*.so' ']'
/lib/dracut-lib.sh@740(usable_root): for _i in "$1"/usr/lib*/ld-*.so 
"$1"/lib*/ld-*.so
/lib/dracut-lib.sh@741(usable_root): '[' -e '/sysroot/lib*/ld-*.so' ']'
/lib/dracut-lib.sh@744(usable_root): for _i in proc sys dev
/lib/dracut-lib.sh@745(usable_root): '[' -e /sysroot/proc ']'
/lib/dracut-lib.sh@744(usable_root): for _i in proc sys dev
/lib/dracut-lib.sh@745(usable_root): '[' -e /sysroot/sys ']'
/lib/dracut-lib.sh@744(usable_root): for _i in proc sys dev
/lib/dracut-lib.sh@745(usable_root): '[' -e /sysroot/dev ']'
/lib/dracut-lib.sh@748(usable_root): return 0
/init@235(): break


Because of the break this line is not executed in init.sh and the
overlay mount script is not executed.

line 238     for f in "$hookdir"/mount/*.sh; do

-- 
regards Thomas

Reply via email to