diff options
Diffstat (limited to 'kernel/update_kernel')
-rwxr-xr-x | kernel/update_kernel | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/kernel/update_kernel b/kernel/update_kernel deleted file mode 100755 index 6a5da3db4..000000000 --- a/kernel/update_kernel +++ /dev/null @@ -1,162 +0,0 @@ -#!/bin/bash - -ALL_KERNELS="all.kernels" -RPMS=/export/Mandrake/RPMS - -ARCH=`uname -m | sed -e 's/i.86/i386/' -e 's/sparc.*/sparc/'` - - -# move stuff to this new "kernel" directory -if [ ! -d all.kernels ]; then - if [ -d ../all.kernels ]; then - mv ../all.kernels . - rm -rf ../all.modules - else - # make sure "all.kernels" directory exists - mkdir all.kernels - fi -fi - -function create_marfile() { - marfile=$1 - shift - $GIBASEDIR/mdk-stage1/mar/mar -c $marfile $* -} - -function kern_version() { - if echo $1 | grep -q ^2.4; then - version=24 - objects="*.o" - else - version=25 - objects="*.ko" - fi -} - -function create_modules() { - kernel_path=$1 - kern=$2 - echo "Updating modules in '`pwd`' for kernel '$kern'" - kern_version $kern - find $kernel_path/lib/modules/ -name "$objects" -exec cp -f {} . \; - if [ $version -eq 24 ]; then - /sbin/depmod-24 -F $kernel_path/boot/System.map* -e *.o | perl -pe 's/\\\n//' \ - | perl -ne 's/\.o//g; s/[ \t]+/ /g; print if /: /' > modules.dep - else - cp $kernel_path/lib/modules/*/modules.dep . - perl -ni -e 's|/\S+/([^/]+)\.k?o|$1|g; print if /: /' modules.dep - fi - perl -pi -e 's/((plip|ppa|imm): parport)/$1 parport_pc/' modules.dep - - /sbin/modinfo-$version -f '%{filename} %{description}\n' $objects | perl -lne 'print "$1\t$2" if /(.*?)\.k?o "(.*)"/' > modules.description -} - -function create_modules_mar() { - kern_version $kern - - if [ $version -eq 24 ]; then - echo -n "stripping $kern: " - $GIBASEDIR/kernel/strip_modules *.o 2>/dev/null - echo "done" - else - echo "don't strip on 2.6 since it breaks modules" - fi - - if [ -z "$MOVE" ]; then - echo -n "packdrake $kern: " - ls $objects | packdrake -b9s "modules.cz" 400000 - echo "done" - mv modules.cz ../modules.cz-$kern - fi - for i in network network_gigabit_usb network_gigabit network_usb cdrom hd hdcdrom_usb pcmcia all; do - eval "modules=\$${i}_modules_raw" - modules_with_deps=`perl -I $GIBASEDIR/kernel $GIBASEDIR/kernel/dependencies.pl $version modules.dep $modules` - if [ -n "$MOVE" ]; then modules_with_deps="change_loop.o gzloop.o isofs.o zlib_inflate.o supermount.o $modules_with_deps"; fi - eval "create_marfile ${i}_modules.mar $modules_with_deps" - done - echo -} - -[ -e $ALL_KERNELS/.main ] && main=$(cat $ALL_KERNELS/.main) - -if [ "$ARCH" == "ia64" ] || [ "$ARCH" == "ppc" ]; then - rpm=$(rpm -qp --qf '%{name}' $RPMS/kernel-[0-9]*.rpm | perl -pe 's/kernel-((\.?[0-9]+){3})\.(.*)/$1-${3}/') -else - #- allow specifying a kernel file on commandline (./update_kernel /RPMS/kernel-2.4.22.10mdk-1-1mdk.i586.rpm 2.4.22-10mdk) - if [ -n "$1" ]; then - file=$1 - rpm=$2 - MOVE=1 - else - file=$RPMS/kernel-BOOT-*.rpm - rpm=$(rpm -qp --qf '%{name}' $file | perl -pe 's/kernel-BOOT-((\.?[0-9]+){3})\.(.*)/$1-${3}BOOT/') - fi -fi -if [ -n "$rpm" -a ! -e $ALL_KERNELS/$rpm ]; then - [ -n "$main" ] && rm -rf $ALL_KERNELS/$main - cd $ALL_KERNELS - rm -rf $rpm ; mkdir $rpm - cd $rpm - if [ "$ARCH" == "ia64" ] || [ "$ARCH" == "ppc" ]; then - rpm2cpio $RPMS/kernel-[0-9]*.rpm | cpio -id - else - rpm2cpio $file | cpio -id - fi - find -type f -name "*.o.gz" -o -name "*.ko.gz" | xargs gunzip - cd ../.. - - for dir in /tftpboot /var/lib/tftpboot; do - rm -f $dir/{vmlinuz,network.rdz} - done -fi - -[ -n "$main" -a -e $ALL_KERNELS/$main ] || { - cd $ALL_KERNELS - main=$(echo 2.* | sed 's/.* //') - echo "Choosing $main" - echo $main > .main - cd .. -} - - -if [ "$ARCH" == "i386" ]; then - for i in $ALL_KERNELS/*/boot/vmlinuz*; do - #disable any existing resolution!!! - /usr/sbin/rdev -v $i 65535 #788 #785 - done -fi - - -GIBASEDIR=`pwd`/.. - -rm -rf all.modules ; mkdir all.modules -for i in $ALL_KERNELS/*; do - kern=`basename $i` - ( - mkdir all.modules/$kern - cd all.modules/$kern - - create_modules ../../$i $kern - ) || exit 1 -done -cp -f all.modules/$main/modules.description . - -l=`perl modules.pl images` || exit 1 -eval $l - -for i in $ALL_KERNELS/*; do - kern=`basename $i` - ( - cd all.modules/$kern - - if [ "$kern" = "$main" ]; then - create_modules_mar ../../$i $kern - else - echo "$kern ($main)" - create_modules_mar ../../$i $kern 2>/dev/null - fi - ) || exit 1 -done - - -./check_mar.pl |