summaryrefslogtreecommitdiff
path: root/packages/altboot/files/altboot-menu
diff options
context:
space:
mode:
authorMatthias Hentges <oe@hentges.net>2005-08-04 18:07:53 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-08-04 18:07:53 +0000
commit1ccca3990804fa39ec648c415c1a24756fab83c8 (patch)
tree08c0acce82c0adae3ccea22ae5573f129f2cb0dc /packages/altboot/files/altboot-menu
parent019903803d5b8d1fead525d1f0d197b1786c1b8c (diff)
altboot: Sources are now managed by OE's mt database.
Diffstat (limited to 'packages/altboot/files/altboot-menu')
-rw-r--r--packages/altboot/files/altboot-menu/.mtn2git_empty0
-rw-r--r--packages/altboot/files/altboot-menu/00-Default14
-rw-r--r--packages/altboot/files/altboot-menu/10-noGui14
-rw-r--r--packages/altboot/files/altboot-menu/15-bootSD48
-rw-r--r--packages/altboot/files/altboot-menu/20-bootCF47
-rw-r--r--packages/altboot/files/altboot-menu/99-ownScripts-example81
-rw-r--r--packages/altboot/files/altboot-menu/Advanced/.mtn2git_empty0
-rw-r--r--packages/altboot/files/altboot-menu/Advanced/40-bootNFS95
-rw-r--r--packages/altboot/files/altboot-menu/Advanced/55-bin-sh23
9 files changed, 322 insertions, 0 deletions
diff --git a/packages/altboot/files/altboot-menu/.mtn2git_empty b/packages/altboot/files/altboot-menu/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/altboot/files/altboot-menu/.mtn2git_empty
diff --git a/packages/altboot/files/altboot-menu/00-Default b/packages/altboot/files/altboot-menu/00-Default
new file mode 100644
index 0000000000..9d29fdae2a
--- /dev/null
+++ b/packages/altboot/files/altboot-menu/00-Default
@@ -0,0 +1,14 @@
+# !/bin/sh
+M_TITLE="Normal Boot"
+
+
+run_module() {
+ exec $REAL_INIT "$INIT_RUNLEVEL"
+ exit 0
+}
+
+case "$1" in
+title) echo "$M_TITLE";;
+run) run_module;;
+esac
+
diff --git a/packages/altboot/files/altboot-menu/10-noGui b/packages/altboot/files/altboot-menu/10-noGui
new file mode 100644
index 0000000000..57141d498d
--- /dev/null
+++ b/packages/altboot/files/altboot-menu/10-noGui
@@ -0,0 +1,14 @@
+# !/bin/sh
+M_TITLE="Don't launch GUI"
+
+
+run_module() {
+ clear ; exec $REAL_INIT "$NO_GUI_RL"
+ exit 0
+}
+
+case "$1" in
+title) echo "$M_TITLE";;
+run) run_module;;
+esac
+
diff --git a/packages/altboot/files/altboot-menu/15-bootSD b/packages/altboot/files/altboot-menu/15-bootSD
new file mode 100644
index 0000000000..60d9da4339
--- /dev/null
+++ b/packages/altboot/files/altboot-menu/15-bootSD
@@ -0,0 +1,48 @@
+# !/bin/sh
+#
+# Copyright Matthias Hentges (c) 2005
+#
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the GPL)
+
+
+M_TITLE="Boot SD card"
+
+die() {
+ echo "ERROR: $1" >/dev/tty0
+ exec $SH_SHELL </dev/tty0 >/dev/tty0 2>&1
+}
+
+# This function is activated by init.altboot by calling this script with the "run" option
+run_module() {
+
+ test -e /etc/altboot.func && . /etc/altboot.func || die "ERROR: /etc/altboot.func not found. Check your installation!"
+
+ echo -n "Mounting rootfs rw..." >/dev/tty0
+ mount -o remount,rw / >/dev/tty0 2>&1 && echo ok >/dev/tty0|| die "mount -o remount,rw / failed"
+
+ echo -n "Generating device files..." >/dev/tty0
+ /etc/init.d/devices start && echo ok >/dev/tty0|| die "FAILED"
+
+
+ echo -n "Loading SD kernel module..."
+ /sbin/insmod $SD_KERNEL_MODULE >/dev/null 2>&1 && echo ok || die "insmod failed"
+
+ echo -n "Mounting $SD_MOUNTPOINT..." >/dev/tty0
+ /bin/mount -t auto -o defaults,noatime $SD_DEVICE $SD_MOUNTPOINT >/dev/null 2>&1 && echo ok >/dev/tty0|| die "/bin/mount -t auto -o defaults,noatime $SD_DEVICE $SD_MOUNTPOINT failed"
+
+ echo ""
+
+ # Give the SD and CF mounting some time. This is a must for SD
+ sleep 2
+
+ # Check for a real fs and loop-images.
+ check_target "$SD_MOUNTPOINT" >/dev/tty0
+
+}
+
+
+case "$1" in
+title) echo "$M_TITLE";;
+run) run_module "$2";;
+esac
+
diff --git a/packages/altboot/files/altboot-menu/20-bootCF b/packages/altboot/files/altboot-menu/20-bootCF
new file mode 100644
index 0000000000..931e46995c
--- /dev/null
+++ b/packages/altboot/files/altboot-menu/20-bootCF
@@ -0,0 +1,47 @@
+# !/bin/sh
+#
+# Copyright Matthias Hentges (c) 2005
+#
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the GPL)
+
+
+M_TITLE="Boot CF card"
+
+die() {
+ echo "ERROR: $1" >/dev/tty0
+ exec $SH_SHELL </dev/tty0 >/dev/tty0 2>&1
+}
+
+# This function is activated by init.altboot by calling this script with the "run" option
+run_module() {
+
+ test -e /etc/altboot.func && . /etc/altboot.func || die "ERROR: /etc/altboot.func not found. Check your installation!"
+
+ echo -n "Mounting rootfs rw..." >/dev/tty0
+ mount -o remount,rw / >/dev/tty0 2>&1 && echo ok >/dev/tty0|| die "mount -o remount,rw / failed"
+
+ echo -n "Generating device files..." >/dev/tty0
+ /etc/init.d/devices start && echo ok >/dev/tty0|| die "FAILED"
+
+
+ echo -n "Mounting /proc..." >/dev/tty0
+ mount /proc >/dev/tty0 2>&1 && echo ok >/dev/tty0|| die "mount /proc failed!"
+
+ /etc/init.d/pcmcia start || die "/etc/init.d/pcmcia/start failed!"
+
+ echo ""
+
+ # Give the SD and CF mounting some time. This is a must for SD
+ sleep 2
+
+ # Check for a real fs and loop-images.
+ check_target "$CF_MOUNTPOINT"
+
+}
+
+
+case "$1" in
+title) echo "$M_TITLE";;
+run) run_module "$2";;
+esac
+
diff --git a/packages/altboot/files/altboot-menu/99-ownScripts-example b/packages/altboot/files/altboot-menu/99-ownScripts-example
new file mode 100644
index 0000000000..61c0645176
--- /dev/null
+++ b/packages/altboot/files/altboot-menu/99-ownScripts-example
@@ -0,0 +1,81 @@
+# !/bin/sh
+#
+# Copyright Matthias Hentges (c) 2005
+#
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the GPL)
+
+
+# This file will teach you how to implement your own scripts while using existing altboot
+# code.
+
+# /sbin/init.altboot searches /etc/altboot-menu for scripts. It will only list scripts which
+# return a title when run with the "title" parameter.
+# Script which do not return a title will never be shown in the boot menu!
+#
+M_TITLE="altboot sample"
+
+# We can use that to deactivate certain scripts:
+exit 0
+
+# The "title" parameter is implemented at the end of this script so it will never be reached
+# and the script will simply be ignored by altboot.
+
+
+# The die() function aborts the boot if something goes wrong and sets STDIN / STDERR / STDOUT
+# correctly.
+die() {
+ echo "ERROR: $1" >/dev/tty0
+ exec $SH_SHELL </dev/tty0 >/dev/tty0 2>&1
+}
+
+# This function is activated by init.altboot by calling this script with the "run" option
+run_module() {
+
+ # altboot.func contains re-useable code. If you intend to use check_target (see below)
+ # you must keep this line. If not, delete it.
+ test -e /etc/altboot.func && . /etc/altboot.func || die "ERROR: /etc/altboot.func not found. Check your installation!"
+
+
+ # The only thing you'll have to do is get your medium mounted.
+ # The following lines mount a SD card on 2.4-series kernels on a Zaurus
+
+ ##########################################
+
+
+ echo -n "Mounting rootfs rw..." >/dev/tty0
+ mount -o remount,rw / >/dev/tty0 2>&1 && echo ok >/dev/tty0|| die "mount -o remount,rw / failed"
+
+ echo -n "Generating device files..." >/dev/tty0
+ /etc/init.d/devices start && echo ok >/dev/tty0|| die "FAILED"
+
+
+ echo -n "Loading SD kernel module..."
+ /sbin/insmod $SD_KERNEL_MODULE >/dev/null 2>&1 && echo ok || die "insmod failed"
+
+ echo -n "Mounting $SD_MOUNTPOINT..." >/dev/tty0
+ /bin/mount -t auto -o defaults,noatime $SD_DEVICE $SD_MOUNTPOINT >/dev/null 2>&1 && echo ok >/dev/tty0|| die "/bin/mount -t auto -o defaults,noatime $SD_DEVICE $SD_MOUNTPOINT failed"
+
+ echo ""
+
+ # Give the SD and CF mounting some time. This is a must for SD
+ sleep 2
+ ##########################################
+
+ # Once the medium (be it a CF or SD card, or even a NFS drive) is mounted somewhere,
+ # just call check_target with the mountpoint as parameter.
+ # check_target searches the medium for a real filesystem and loop-images and
+ # asks the user what to boot if there are several choices.
+
+ # Check for a real fs and loop-images.
+ check_target "$SD_MOUNTPOINT" >/dev/tty0
+
+ # Done :)
+
+}
+
+
+case "$1" in
+title) echo "$M_TITLE";;
+run) run_module "$2";;
+esac
+
diff --git a/packages/altboot/files/altboot-menu/Advanced/.mtn2git_empty b/packages/altboot/files/altboot-menu/Advanced/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/altboot/files/altboot-menu/Advanced/.mtn2git_empty
diff --git a/packages/altboot/files/altboot-menu/Advanced/40-bootNFS b/packages/altboot/files/altboot-menu/Advanced/40-bootNFS
new file mode 100644
index 0000000000..feedfc769b
--- /dev/null
+++ b/packages/altboot/files/altboot-menu/Advanced/40-bootNFS
@@ -0,0 +1,95 @@
+# !/bin/sh
+#
+# Copyright Matthias Hentges (c) 2005
+#
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the GPL)
+
+M_TITLE="Boot from NFS"
+
+die() {
+ echo "ERROR: $1" >/dev/tty0
+ exec $SH_SHELL </dev/tty0 >/dev/tty0 2>&1
+}
+
+# This function is activated by init.altboot by calling this script with the "run" option
+run_module() {
+
+ test -e /etc/altboot.func && . /etc/altboot.func || die "ERROR: /etc/altboot.func not found. Check your installation!"
+
+ echo -n "Mounting rootfs rw..." >/dev/tty0
+ mount -o remount,rw / >/dev/tty0 2>&1 && echo ok >/dev/tty0|| die "mount -o remount,rw / failed"
+
+ echo -n "Generating device files..." >/dev/tty0
+ /etc/init.d/devices start && echo ok >/dev/tty0|| die "FAILED"
+
+ echo -n "Mounting /proc..." >/dev/tty0
+ mount /proc >/dev/tty0 2>&1 && echo ok >/dev/tty0 || echo failed
+
+ # Needed for NFS
+ /etc/init.d/portmap start >/dev/tty1 2>&1 || die "/etc/init.d/portmap start failed!"
+
+ # For some reason NFS mounts hang if /e/i/networking is not run.
+ # For the time beeing I'm to lazy to investigate ;)
+ /etc/init.d/networking start || die "/etc/init.d/networking start failed!"
+
+ sleep 2
+
+ # After the PCMCIA service is started, an inserted WLAN card should automatically
+ # activate itself.
+ /etc/init.d/pcmcia start || die "/etc/init.d/pcmcia/start failed!"
+
+ # Give WLAN time to login into the network
+ echo "Waiting for WLAN..."
+ sleep 8
+
+ nfs_mounts="`cat /etc/fstab | grep -v ^# | grep nfs | awk '{print $1}'`"
+ nfs_mountpoints="`cat /etc/fstab | grep -v ^# | grep nfs | awk '{print $2}'`"
+
+ if test "` echo "$nfs_mountpoints" |wc -l | tr -d " "`" -gt 1
+ then
+ echo -e "Please select your NFS root:\n"
+
+ cnt=1
+ for nfs_mount in $nfs_mountpoints
+ do
+ echo -e "\t[$cnt] $nfs_mount"
+ let cnt=$cnt+1
+ done
+
+ echo ""
+
+ while test -z "$selection"
+ do
+ echo -n "Boot NFS root: "
+ read junk < /dev/tty1
+
+ cnt=1
+ for nfs_mount in $nfs_mounts
+ do
+ if test "$junk" = "$cnt"
+ then
+ selection="$nfs_mount"
+ fi
+ let cnt=$cnt+1
+ done
+
+ done
+ else
+ test -z "$nfs_mounts" && die "No NFS mounts configured in /etc/fstab!"
+ selection="$nfs_mounts"
+ fi
+
+ mkdir -p /media/nfsroot || die "mkdir -p /media/nfsroot failed!"
+
+ echo -n "Mounting NFS root..."
+ mount -t nfs "$selection" /media/nfsroot && echo ok || die "mount -t nfs "$selection" /media/nfsroot failed!"
+
+ check_target "/media/nfsroot"
+
+}
+
+case "$1" in
+title) echo "$M_TITLE";;
+run) run_module "$2";;
+esac
+
diff --git a/packages/altboot/files/altboot-menu/Advanced/55-bin-sh b/packages/altboot/files/altboot-menu/Advanced/55-bin-sh
new file mode 100644
index 0000000000..6db4adaf3a
--- /dev/null
+++ b/packages/altboot/files/altboot-menu/Advanced/55-bin-sh
@@ -0,0 +1,23 @@
+# !/bin/sh
+M_TITLE="init=/bin/sh"
+
+
+run_module() {
+
+ test -e /etc/altboot.func && . /etc/altboot.func || die "ERROR: /etc/altboot.func not found. Check your installation!"
+
+ test "$ASK_PW_ON_BOOT" != "yes" && verify_master_pw >/dev/tty0
+
+ echo -e "\nBoot system with 'exec /sbin/init 5'\n"
+ while true
+ do
+ exec $SH_SHELL </dev/tty0 >/dev/tty0 2>&1
+ echo "WARNING: Shell was killed!"
+ done
+}
+
+case "$1" in
+title) echo "$M_TITLE";;
+run) run_module;;
+esac
+