#! /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 case "$(uname -m)" in i?86 | x86_64) KERNBIN=$(dirname $MAPFILE)/vmlinux if [ -e $KERNBIN ]; then if [ -f $INSTALL_PATH/vmlinux-$KERNEL_VERSION.gz ]; then mv $INSTALL_PATH/vmlinux-$KERNEL_VERSION.gz \ $INSTALL_PATH/vmlinux-$KERNEL_VERSION.gz.old; fi gzip -c $KERNBIN > $INSTALL_PATH/vmlinux-$KERNEL_VERSION.gz fi ;; esac # # Generate initial ramdisk # if [ -x /usr/bin/dracut -a -d /lib/modules/$KERNEL_VERSION ]; then /usr/bin/dracut --hostonly --force $INSTALL_PATH/initrd-$KERNEL_VERSION \ $KERNEL_VERSION 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