diff options
Diffstat (limited to 'initramfs/stage3-stuff/init')
-rwxr-xr-x | initramfs/stage3-stuff/init | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/initramfs/stage3-stuff/init b/initramfs/stage3-stuff/init index 16d0494e..535b3e02 100755 --- a/initramfs/stage3-stuff/init +++ b/initramfs/stage3-stuff/init @@ -689,8 +689,9 @@ fi runinithook '35-have-network-root' -# get the complete collection of kernel modules available -mount -n --bind /mnt/lib/modules /lib/modules || error "$init_moddir" +# get the complete collection of kernel modules and firmwares available +mount -n --bind /mnt/lib/modules /lib/modules && \ +mount -n --bind /mnt/lib/firmware /lib/firmware || error "$init_moddir" # start hardware configuration as background process if not a special # debuglevel (21) is used for the option of manual hwautocfg start if [ ${DEBUGLEVEL} = 21 ] ; then @@ -950,12 +951,17 @@ postinit runinithook '90-postinit-done' -# unmount the bind mounted modules directory and nfs /tmp/scratch (if present) +# unmount the bind mounted modules, firmware directories and nfs /tmp/scratch +# (if present) export ticks for ticks in 0 1 2 5 10 20 30; do sleep $ticks && umount -n /lib/modules 2>/dev/null && break error "$init_wait" nonfatal done +for ticks in 0 1 2 5 10 20 30; do + sleep $ticks && umount -n /lib/modules 2>/dev/null && break + error "$init_wait" nonfatal +done mount 2>/dev/null | grep -q "/tmp/scratch type nfs" && \ for ticks in 0 1 2 5 10 20 30; do sleep $ticks && umount -n /tmp/scratch 2>/dev/null && break |