d1cac4a2c4
- Make sure that --add-drivers is not called with whitespace string which will lead to a "read line" user input request and things may get stuck at installation. - Add: dracut-fix-whitespace-add-drivers_call.patch - Remove s390 grub module again -> this will go into grub2 package (ask rw@suse.de for details) Delete/remove: s390_add-user-space-grub-rule.patch - Add installkernel script which installs the kernel when: make install is invoked. The script from mkinitrd has been taken over and adopted. Added source: dracut-installkernel bnc#862990 OBS-URL: https://build.opensuse.org/request/show/224246 OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=105
108 lines
2.5 KiB
Bash
108 lines
2.5 KiB
Bash
#! /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
|
|
|
|
if [ ! -d /lib/modules/$KERNEL_VERSION ];then
|
|
make modules_install
|
|
fi
|
|
|
|
#
|
|
# 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
|
|
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
|