#!/bin/bash
-# 2.6.35.4-default arch/s390/boot/image System.map Kerntypes /boot
+# 2.6.35.4-default arch/s390/boot/image System.map /boot
-mmv() { [[ -e $1 ]] && mv "$1" "$2" ; }
+e() { echo "+ $*"; "$@"; }
+mmv() { [[ -e $1 ]] && mv "$1" "$2"; }
ver=$1
img=$2
map=$3
-# $4 == ??
-dir=$5
+dir=$4
+
+mount "${dir}" >&/dev/null
+if [[ ! -w "${dir}" ]] ; then
+ mount "${dir}" -o remount,rw
+fi
case ${img} in
*/blackfin/*)
- mmv $4/uImage $4/uImage.old
- mmv $4/${map} $4/${map}.old
+ mmv ${dir}/uImage ${dir}/uImage.old
+ mmv ${dir}/${map} ${dir}/${map}.old
- cp ${img} $4/uImage
- cp ${map} $4/${map}
+ cp ${img} ${dir}/uImage
+ cp ${map} ${dir}/${map}
exit 0
;;
*/s390/*)
+ pushd /lib/modules >/dev/null
+ for v in * ; do
+ [[ -d ${v} ]] || continue
+ [[ -e ${dir}/image-${v} ]] && continue
+ echo rm -rf ${PWD}/${v}
+ done
+ popd >/dev/null
+
cp ${img} ${dir}/image-${ver}
- cp ${map} ${dir}/System.map-${ver}
- cp .config ${dir}/config-${ver}
+ xz -9c ${map} > ${dir}/System.map-${ver}.xz
+ xz -9c .config > ${dir}/config-${ver}.xz
ln -sf image-${ver} ${dir}/image
zipl
exit 0
;;
esac
-exec /sbin/installkernel "$@"
+
+e /sbin/installkernel "$@"
+
+case ${img} in
+*/x86*/*)
+ if [[ -e ${dir}/grub/grub.cfg ]] ; then
+ e grub-mkconfig -o /boot/grub/grub.cfg
+ fi
+ ;;
+esac