diff options
-rw-r--r-- | packages/altboot/altboot_0.0.0.bb | 2 | ||||
-rw-r--r-- | packages/altboot/altboot_0.0.5.bb (renamed from packages/altboot/altboot_0.0.5-rc5.bb) | 0 | ||||
-rw-r--r-- | packages/altboot/files/altboot-menu/Advanced/35-kexec | 62 |
3 files changed, 63 insertions, 1 deletions
diff --git a/packages/altboot/altboot_0.0.0.bb b/packages/altboot/altboot_0.0.0.bb index 6aaa7ead05..7d56cbd3a6 100644 --- a/packages/altboot/altboot_0.0.0.bb +++ b/packages/altboot/altboot_0.0.0.bb @@ -6,7 +6,7 @@ MAINTAINER = "Matthias 'CoreDump' Hentges <oe@hentges.net>" LICENSE = "GPL" IGNORE_STRIP_ERRORS = "1" -PR = "r25" +PR = "r26" SRC_URI = "file://altboot-menu \ diff --git a/packages/altboot/altboot_0.0.5-rc5.bb b/packages/altboot/altboot_0.0.5.bb index 1cb51a3639..1cb51a3639 100644 --- a/packages/altboot/altboot_0.0.5-rc5.bb +++ b/packages/altboot/altboot_0.0.5.bb diff --git a/packages/altboot/files/altboot-menu/Advanced/35-kexec b/packages/altboot/files/altboot-menu/Advanced/35-kexec new file mode 100644 index 0000000000..41b193a379 --- /dev/null +++ b/packages/altboot/files/altboot-menu/Advanced/35-kexec @@ -0,0 +1,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 + |