]> git.wh0rd.org - home.git/blob - .bin/installkernel
installkernel: improve s390 logic
[home.git] / .bin / installkernel
1 #!/bin/bash
2 # 2.6.35.4-default arch/s390/boot/image System.map /boot
3
4 mmv() { [[ -e $1 ]] && mv "$1" "$2" ; }
5
6 ver=$1
7 img=$2
8 map=$3
9 dir=$4
10
11 mount "${dir}" >&/dev/null
12
13 case ${img} in
14 */blackfin/*)
15 mmv ${dir}/uImage ${dir}/uImage.old
16 mmv ${dir}/${map} ${dir}/${map}.old
17
18 cp ${img} ${dir}/uImage
19 cp ${map} ${dir}/${map}
20 exit 0
21 ;;
22
23 */s390/*)
24 pushd /lib/modules >/dev/null
25 for v in * ; do
26 [[ -d ${v} ]] || continue
27 [[ -e ${dir}/image-${v} ]] && continue
28 echo rm -rf ${PWD}/${v}
29 done
30 popd >/dev/null
31
32 rm -f ${dir}/{config,System.map}-${ver}.xz
33 cp ${img} ${dir}/image-${ver}
34 cp ${map} ${dir}/System.map-${ver}
35 cp .config ${dir}/config-${ver}
36 xz -9f ${dir}/{config,System.map}-${ver}
37 ln -sf image-${ver} ${dir}/image
38 zipl
39 exit 0
40 ;;
41 esac
42 exec /sbin/installkernel "$@"