ACC SHELL

Path : /sbin/
File Upload :
Current File : //sbin/installkernel

#! /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

ACC SHELL 2018