]> git.wh0rd.org - home.git/blob - .bin/installkernel
installkernel: auto run grub-mkconfig on x86 systems
[home.git] / .bin / installkernel
1 #!/bin/bash
2 # 2.6.35.4-default arch/s390/boot/image System.map /boot
3
4 e() { echo "+ $*"; "$@"; }
5 mmv() { [[ -e $1 ]] && mv "$1" "$2"; }
6
7 ver=$1
8 img=$2
9 map=$3
10 dir=$4
11
12 mount "${dir}" >&/dev/null
13 if [[ ! -w "${dir}" ]] ; then
14 mount "${dir}" -o remount,rw
15 fi
16
17 case ${img} in
18 */blackfin/*)
19 mmv ${dir}/uImage ${dir}/uImage.old
20 mmv ${dir}/${map} ${dir}/${map}.old
21
22 cp ${img} ${dir}/uImage
23 cp ${map} ${dir}/${map}
24 exit 0
25 ;;
26
27 */s390/*)
28 pushd /lib/modules >/dev/null
29 for v in * ; do
30 [[ -d ${v} ]] || continue
31 [[ -e ${dir}/image-${v} ]] && continue
32 echo rm -rf ${PWD}/${v}
33 done
34 popd >/dev/null
35
36 cp ${img} ${dir}/image-${ver}
37 xz -9c ${map} > ${dir}/System.map-${ver}.xz
38 xz -9c .config > ${dir}/config-${ver}.xz
39 ln -sf image-${ver} ${dir}/image
40 zipl
41 exit 0
42 ;;
43 esac
44
45 e /sbin/installkernel "$@"
46
47 case ${img} in
48 */x86*/*)
49 if [[ -e ${dir}/grub/grub.cfg ]] ; then
50 e grub-mkconfig -o /boot/grub/grub.cfg
51 fi
52 ;;
53 esac