fixes
authorBrad House <brad_mssw@gentoo.org>
Wed, 17 Dec 2003 04:42:06 +0000 (04:42 +0000)
committerBrad House <brad_mssw@gentoo.org>
Wed, 17 Dec 2003 04:42:06 +0000 (04:42 +0000)
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@26 67a159dc-881f-0410-a524-ba9dfbe2cb84

README
gen_initrd.sh
gen_moddeps.sh
generic/initrd.defaults
generic/initrd.scripts
generic/linuxrc
generic/modprobe
x86_64/modules_load

diff --git a/README b/README
index 1735896e8750bf9e418834946671a5c11664c6c5..d68d5487e3e9fdce5da5067dd1ffc9479d9b8401 100644 (file)
--- a/README
+++ b/README
@@ -1,9 +1,5 @@
 VERY EXPERIMENTAL
 seems to work so far on amd64 and x86
-I've only tested with 2.6 kernels, it's possible that
-the module-init-tools we use doesn't work with 2.4 in
-which case we need to compile modutils as well and
-provide a static binary for that....
 
 DEPENDANCIES:
 - bootsplash
index ce99418cec9428534a54cf54a95af8539ff81d95..c61d0d6c812ae9520222a579d29e0f5a069d9c44 100644 (file)
@@ -74,7 +74,7 @@ create_base_initrd_sys() {
 #      bunzip2 "${TEMP}/initrd-temp/etc/devfsd.conf.bz2" || gen_die "could not uncompress devfsd.conf"
 
        for i in '[' ash basename cat chroot clear cp dirname echo env false find \
-       grep gunzip gzip insmod ln ls loadkmap losetup lsmod mkdir mknod more mount mv \
+       grep gunzip gzip ln ls loadkmap losetup lsmod mkdir mknod more mount mv \
        pivot_root ps awk pwd rm rmdir rmmod sh sleep tar test touch true umount uname \
        xargs yes zcat chmod chown cut kill killall; do
                rm -f ${TEMP}/initrd-temp/bin/$i > /dev/null
index 1b2c19af49db49ab9ed22f3f7d63103d952e5ede..197633e41a51d892490dd3a1c5428aca9a537746 100644 (file)
@@ -52,7 +52,7 @@ gen_deps()
 gen_dep_list()
 {
        rm -f ${TEMP}/moddeps > /dev/null
-       gen_deps ${STORAGE_MODULES}
+       gen_deps ${SCSI_MODULES}
        gen_deps ${FIREWIRE_MODULES}
        gen_deps ${ATARAID_MODULES}
        gen_deps ${PCMCIA_MODULES}
index 4ccbe2bdb96b22ffc3c9ff39da2f943600cf4ae4..2fe9c896b2a20edf871b0a6165fad19657e34a63 100644 (file)
@@ -15,7 +15,7 @@ MY_HWOPTS="usb firewire"
 QUIET=1
 ROOT_LINKS="bin sbin lib lib64 boot usr opt"
 ROOT_TREES="etc root home var"
-if [ "$KMVER" = "2.6" ]
+if [ "${KMINOR}" -gt "4" ]
 then
        KSUFF=".ko"
        INSMOD="insmod"
@@ -23,6 +23,7 @@ else
        KSUFF=".o"
        INSMOD="insmod"
 fi
+
 REAL_ROOT=""
 CDROOT=0
 
index d6e11cf09d70cd680a3766b3ba43955188f2b120..14eba4ed65481c8315a41fe545b974e3d2c762b4 100644 (file)
@@ -13,11 +13,14 @@ parse_opt() {
 }
 
 modules_scan() {
-       for x in "`cat /etc/modules/${1}`"
+       local MODS
+       MODS=`cat /etc/modules/${1}`
+       for x in ${MODS}
        do
                echo -ne "${HILITE}---- Scanning for ${x}..."
-               MODULE=`find /lib/modules -name "${x}.$KSUFF"`
-               /sbin/modprobe -f ${MODULE} > /dev/null 2>&1
+#              MODULE=`find /lib/modules -name "${x}.$KSUFF"`
+               modprobe ${x}
+# > /dev/null 2>&1
                if [ $? -eq 0 ]
                then
                        backup
index c6525b025c71468df44f44630769bc3445e1455e..1269ada2fa704b6cbab5e666af718349d2c70548 100644 (file)
@@ -129,7 +129,7 @@ do
        else
                echo "STEP 4a: Mounting root"
 
-               mount -o ro ${REAL_ROOT} /newroot
+               mount -o rw ${REAL_ROOT} /newroot
                if [ "$?" = "0" ]
                then
                        break
@@ -174,8 +174,8 @@ then
        mount -t proc proc /proc
        mount -t devfs devfs /dev
        kill_devfsd
-       umount /initrd/proc
-       umount /initrd/dev
+       umount /tmp/.initrd/proc
+       umount /tmp/.initrd/dev
 
        # Uhh, initrd is wasting memory ... let's
        # kill the sucker here and now!
index 7a5367977ca6e43cb9a1fd0689b40d8ccbbb62fe..ceffdc7e8198eae6f69997199bd0de228d132caa 100755 (executable)
@@ -35,7 +35,7 @@ modules_dep_list()
                echo "modules_dep_list(): improper usage"
                exit 1
        fi
-       cat /lib/modules/${KV}/modules.dep | grep ${1}${KEXT}\: | cut -d\:  -f2
+       cat /lib/modules/${KV}/modules.dep | grep ${1}${KSUFF}\: | cut -d\:  -f2
 }
 
 
@@ -68,7 +68,7 @@ is_module_already_loaded()
 
        for x in ${LOADED_MODULES}
        do
-               if [ "${x}" == "${1}" ]
+               if [ "${x}" = "${1}" ]
                then
                        # Yep, module is loaded
                        return 0
@@ -79,7 +79,8 @@ is_module_already_loaded()
 
 real_mod_path()
 {
-       find /lib/modules/${KV}/ -path "*${1}${KEXT}"
+       # find doesn't work like we expect, let's add a grep to it
+       find /lib/modules | grep "${1}${KSUFF}"
 }
 
 modprobe2()
@@ -88,8 +89,14 @@ modprobe2()
        if [ "$#" != "1" ]
        then
                echo "modprobe(): improper usage"
+               exit 1
+       fi
+       real_path=`real_mod_path ${1}`
+       if [ "${real_path}" = "" -o "${real_path}" = " " ]
+       then
+               echo "no such module found"
+               exit 1
        fi
-
        modlist=`modules_dep_list ${1}`
        if [ "${modlist}" != "" -a "${modlist}" != " " ]
        then
@@ -97,8 +104,8 @@ modprobe2()
        else
                deps=""
        fi
-
-       echo "$1 -- DEPS=${deps}"
+#      echo ""
+#      echo "$1 -- DEPS='${deps}'"
        # Make sure we don't do any endless loops!
 
        LOADED_MODULES="${LOADED_MODULES} ${1}"
@@ -107,15 +114,17 @@ modprobe2()
        do
                if ! is_module_already_loaded ${x}
                then
-                       modprobe2 "${x}"
+                       if [ "${x}" != "" -a "${x}" != " " ]
+                       then
+                               modprobe2 "${x}"
+                       fi
                else
                        echo "skipping ${x}, module already loaded by us"
                fi
        done
+#      echo "running insmod on '${real_path}'"
+       ${INSMOD} ${real_path} > /dev/null 2>&1
 
-       real_path=`real_mod_path ${1}`
-       echo "running insmod on ${real_path}"
-       ${INSMOD} ${real_path}  
        return $?
 }
 
@@ -126,5 +135,5 @@ then
 fi
 
 modprobe2 ${1}
-return $?
+exit $?
 
index 809f4cd435e5969a0a63427095ded889af6eea40..1a2d13608afe1b8ffdb24e589439290e10fdb1ae 100644 (file)
@@ -11,7 +11,7 @@ aacraid sym53c8xx a100u2w cpqfc \
 dmx3191d dpt_i2o imm in2000 ips qla1280 \
 sim710 sym53c416"
 
-FIREWIRE_MODULES="ieee1394 ohci1394 eth1394 sbp2"
+FIREWIRE_MODULES="ieee1394 ohci1394 sbp2"
 
 ATARAID_MODULES="ataraid pdcraid hptraid"