X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=.bin%2Finstallkernel;h=030e21f0d9203adc9467327731a8292843311b8f;hb=fb5d2cb632ad05e57c8b257f5a3c85bb75c8ac31;hp=fa230ecbf6fd9142eb7ece2a2e79f31af22f6553;hpb=5b4bdae839385d0022533b6bc6cc06469c8ca933;p=home.git diff --git a/.bin/installkernel b/.bin/installkernel index fa230ec..030e21f 100755 --- a/.bin/installkernel +++ b/.bin/installkernel @@ -1,11 +1,53 @@ #!/bin/bash -if [[ $2 == */blackfin/* ]] ; then - mmv() { [[ -e $1 ]] && mv "$1" "$2" ; } - mmv $4/uImage $4/uImage.old - mmv $4/$3 $4/$3.old +# 2.6.35.4-default arch/s390/boot/image System.map /boot - cp $2 $4/uImage - cp $3 $4/$3 - exit 0 +e() { echo "+ $*"; "$@"; } +mmv() { [[ -e $1 ]] && mv "$1" "$2"; } + +ver=$1 +img=$2 +map=$3 +dir=$4 + +mount "${dir}" >&/dev/null +if [[ ! -w "${dir}" ]] ; then + mount "${dir}" -o remount,rw fi -exec /sbin/installkernel "$@" + +case ${img} in +*/blackfin/*) + mmv ${dir}/uImage ${dir}/uImage.old + mmv ${dir}/${map} ${dir}/${map}.old + + 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} + 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 + +e /sbin/installkernel "$@" + +case ${img} in +*/x86*/*) + if [[ -e ${dir}/grub/grub.cfg ]] ; then + e grub-mkconfig -o /boot/grub/grub.cfg + fi + ;; +esac