]> Frank Brehm's Git Trees - scripts/root-bin.git/commitdiff
Updated installkernel to the laste state
authorFrank Brehm <frank.brehm@profitbricks.com>
Wed, 19 Mar 2014 10:24:12 +0000 (11:24 +0100)
committerFrank Brehm <frank.brehm@profitbricks.com>
Wed, 19 Mar 2014 10:24:12 +0000 (11:24 +0100)
installkernel

index b79748255a870cb814c05c82b880892d81599acb..581669b48b0774815c94bab4592a8b6d0a138c1e 100755 (executable)
@@ -24,8 +24,8 @@ DEF_INSTALL_PATH=$4
 was_mounted='y'
 
 # check we have a valid kernel target directory
-if [ -n "$DEF_INSTALL_PATH" ] && [ "$DEF_INSTALL_PATH" != "$BOOT_DIR" ] ; then
-    if [ -d "$DEF_INSTALL_PATH" ] ; then
+if [[ -n "$DEF_INSTALL_PATH" && "$DEF_INSTALL_PATH" != "$BOOT_DIR" ]] ; then
+    if [[ -d "$DEF_INSTALL_PATH" ]] ; then
         BOOT_DIR="$DEF_INSTALL_PATH"
     else
         echo -e "\n\n$ME: fatal: missing kernel target directory:" >&2
@@ -34,14 +34,14 @@ if [ -n "$DEF_INSTALL_PATH" ] && [ "$DEF_INSTALL_PATH" != "$BOOT_DIR" ] ; then
     fi
 fi
 
-if [ ! -d ${BOOT_DIR}/grub ] ; then
+if [[ ! -d ${BOOT_DIR}/grub ]] ; then
     was_mounted='n'
     echo "  MOUNT   ${BOOT_DIR}"
     mount ${BOOT_DIR}
 fi
 
 # where to find .config, based on kernel series
-if [ -f '.config' ] ; then
+if [[ -f '.config' ]] ; then
     echo "* 2.6/3.x kernel"
     DOT_CONFIG=".config"
 else
@@ -51,7 +51,7 @@ fi
 
 i=0
 TARGET_CONFIG_BOOT=$( printf "%s/config-%s-%02d" "${BOOT_DIR}" "${KERNEL_VERSION}" "${i}" )
-while [ -f "${TARGET_CONFIG_BOOT}" ] ; do
+while [[ -f "${TARGET_CONFIG_BOOT}" ]] ; do
     i=$(( i + 1 ))
     TARGET_CONFIG_BOOT=$( printf "%s/config-%s-%02d" "${BOOT_DIR}" "${KERNEL_VERSION}" "${i}" )
 done
@@ -59,14 +59,14 @@ done
 echo "  CP      ${DOT_CONFIG} -> ${TARGET_CONFIG_BOOT}"
 cp -p "${DOT_CONFIG}" "${TARGET_CONFIG_BOOT}"
 
-if [ ! -d /etc/kernel-config ] ; then
+if [[ ! -d /etc/kernel-config ]] ; then
     echo "  MKDIR   /etc/kernel-config"
     mkdir -p /etc/kernel-config
 fi
 
 i=0
 TARGET_CONFIG_ETC=$( printf "%s/config-%s-%02d" "/etc/kernel-config" "${KERNEL_VERSION}" "${i}" )
-while [ -f "${TARGET_CONFIG_ETC}" ] ; do
+while [[ -f "${TARGET_CONFIG_ETC}" ]] ; do
     i=$(( i + 1 ))
     TARGET_CONFIG_ETC=$( printf "%s/config-%s-%02d" "/etc/kernel-config" "${KERNEL_VERSION}" "${i}" )
 done
@@ -74,30 +74,48 @@ done
 echo "  CP      ${DOT_CONFIG} -> ${TARGET_CONFIG_ETC}"
 cp -p "${DOT_CONFIG}" "${TARGET_CONFIG_ETC}"
 
-if [ -n "$KBUILD_OUTPUT_PREFIX" -a -d $KBUILD_OUTPUT_PREFIX/$KERNEL_VERSION ] ; then
+if [[ -n "$KBUILD_OUTPUT_PREFIX" && -d $KBUILD_OUTPUT_PREFIX/$KERNEL_VERSION ]] ; then
     LINUX_SRC_DIR=$KBUILD_OUTPUT_PREFIX/$KERNEL_VERSION
 else
     LINUX_SRC_DIR="/usr/src/linux-$KERNEL_VERSION"
 fi
-echo "  INSTALL $BOOT_DIR/bzImage-$KERNEL_VERSION"
 
