# It must be possible to install different kernel.rpm packages in parallel. # But in this post install script, the /boot/vmlinux symlink is replaced. # On powerpc, the different kernels are for different board/firmware types # They are not compatible. wrong_boardtype() { echo "This kernel-@FLAVOR@ is for $1, it will not boot on your system." echo "The /boot/vmlinux symlink will not be created or updated." exit 0 } if [ -f /proc/cpuinfo ]; then case "@FLAVOR@" in ppc64|kdump) if [ -d /proc/device-tree ]; then if [ ! -d /proc/ppc64 ]; then wrong_boardtype "OpenFirmware based 64bit machines or legacy iSeries" fi fi ;; default) if [ -d /proc/ppc64 -o -d /proc/iSeries ]; then wrong_boardtype "32bit systems" fi ;; *) ;; esac fi suffix= case @FLAVOR@ in kdump|ps3|um|xen*) suffix=-@FLAVOR@ ;; esac for x in /boot/@IMAGE@ /boot/initrd; do rm -f $x$suffix ln -s ${x##*/}-@KERNELRELEASE@ $x$suffix done if [ -e /lib/modules/@KERNELRELEASE@ ]; then echo Setting up /lib/modules/@KERNELRELEASE@ if [ -x /sbin/module_upgrade ]; then /sbin/module_upgrade --rename mptscsih="mptspi mptfc mptsas" fi # Add symlinks of compatible modules to /lib/modules/$krel/weak-updates/. if [ -x /usr/lib/module-init-tools/weak-modules ]; then /usr/lib/module-init-tools/weak-modules --add-kernel @KERNELRELEASE@ fi /sbin/depmod -a -F /boot/System.map-@KERNELRELEASE@ @KERNELRELEASE@ fi message_install_bl () { echo "You may need to setup and install the boot loader using the" echo "available bootloader for your platform (e.g. grub, lilo, zipl, ...)." } run_bootloader () { if [ -f /etc/sysconfig/bootloader ] && [ -f /boot/grub/menu.lst -o \ -f /etc/lilo.conf -o \ -f /etc/elilo.conf -o \ -f /etc/zipl.conf ] then return 0 else return 1 fi } if [ -f /etc/fstab -a ! -e /.buildenv -a -x /sbin/mkinitrd ] ; then if ! /sbin/mkinitrd -k /boot/@IMAGE@-@KERNELRELEASE@ \ -i /boot/initrd-@KERNELRELEASE@; then # mkinitrd fails with status 10 if any required kernel modules missing. # We expect those modules to be added later (by one of the other # kernel-$flavor packages). if [ $? -ne 10 ]; then echo "/sbin/mkinitrd failed" >&2 exit 1 fi fi # only run the bootloader if the usual bootloader configuration # files are there -- this is different on every architecture initrd=/boot/initrd-@KERNELRELEASE if [ -e $initrd -o ! -e /lib/modules/@KERNELRELEASE@ ] && \ run_bootloader ; then [ -e $initrd ] || initrd= # handle 10.2 and SLES10 SP1 or later if [ -x /usr/lib/bootloader/bootloader_entry ]; then /usr/lib/bootloader/bootloader_entry \ add \ @FLAVOR@ \ @KERNELRELEASE@ \ @IMAGE@-@KERNELRELEASE@ \ $initrd # handle 10.1 and SLES10 GA elif [ -x /sbin/update-bootloader ]; then case @FLAVOR@ in kdump|um|ps3) ;; *) opt_xen_kernel= case @FLAVOR@ in xen*) set -- @FLAVOR@ set -- ${1#xen} opt_xen_kernel=--xen-kernel=/boot/xen${1:+-$1}.gz ;; esac echo "bootloader_entry script unavailable, updating /boot/@IMAGE@" /sbin/update-bootloader \ --image /boot/@IMAGE@ \ ${initrd:+--initrd /boot/initrd} \ --add \ --force $opt_xen_kernel /sbin/update-bootloader --refresh ;; esac else message_install_bl fi fi else echo "Please run mkinitrd as soon as your system is complete." message_install_bl fi # vim: set sts=4 sw=4 ts=8 noet: