PROBESCSI="yes"
PROBEIDE="yes"
PROBERAID="yes"
+USEBSP="yes"
if [ -f /etc/sysconfig/initrd ] ; then
. /etc/sysconfig/initrd
usage () {
echo "usage: `basename $0` [--version] [-v] [-f] [--ifneeded] [--preload <module>]" >&2
- echo " [--omit-scsi-modules] [--omit-raid-modules] [--omit-ide-modules] [--with=<module>]" >&2
- echo " [--image-version] [--fstab=<fstab>] [--nocompress] [--fs=rom|ext2|cram]" >&2
+ echo " [--omit-scsi-modules] [--omit-raid-modules] [--omit-ide-modules]" >&2
+ echo " [--with=<module>] [--image-version] [--fstab=<fstab>] [--nocompress]" >&2
+ echo " [--fs=rom|ext2|cram] [--no-bsp]" >&2
echo " <initrd-image> <kernel-version>" >&2
echo " (ex: `basename $0` /boot/initrd-2.2.5-15.img 2.2.5-15)" >&2
exit 1
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;}'`
else # Check for other filesystems
rootFs=`awk '{if ($2 == "/") {print $3}}' $fstab`
findmodule "-$rootFs"
+ # don't have any clue, how is this supposed to work,
+ # anyway no bsp
+ USEBSP="no"
fi
for n in $BASICMODULES; do
# We don't need this directory, so let's save space
rm -rf $MNTPOINT/lost+found
-inst /bin/trash "$MNTIMAGE/bin/sh"
-inst /sbin/insmod.static "$MNTIMAGE/bin/insmod"
-
for MODULE in $MODULES; do
cp $verbose -a /lib/modules/$kernel/$MODULE $MNTIMAGE/lib
done
# mknod'ing the devices instead of copying them works both with and
# without devfs...
mknod $MNTIMAGE/dev/console c 5 1
-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
-
-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`
- if [ -n "$verbose" ]; then
- echo "Loading module $module with options $options"
- fi
- echo "echo \"Loading $module module\"" >> $RCFILE
- echo "insmod /lib/$module.o $options" >> $RCFILE
-done
-
-if [ -n "$loopDev" ]; then
- if [ ! -d /initrd ]; then
- mkdir /initrd
+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
+ echo "Loading module $module with options $options"
+ fi
+ echo "insmod $module.o $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
+
+ 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`
+
+ if [ -n "$verbose" ]; then
+ echo "Loading module $module with options $options"
+ fi
+ echo "echo \"Loading $module module\"" >> $RCFILE
+ echo "insmod /lib/$module.o $options" >> $RCFILE
+ done
+
+ 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
-
- 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
chmod +x $RCFILE