]> git.pld-linux.org Git - projects/geninitrd.git/commitdiff
- drop trash support (trash is dead)
authorArtur Frysiak <artur@frysiak.net>
Tue, 19 Feb 2002 14:43:13 +0000 (14:43 +0000)
committerArtur Frysiak <artur@frysiak.net>
Tue, 19 Feb 2002 14:43:13 +0000 (14:43 +0000)
- rename --fs to --initrdfs (less confusion but incompatible change :( )
- new configuration option EXIT_IF_MISSING (is set to "no" then warn about missing modules but continue)
- disable root on loop device (need rewrite for bsp)

svn-id: @1227

geninitrd

index 055fb933144db5374ce563afa4a87b1cde24ff26..52e78ec8878d7f78b62fb3981bf8e3587cd03062 100755 (executable)
--- a/geninitrd
+++ b/geninitrd
@@ -6,7 +6,7 @@
 #
 # based on mkinitrd from RedHat
 
-RCSID='$Id: geninitrd,v 2.12 2002/01/29 11:19:51 malekith Exp $'
+RCSID='$Id: geninitrd,v 2.13 2002/02/19 14:43:13 wiget Exp $'
 PATH=/sbin:$PATH
 export PATH
 
@@ -16,7 +16,6 @@ VERSION="`echo "$RCSID"|awk '{print $3}'`"
 
 COMPRESS="yes"
 FS="rom"
-USEBSP="yes"
 USERAIDSTART="no"
 # it should be safe to remove scsi_mod from here, but I'm not sure...
 PRESCSIMODS="-scsi_mod unknown -sd_mod"
@@ -34,7 +33,7 @@ fstab="/etc/fstab"
 usage () {
        echo "usage: `basename $0` [--version] [-v] [-f] [--ifneeded] [--preload <module>]" 1>&2
        echo "       [--with=<module>] [--image-version] [--fstab=<fstab>] [--nocompress]" 1>&2
-       echo "       [--fs=rom|ext2|cram] [--no-bsp] [--modules-conf=<modules.conf>]" 1>&2
+       echo "       [--initrdfs=rom|ext2|cram] [--modules-conf=<modules.conf>]" 1>&2
        echo "       <initrd-image> <kernel-version>" 1>&2
        echo "       (ex: `basename $0` /boot/initrd-2.2.5-15.img 2.2.5-15)" 1>&2
        exit 1
@@ -66,7 +65,11 @@ BEGIN { here = 0 }
                if [ "$1" != silent ] ; then
                        echo "$module: module not found in $depfile" 1>&2
                fi
-               exit 1
+               if ! is_no "$EXIT_IF_MISSING" ; then 
+                       exit 1
+               else
+                       echo "If $module isn't compiled in kernel then this initrd may not start your system". 1>&2
+               fi
        fi
        
        level=$3
@@ -266,8 +269,9 @@ if [ -r /etc/sysconfig/geninitrd ] ; then
        . /etc/sysconfig/geninitrd
 fi
 
-if is_yes $USEBSP ; then
-       [ ! -x /sbin/bsp ] && USEBSP="no"
+if [ ! -x /sbin/bsp ] ; then 
+       echo "/sbin/bsp is missing !"
+       exit 1
 fi
 if [ "`uname -m`" = "ia64" ]; then
        IMAGESIZE=3000
@@ -276,9 +280,6 @@ else
 fi
 while [ $# -gt 0 ]; do
        case $1 in
-       --no-bsp)
-               USEBSP="no"
-               ;;
        --fstab*)
                if is_yes "`echo $1 | awk '/=/ { print "yes"; }'`" ; then
                        fstab="`echo $1 | awk -F= '{print $2;}'`"
@@ -336,10 +337,10 @@ while [ $# -gt 0 ]; do
                fi
                PREMODS="$PREMODS $modname"
                ;;
-       --fs=*)
+       --initrdfs=*)
                FS="`echo $1 | awk -F= '{print $2;}'`"
                ;;
-       --fs)
+       --initrdfs)
                FS="$2"
                shift
                ;;
@@ -512,6 +513,9 @@ fi
 
 # check to see if we need to set up a loopback filesystem
 if is_yes "`echo "$rootdev" | awk -F/ '{print($3);}' | awk '/loop/ { print "yes"; }'`" ; then
+       echo "Sorry, root on loop device isn't supported." 1>&2
+       exit 1
+       # TODO: rewrite for bsp and make nfs ready
        if [ ! -x /sbin/losetup ]; then
                echo "losetup is missing"
                exit 1
@@ -531,9 +535,7 @@ if is_yes "`echo "$rootdev" | awk -F/ '{print($3);}' | awk '/loop/ { print "yes"
        BASICMODULES="$BASICMODULES -loop"
        findmodule "-$loopFs"
        BASICMODULES="$BASICMODULES -${loopFs}"
-       # don't have any clue, how is this supposed to work,
-       # anyway no bsp
-       USEBSP="no"
+       # don't have any clue, how is this supposed to work
 else # Check for other filesystems
        findmodule "-$rootFs"
 fi
