diff options
Diffstat (limited to 'scripts/upd-modules')
-rwxr-xr-x | scripts/upd-modules | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/scripts/upd-modules b/scripts/upd-modules deleted file mode 100755 index 469f6e24d..000000000 --- a/scripts/upd-modules +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/bash - -export PATH=/sbin:$PATH -q=--quiet - -KERNELROOT=/tmp/updboot.kernel-$$ -MODLIST=$PWD/../anaconda/utils/modlist -PCITABLE=$PWD/../anaconda/kudzu/pcitable -TRIMPCITABLE=$PWD/../anaconda/utils/trimpcitable -GETMODDEPS=$PWD/../anaconda/utils/moddeps -FILTERMODDEPS=$PWD/../anaconda/utils/filtermoddeps - -# egrep expression, not a list -EXCLUDENETMODULES="acenic" - -# list of modules to leave off of boot disks -NOTBOOTMODULES="cpqarray DAC960 gdth ips pcd imm ppa eata_dma" - -PCMCIAMODULES="8390" -BLOCKMODULES="raid0 raid1 raid5" - -ARCH=$(uname -m | sed 's/i.86/i386/') - -# pcd.o paride.o bpck.o" - -# this is an egrep expression, not a list, of modules left out of the module -# ball -PRISTINEMODULES="(loop.o)" - -MODLINKS="block cdrom fs ipv4 misc net scsi" - - -usage () { - echo "$0: <component>" - exit 1 -} - -resdeps () { - list=`$GETMODDEPS -m $MODDEPS $*` - items=$(for n in $* $list; do echo $n; done | sort -u) - echo $items -} - -findmodule () { - find $KERNELROOT/lib/modules -name $1.o -} - -intcopymodules () { - for n in $1; do - m=`findmodule $n` - if [ -z "$m" ]; then - echo "Module $n not found in kernel rpm" - else - for dir in $2; do - if ! cp $m $dir ; then - echo "Failed to copy $m to $dir (for module $n)" - fi - done - fi - done -} - -copymodules () { - intcopymodules "$1" "$2 ../../../RedHat/instimage/modules" -} - - -if [ -z "$1" ]; then - usage -fi - -COMPONENT=$1 - -wd=`pwd` - -if [ x`basename $wd` != x"trees" ]; then - usage -fi - -rm -rf $KERNELROOT -mkdir -p $KERNELROOT - -kpackage=$(latest --arch $ARCH $COMPONENT kernel-BOOT) -ppackage=$(latest --arch $ARCH $COMPONENT kernel-pcmcia-cs) - -version=$(rpm --qf '%{VERSION}-%{RELEASE}' -qp $kpackage)BOOT - -rpm2cpio $kpackage | (cd $KERNELROOT; cpio --quiet -iumd) -rpm2cpio $ppackage | (cd $KERNELROOT; cpio --quiet -iumd etc/pcmcia/* ./etc/pcmcia/*) - -if [ ! -d "$KERNELROOT/lib/modules/$version/scsi" ]; then - echo "$1 is not a valid modules directory" 2>&1 - usage -fi - -if [ ! -f "$KERNELROOT/boot/vmlinuz-$version" ]; then - echo "$KERNELROOT/boot/vmlinuz-$version does not exist" - usage -fi - -#if [ ! -f "$KERNELROOT/boot/module-info-$version" ]; then -# echo "$KERNELROOT/boot/module-info-$version does not exist" -# usage -#fi - -MODINFO=$KERNELROOT/boot/module-info-$version -# we really ought to use the above modinfo file :-( -MODINFO=$PWD/../anaconda/loader/module-info -MODDEPS=$KERNELROOT/moddeps - -depmod -e -F $KERNELROOT/boot/System.map-$version \ - $KERNELROOT/lib/modules/$version/*/*.o | $FILTERMODDEPS > $MODDEPS - -NETMODULES=$(resdeps `$MODLIST --modinfo-file $MODINFO net | egrep -v $EXCLUDENETMODULES`) -SCSIMODULES=$(resdeps `$MODLIST --modinfo-file $MODINFO scsi`) -CDMODULES=$(resdeps `$MODLIST --modinfo-file $MODINFO cdrom`) -PCMCIAMODULES="$PCMCIAMODULES - $(ls $KERNELROOT/lib/modules/$version/pcmcia | sed 's/\.o$//' )" - -LOCALFSMODULES="" -NETFSMODULES="" - -LOCALFSMODULES=$(resdeps "vfat") -NETFSMODULES=$(resdeps "nfs vfat") - -mkdir -p initrd/modules - -rm -rf local/modules network/modules ../../../RedHat/instimage/modules \ - pcmcia/modules netstg2/modules hdstg2/modules -mkdir -p local/modules network/modules ../../../RedHat/instimage/modules \ - pcmcia/modules netstg2/modules hdstg2/modules - -copymodules "$NETMODULES" "./network/modules hdstg2/modules" -copymodules "$NETFSMODULES" "./network/modules ./pcmcia/modules" -copymodules "$SCSIMODULES" "./local/modules netstg2/modules" -copymodules "$LOCALFSMODULES" "./local/modules netstg2/modules hdstg2/modules" -copymodules "$CDMODULES" "./local/modules" -copymodules "$BLOCKMODULES" "netstg2/modules hdstg2/modules" -copymodules "$PCMCIAMODULES" "./pcmcia/modules" - -for I in local/modules network/modules pcmcia/modules; do - for n in $NOTBOOTMODULES; do - rm -f $I/$n.o - done -done - -for I in local/modules network/modules ../../../RedHat/instimage/modules \ - pcmcia/modules netstg2/modules hdstg2/modules; do - echo -n "Computing $I dependencies... " - - cd $I; - - SPACE2=`du -s . | awk '{print $1}'` - - /sbin/depmod -F $KERNELROOT/boot/System.map-$version -e *.o | \ - grep ':.*o' | \ - sed -e 's/\.o//g' \ - -e 's/lp: parport/lp: parport_pc/g' \ - -e 's/plip: parport/plip: parport_pc/g' > modules.dep - if grep "unresolved symbol" modules.dep; then - echo "ERROR - Unresolved symbols in $I" - else - echo "done. " - fi - - # create the module-info file - $MODLIST --modinfo-file $MODINFO --ignore-missing --modinfo \ - $(ls *.o | sed 's/\.o$//') > module-info - - # create the pcitable - $TRIMPCITABLE *.o < $PCITABLE > pcitable - - echo -n "Balling $I modules... " - mkdir $version - mv $(ls *.o | egrep -v "$PRISTINEMODULES|(modules.dep)") $version - find $version -type f | cpio $q -H crc -o | gzip -9 > modules.cgz - rm -rf $version - - SPACE1=`du -s . | awk '{print $1}'` - cd - - - DIFF=`expr $SPACE2 - $SPACE1` - echo "done (saved ${DIFF}k)" -done - -cp -f "$KERNELROOT/boot/vmlinuz-$version" boot/vmlinuz -cp boot/vmlinuz ../../../dosutils/autoboot/vmlinuz - -rm -rf pcmcia/etc -mkdir -p pcmcia/etc/pcmcia -cp -a $KERNELROOT/etc/pcmcia/* pcmcia/etc/pcmcia - -makedriverdisk "gdth" "gdth" -makedriverdisk "eata_dma" "eata_dma" -makedriverdisk "paride" "parport_pc parport pcd paride aten bpck bpck6 comm dstr epat fit2 fit3 friq frpw kbic ktti on20 on26 epia ppa imm" - -rm -rf $KERNELROOT |