dracut/dracut-installkernel

154 lines
3.7 KiB
Plaintext
Raw Normal View History

#! /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
CONFIGFILE=config-$KERNEL_VERSION
case "$(uname -m)" in
s390|s390x)
BOOTFILE=image
;;
ppc|ppc64)
BOOTFILE=vmlinux
;;
aarch64)
BOOTFILE=Image
;;
armv*)
Accepting request 431190 from home:hreinecke:branches:Base:System - 90multipath: parse commandline option 'multipath=off' (bsc#1001691) *add 0307-90multipath-parse-kernel-commandline-option-multipat.patch - 95fcoe: do not start fcoemon twice (bsc#1001512) *add 0225-95fcoe-do-not-start-fcoemon-twice.patch - Reformat patch headers: *modify 0199-rd-iscsi-waitnet-default-false.patch *modify 0200-dracut_fix_multipath_without_config.patch *modify 0210-add_fcoe_uefi_check.patch *modify 0212-fcoe_reorder_init_path.patch - Rediff patches to apply cleanly: *modify 0124-40network-Update-iBFT-scanning-code-to-handle-IPv6.patch *modify 0133-Allow-multiple-configurations-per-network-interface-.patch *modify 0170-iscsi-skip-ibft-invalid-dhcp.patch *modify 0218-40network-allow-persistent-interface-names.patch - Remove spurious whitespaces: *modify 0169-network_set_mtu_macaddr_for_dhcp.patch - 40network: print out correct prefix (bsc#996141) *modify 0125-40network-separate-mask-and-prefix.patch - 95iscsi: setup bnx2i offload connection correctly (bsc#997598) *add 0224-95iscsi-setup-bnx2i-offload-connections-properly.patch - Rename patches to match sequence number: *old: 0019-40network-Fix-race-condition-when-wait-for-networks.patch *new: 0012-40network-Fix-race-condition-when-wait-for-networks.patch *old: 0066-40network-always-start-netroot-in-ifup.sh.patch *new: 0013-40network-always-start-netroot-in-ifup.sh.patch - rd.iscsi.waitnet should default to false in order for dracut to wait for the network devices (bsc#997598) OBS-URL: https://build.opensuse.org/request/show/431190 OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=267
2016-10-07 08:44:57 +00:00
BOOTFILE=zImage
;;
*)
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
if [ -f .config ] && [ -f $INSTALL_PATH/$CONFIGFILE ]; then
mv -v $INSTALL_PATH/$CONFIGFILE \
$INSTALL_PATH/$CONFIGFILE.old;
fi
#
# Install new files
#
cp -fp $BOOTIMAGE $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION
cp -fp $MAPFILE $INSTALL_PATH/System.map-$KERNEL_VERSION
[ -f .config] && cp -fp .config $INSTALL_PATH/$CONFIGFILE
# If the kernel has module support, recreate modules.dep using depmod
# since the contents of modules.dep do not have a consistent format across
# releases.
if [ -x /sbin/depmod -a -d /lib/modules/$KERNEL_VERSION ]; then
/sbin/depmod $KERNEL_VERSION;
fi
Accepting request 314510 from home:trenn:branches:Base:System - Fix dmraid issue bnc#905746 A dracut_dmraid_use_udev.patch - Taken over from SLE12 A fips_add_aesni-intel.patch - Do not touch /run vs /var/run bnc#922676 D 0106-dracut-Enable-converting-of-directory-var-run-var-lo.patch - Update dracut to version 042 Remove these already included or unneeded patches: D dracut_v041_to_HEAD.patch D 0011-Correct-paths-for-openSUSE.patch D 0068-95fcoe-uefi-Test-for-EFI-firmware.patch D 0170-enable-logitech-hidpp.patch Adjust/refresh: M 0015-40network-replace-dhclient-with-wickedd-dhcp-supplic.patch M 0016-Add-new-s390x-specific-rule-files.patch M 0017-45ifcfg-use-distro-specific-scripts.patch M 0019-40network-Fix-race-condition-when-wait-for-networks.patch M 0020-00warpclock-Set-correct-timezone.patch M 0021-95dcssblk-Add-new-module-for-DCSS-block-devices.patch M 0048-40network-Only-enable-network-interfaces-if-explicit.patch M 0053-01fips-fixup-loading-issues.patch M 0056-81cio_ignore-handle-cio_ignore-commandline.patch M 0057-01fips-Include-some-more-hmacs.patch M 0058-dracut-add-warning-when-including-unsupported-module.patch M 0059-99suse-Add-SUSE-specific-initrd-parsing.patch M 0060-45ifcfg-Add-SUSE-specific-write-ifcfg-file.patch M 0061-45ifcfg-Fixup-error-message-in-write-ifcfg-suse.patch M 0066-40network-always-start-netroot-in-ifup.sh.patch M 0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch M 0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch OBS-URL: https://build.opensuse.org/request/show/314510 OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=219
2015-06-30 12:59:59 +00:00
function check_supported()
{
local MOD_SUPP_FILE="/etc/modprobe.d/10-unsupported-modules.conf"
local MOD_SUPP_REGEX="^\s*allow_unsupported_modules\s+0\s*$"
local cfg="$1"
if [ ! -e "$cfg" ]; then return; fi
local tmp=$(modprobe --showconfig | grep -Eq $MOD_SUPP_REGEX)
if [ -n "$tmp" ]; then
CHECK_SUPPORTED="--check-supported"
return;
fi
if grep -q "^CONFIG_SUSE_KERNEL_SUPPORTED=y" $cfg ; then
if [ -e $MOD_SUPP_FILE ] && grep -Eq $MOD_SUPP_REGEX $MOD_SUPP_FILE; then
CHECK_SUPPORTED="--check-supported"
fi
fi
}
CONFIG=$(dirname $MAPFILE)/.config
CHECK_SUPPORTED=
Accepting request 314510 from home:trenn:branches:Base:System - Fix dmraid issue bnc#905746 A dracut_dmraid_use_udev.patch - Taken over from SLE12 A fips_add_aesni-intel.patch - Do not touch /run vs /var/run bnc#922676 D 0106-dracut-Enable-converting-of-directory-var-run-var-lo.patch - Update dracut to version 042 Remove these already included or unneeded patches: D dracut_v041_to_HEAD.patch D 0011-Correct-paths-for-openSUSE.patch D 0068-95fcoe-uefi-Test-for-EFI-firmware.patch D 0170-enable-logitech-hidpp.patch Adjust/refresh: M 0015-40network-replace-dhclient-with-wickedd-dhcp-supplic.patch M 0016-Add-new-s390x-specific-rule-files.patch M 0017-45ifcfg-use-distro-specific-scripts.patch M 0019-40network-Fix-race-condition-when-wait-for-networks.patch M 0020-00warpclock-Set-correct-timezone.patch M 0021-95dcssblk-Add-new-module-for-DCSS-block-devices.patch M 0048-40network-Only-enable-network-interfaces-if-explicit.patch M 0053-01fips-fixup-loading-issues.patch M 0056-81cio_ignore-handle-cio_ignore-commandline.patch M 0057-01fips-Include-some-more-hmacs.patch M 0058-dracut-add-warning-when-including-unsupported-module.patch M 0059-99suse-Add-SUSE-specific-initrd-parsing.patch M 0060-45ifcfg-Add-SUSE-specific-write-ifcfg-file.patch M 0061-45ifcfg-Fixup-error-message-in-write-ifcfg-suse.patch M 0066-40network-always-start-netroot-in-ifup.sh.patch M 0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch M 0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch OBS-URL: https://build.opensuse.org/request/show/314510 OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=219
2015-06-30 12:59:59 +00:00
check_supported $CONFIG
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 $CHECK_SUPPORTED \
$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