@@ -598,71 +600,39 @@ done
 # without devfs...
 mknod "$MNTIMAGE/dev/console" c 5 1
 
-if is_yes "$USEBSP" ; then
-       s="$MNTIMAGE/etc/startup"
-       inst /sbin/bsp "$RCFILE"
-       echo "# autogenerated startup" > "$s"
-       echo "" >> "$s"
-
-       for MODULE in $MODULES; do
-               module="`echo $MODULE | awk -F/ '{ $0=$NF } /.o$/ { $0=substr($0,1,length($0)-2); } { print $0; }'`"
-               options="`awk '{ if($1 == "options" && $2 == "'${module}'") { for(i=3;i<=NF;i++) printf("%s ",$i); }}' "$modulefile"`"
-
-               if [ -n "$verbose" ]; then
-                       /bin/echo -n "Loading module $module "
-                       if [ -n "$options" ] ; then
-                               echo "with options $options."
-                       else
-                               echo "without options."
-                       fi
-               fi
-               echo "insmod /lib/modules/$kernel/$MODULE $options" >> "$s"
-       done
-else
-       inst /bin/trash "$MNTIMAGE/bin/sh"
-       inst /sbin/insmod.static "$MNTIMAGE/bin/insmod"
-
-       mknod "$MNTIMAGE/dev/null" c 1 3
-       mknod "$MNTIMAGE/dev/ram" b 1 1
-       mknod "$MNTIMAGE/dev/systty" c 4 0
-       for i in 1 2 3 4; do
-               mknod "$MNTIMAGE/dev/tty$i" c 4 1
-       done
-       mknod "$MNTIMAGE/dev/zero" c 1 5
+s="$MNTIMAGE/etc/startup"
+inst /sbin/bsp "$RCFILE"
+echo "# autogenerated startup" > "$s"
+echo "" >> "$s"
 
-       echo "#!/bin/sh" > "$RCFILE"
-       echo "" >> "$RCFILE"
+for MODULE in $MODULES; do
+       module="`echo $MODULE | awk -F/ '{ $0=$NF } /.o$/ { $0=substr($0,1,length($0)-2); } { print $0; }'`"
+       options="`awk '{ if($1 == "options" && $2 == "'${module}'") { for(i=3;i<=NF;i++) printf("%s ",$i); }}' "$modulefile"`"
 
-       for MODULE in $MODULES; do
-               module="`echo $MODULE | awk -F/ '{ $0=$NF } /.o$/ { $0=substr($0,1,length($0)-2); } { print $0; }'`"
-               if [ -f "$modulefile" ] ; then
-                       options="`awk '{ if($1 == "options" && $2 == "'${module}'") { for(i=3;i<=NF;i++) printf("%s ",$i); }}' "$modulefile"`"
+       if [ -n "$verbose" ]; then
+               /bin/echo -n "Loading module $module "
+               if [ -n "$options" ] ; then
+                       echo "with options $options."
                else
-                       options=
-               fi
-
-               if [ -n "$verbose" ]; then
-                       echo "Loading module $module with options $options"
-               fi
-               echo "Add module $module to initrd."
-               echo "echo \"Loading $module module\"" >> "$RCFILE"
-               echo "insmod -k /lib/modules/$kernel/$MODULE $options" >> "$RCFILE"
-       done
-
-
-       if [ -n "$loopDev" ]; then
-               if [ ! -d /initrd ]; then
-                       mkdir /initrd
+                       echo "without options."
                fi
-
-               cp -a "$loopDev" "$MNTIMAGE/dev"
-               cp -a "$rootdev" "$MNTIMAGE/dev"
-               echo "echo Mounting device containing loopback root filesystem" >> "$RCFILE"
-               echo "mount -t $loopFs $loopDev /loopfs" >> "$RCFILE"
-               echo "echo Setting up loopback device $rootdev" >> $RCFILE
-               echo "losetup $rootdev /loopfs$loopFile" >> "$RCFILE"
        fi
-fi
+       echo "insmod /lib/modules/$kernel/$MODULE $options" >> "$s"
+done
+
+# TODO: rewrite for bsp
+#if [ -n "$loopDev" ]; then
+#      if [ ! -d /initrd ]; then
+#              mkdir /initrd
+#      fi
+#
+#      cp -a "$loopDev" "$MNTIMAGE/dev"
+#      cp -a "$rootdev" "$MNTIMAGE/dev"
+#      echo "echo Mounting device containing loopback root filesystem" >> "$RCFILE"
+#      echo "mount -t $loopFs $loopDev /loopfs" >> "$RCFILE"
+#      echo "echo Setting up loopback device $rootdev" >> $RCFILE
+#      echo "losetup $rootdev /loopfs$loopFile" >> "$RCFILE"
+#fi
 
 if is_yes "$USERAIDSTART" ; then
        if [ -x /sbin/raidstart.static ] ; then
This page took 0.061073 seconds and 4 git commands to generate.