altboot: Releas of the first stable version: 0.0.5. Tested on Akita and Collie
authorMatthias Hentges <oe@hentges.net>
Thu, 2 Mar 2006 16:19:04 +0000 (16:19 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Thu, 2 Mar 2006 16:19:04 +0000 (16:19 +0000)
packages/altboot/altboot_0.0.0.bb
packages/altboot/altboot_0.0.5.bb [moved from packages/altboot/altboot_0.0.5-rc5.bb with 100% similarity]
packages/altboot/files/altboot-menu/Advanced/35-kexec [new file with mode: 0644]

index 6aaa7ea..7d56cbd 100644 (file)
@@ -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/files/altboot-menu/Advanced/35-kexec b/packages/altboot/files/altboot-menu/Advanced/35-kexec
new file mode 100644 (file)
index 0000000..41b193a
--- /dev/null
@@ -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
+