From 3ace12a1cc9050cdbb841ee41dea96bbe870fcb4 Mon Sep 17 00:00:00 2001 From: fake Date: Mon, 13 Mar 2006 10:38:31 +0000 Subject: [PATCH] fake: rockinitrd: mkinitrdnew.sh: also copy and load dependant modules (as in mkinitrd) [2006010619351118177] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@7118 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- package/blindcoder/rockinitrd/mkinitrdnew.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/package/blindcoder/rockinitrd/mkinitrdnew.sh b/package/blindcoder/rockinitrd/mkinitrdnew.sh index 2ccb0307f..63a46afc1 100644 --- a/package/blindcoder/rockinitrd/mkinitrdnew.sh +++ b/package/blindcoder/rockinitrd/mkinitrdnew.sh @@ -2,6 +2,7 @@ kernel=`uname -r` tmpdir=`mktemp -d` +modprobeopt=`echo $kernel | sed '/2.4/ { s,.*,-n,; q; }; s,.*,--show-depends,'` if [ -n "$1" ]; then if [ -d "/lib/modules/$1" ]; then @@ -17,8 +18,10 @@ echo "Creating /boot/initrdnew-${kernel}.img ..." mkdir -p $tmpdir/etc/conf grep '^modprobe ' /etc/conf/kernel | grep -v 'no-initrd' | \ sed 's,[ ]#.*,,' | \ - while read a b ; do - b="`find /lib/modules/$kernel -name "$b.o" -o -name "$b.ko"`" + while read a b ; do $a $modprobeopt -v $b 2> /dev/null; done | + while read a b c; do + [[ "$b" = *.ko ]] && b=${b/.ko/}; + b="`find /lib/modules/$kernel -wholename "$b.o" -o -wholename "$b.ko"`" echo "Adding $b." mkdir -p $tmpdir/${b%/*} cp $b $tmpdir/$b