home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / rescue / sbin / installkernel < prev    next >
Text File  |  2006-11-29  |  2KB  |  93 lines

  1. #! /bin/sh
  2. #
  3. # /sbin/installkernel  - written by tyson@rwii.com
  4. #
  5. # May 21, 2003 - agruen@suse.de
  6. # * Adapted for SuSE and cleaned up.
  7. #
  8. # This file is kept in the following CVS repository:
  9. #
  10. # $Source: /suse/yast2/cvsroot/mkinitrd/installkernel,v $
  11. # $Revision: 1.8 $
  12. #
  13.  
  14. : ${INSTALL_PATH:=/boot}
  15. KERNEL_VERSION=$1
  16. BOOTIMAGE=$2
  17. MAPFILE=$3
  18.  
  19. case "$(uname -m)" in
  20.     s390|s390x)
  21.     BOOTFILE=image
  22.     ;;
  23.     ppc|ppc64)
  24.     BOOTFILE=vmlinux
  25.     ;;
  26.     *)
  27.     BOOTFILE=vmlinuz
  28.     ;;
  29. esac
  30.  
  31. #
  32. # Move away files from versions up to SuSE Linux 8.2
  33. #
  34.  
  35. if [ -f $INSTALL_PATH/$BOOTFILE -a ! -L $INSTALL_PATH/$BOOTFILE ]; then
  36.     mv $INSTALL_PATH/$BOOTFILE $INSTALL_PATH/$BOOTFILE.old
  37. fi
  38.  
  39. if [ -L $INSTALL_PATH/System.map ]; then
  40.     rm -f $INSTALL_PATH/System.map
  41. elif [ -f $INSTALLPATH/System.map ]; then
  42.     mv $INSTALL_PATH/System.map $INSTALL_PATH/System.map.old
  43. fi
  44.  
  45. #
  46. # Move away files from after SuSE Linux 8.2
  47. #
  48.  
  49. if [ -f $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION ]; then
  50.     mv $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION \
  51.     $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION.old;
  52. fi
  53.  
  54. if [ -f $INSTALL_PATH/System.map-$KERNEL_VERSION ]; then
  55.     mv $INSTALL_PATH/System.map-$KERNEL_VERSION \
  56.     $INSTALL_PATH/System.map-$KERNEL_VERSION.old; 
  57. fi
  58.  
  59. #
  60. # Install new files
  61. #
  62.  
  63. cp -fp $BOOTIMAGE $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION
  64. cp -fp $MAPFILE $INSTALL_PATH/System.map-$KERNEL_VERSION
  65.  
  66. KERNTYPES=$(dirname $MAPFILE)/init/kerntypes.o
  67. if [ -e $KERNTYPES ]; then
  68.     cp -fp $KERNTYPES $INSTALL_PATH/Kerntypes-$KERNEL_VERSION
  69. fi
  70.  
  71. #
  72. # Generate initial ramdisk
  73. #
  74. if [ -x /sbin/mkinitrd -a -d /lib/modules/$KERNEL_VERSION ]; then
  75.     /sbin/mkinitrd -k $BOOTFILE-$KERNEL_VERSION \
  76.            -i initrd-$KERNEL_VERSION \
  77.            -b $INSTALL_PATH
  78. else
  79.     echo "You may need to create an initial ramdisk now."
  80. fi
  81.  
  82. #
  83. # Update boot loader
  84. #
  85. if [ -x /sbin/update-bootloader ]; then
  86.     opt_initrd=
  87.     [ -e $INSTALL_PATH/initrd-$KERNEL_VERSION ] \
  88.     && opt_initrd="--initrd $INSTALL_PATH/initrd-$KERNEL_VERSION"
  89.     /sbin/update-bootloader --name $KERNEL_VERSION \
  90.     --image $INSTALL_PATH/$BOOTFILE-$KERNEL_VERSION \
  91.     $opt_initrd --add --force
  92. fi
  93.