blob: 41b193a379909afdf136e7347e65a83238eb3075 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# !/bin/sh
M_TITLE="init=/bin/sh"
exit 0
# Only kernel 2.6 offers kexec support
uname -r | grep -q "^2.6" || exit 0
run_module() {
test -e /etc/altboot.func && . /etc/altboot.func || die "ERROR: /etc/altboot.func not found. Check your installation!"
test -z "$KEXEC_KERNEL_DIR" && KEXEC_KERNEL_DIR="/boot"
test -x "$KEXEC_BIN" || die "kexec-tools not found [$KEXEC_BIN]"
# Mount /proc, etc
init_rootfs
if test "`find "$KEXEC_KERNEL_DIR" -type f -name "*zImage*" | wc -l | tr -d " "`" -gt 1
then
echo "Please choose a kernel to boot:"
cd "$KEXEC_KERNEL_DIR"
cnt=1
for f in `ls -1 "$KEXEC_KERNEL_DIR"`
do
echo "[$cnt] $f"
let cnt=$cnt+1
done
while true
do
echo -n "Boot kernel: "
read junk
if test -n "$junk"
then
cnt=1
for f in `ls -1 "$KEXEC_KERNEL_DIR"`
do
if test "$cnt" = "$junk"
then
KEXEC_KERNEL="$f"
break
fi
let cnt=$cnt+1
done
fi
done
echo "kernel dir:[$KEXEC_KERNEL_DIR]"
echo "Using kernel: [$KEXEC_KERNEL]"
for
}
case "$1" in
title) echo "$M_TITLE";;
run) run_module;;
esac
|