home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- #
- # /sbin/installkernel - written by tyson@rwii.com
- #
- # May 21, 2003 - agruen@suse.de
- # * Adapted for SuSE and cleaned up.
- #
- # This file is kept in the following CVS repository:
- #
- # $Source: /suse/yast2/cvsroot/mkinitrd/installkernel,v $
- # $Revision: 1.8 $
- #
-
- : ${INSTALL_PATH:=/boot}
- KERNEL_VERSION=$1
- BOOTIMAGE=$2
- MAPFILE=$3
-
- case "$(uname -m)" in
- s390|s390x)
- BOOTFILE=image
- ;;
- ppc|ppc64)
- BOOTFILE=vmlinux
- ;;
- *)
- BOOTFILE=vmlinuz
- ;;
- esac
-
- #
- # Move away files from versions up to SuSE Linux 8.2
- #
-
- if [ -f $INSTALL_PATH/$BOOTFILE -a ! -L $INSTALL_PATH/$BOOTFILE ]; then
- mv $INSTALL_PATH/$BOOTFILE $INSTALL_PATH/$BOOTFILE.old
- fi
-
- if [ -L $INSTALL_PATH/System.map ]; then
- rm -f $INSTALL_PATH/System.map
- elif [ -f $INSTALLPATH/System.map ]; then
- mv $INSTALL_PATH/System.map $INSTALL_PATH/System.map.old
- fi
-
- #
- # Move away files from after SuSE Linux 8.2
- #
-
- if [ -f $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION ]; then
- mv $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION \
- $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION.old;
- fi
-
- if [ -f $INSTALL_PATH/System.map-$KERNEL_VERSION ]; then
- mv $INSTALL_PATH/System.map-$KERNEL_VERSION \
- $INSTALL_PATH/System.map-$KERNEL_VERSION.old;
- fi
-
- #
- # Install new files
- #
-
- cp -fp $BOOTIMAGE $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION
- cp -fp $MAPFILE $INSTALL_PATH/System.map-$KERNEL_VERSION
-
- KERNTYPES=$(dirname $MAPFILE)/init/kerntypes.o
- if [ -e $KERNTYPES ]; then
- cp -fp $KERNTYPES $INSTALL_PATH/Kerntypes-$KERNEL_VERSION
- fi
-
- #
- # Generate initial ramdisk
- #
- if [ -x /sbin/mkinitrd -a -d /lib/modules/$KERNEL_VERSION ]; then
- /sbin/mkinitrd -k $BOOTFILE-$KERNEL_VERSION \
- -i initrd-$KERNEL_VERSION \
- -b $INSTALL_PATH
- else
- echo "You may need to create an initial ramdisk now."
- fi
-
- #
- # Update boot loader
- #
- if [ -x /sbin/update-bootloader ]; then
- opt_initrd=
- [ -e $INSTALL_PATH/initrd-$KERNEL_VERSION ] \
- && opt_initrd="--initrd $INSTALL_PATH/initrd-$KERNEL_VERSION"
- /sbin/update-bootloader --name $KERNEL_VERSION \
- --image $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION \
- $opt_initrd --add --force
- fi
-