-if [ ! -f $LINUX_SRC_DIR/$KERNEL_IMAGE ] ; then
-    if [ -f $LINUX_SRC_DIR/arch/i386/boot/$KERNEL_IMAGE ] ; then
+i=0
+image_version=$( printf "%s-%02d" "${KERNEL_VERSION}" "${i}" )
+bzimage_inst="${BOOT_DIR}/bzImage-${image_version}"
+kernel_inst="${BOOT_DIR}/kernel-${image_version}"
+mapfile_inst="${BOOT_DIR}/System.map-${image_version}"
+while [[ -f "${bzimage_inst}" ]] ; do
+    i=$(( i + 1 ))
+    image_version=$( printf "%s-%02d" "${KERNEL_VERSION}" "${i}" )
+    bzimage_inst="${BOOT_DIR}/bzImage-${image_version}"
+    kernel_inst="${BOOT_DIR}/kernel-${image_version}"
+    mapfile_inst="${BOOT_DIR}/System.map-${image_version}"
+done
+
+echo "  INSTALL ${bzimage_inst}"
+
+if [[ ! -f $LINUX_SRC_DIR/$KERNEL_IMAGE ]] ; then
+    if [[ -f $LINUX_SRC_DIR/arch/i386/boot/$KERNEL_IMAGE ]] ; then
         EX="/arch/i386/boot"
     else
         exit 1
     fi
 fi
 
-if [ -f $LINUX_SRC_DIR/$KERNEL_MAPFILE ] ; then
+if [[ -f $LINUX_SRC_DIR/$KERNEL_MAPFILE ]] ; then
     KERNEL_MAPFILE=$LINUX_SRC_DIR/$KERNEL_MAPFILE
 else
     test -f $KERNEL_MAPFILE || exit 1
 fi
-cp -p $LINUX_SRC_DIR$EX/$KERNEL_IMAGE $BOOT_DIR/bzImage-$KERNEL_VERSION
-ln $BOOT_DIR/bzImage-$KERNEL_VERSION $BOOT_DIR/kernel-$KERNEL_VERSION
-echo "  INSTALL $BOOT_DIR/System.map-$KERNEL_VERSION"
-cp -p $KERNEL_MAPFILE $BOOT_DIR/System.map-$KERNEL_VERSION
+
+cp -p $LINUX_SRC_DIR$EX/$KERNEL_IMAGE "${bzimage_inst}"
+
+echo "  LN      ${bzimage_inst} -> ${kernel_inst}"
+ln "${bzimage_inst}" "${kernel_inst}"
+
+echo "  INSTALL ${mapfile_inst}"
+cp -p $KERNEL_MAPFILE "${mapfile_inst}"
 
 case $KERNEL_VERSION in
     *-gentoo*)
@@ -111,23 +129,23 @@ esac
 TARG_CUR=${TARG}-cur
 TARG_LAST=${TARG}-last
 
-if [ -L $BOOT_DIR/bzImage${TARG_CUR} ] ; then
+if [[ -L $BOOT_DIR/bzImage${TARG_CUR} ]] ; then
     IMG_LAST=$(readlink $BOOT_DIR/bzImage${TARG_CUR})
     echo "  LN      $BOOT_DIR/bzImage${TARG_LAST}"
     ln -sf ${IMG_LAST} $BOOT_DIR/bzImage${TARG_LAST}
 fi
 
 echo "  LN      $BOOT_DIR/bzImage${TARG_CUR}"
-ln -sf bzImage-$KERNEL_VERSION $BOOT_DIR/bzImage${TARG_CUR}
+ln -sf "bzImage-${image_version}" $BOOT_DIR/bzImage${TARG_CUR}
 
-if [ -L $BOOT_DIR/System${TARG_CUR}.map ] ; then
+if [[ -L $BOOT_DIR/System${TARG_CUR}.map ]] ; then
     IMG_LAST=$(readlink $BOOT_DIR/System${TARG_CUR}.map)
     echo "  LN      $BOOT_DIR/System${TARG_LAST}.map"
     ln -sf $IMG_LAST $BOOT_DIR/System${TARG_LAST}.map
 fi
 
 echo "  LN      $BOOT_DIR/System${TARG_CUR}.map"
-ln -sf System.map-$KERNEL_VERSION $BOOT_DIR/System${TARG_CUR}.map
+ln -sf "System.map-${image_version}" $BOOT_DIR/System${TARG_CUR}.map
 
 if [ "${was_mounted}" = "n" ] ; then
     echo "  UMOUNT  ${BOOT_DIR}"