diff options
author | Matthias Hentges <oe@hentges.net> | 2005-08-04 18:07:53 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2005-08-04 18:07:53 +0000 |
commit | 1ccca3990804fa39ec648c415c1a24756fab83c8 (patch) | |
tree | 08c0acce82c0adae3ccea22ae5573f129f2cb0dc /packages/altboot/files/altboot-menu/99-ownScripts-example | |
parent | 019903803d5b8d1fead525d1f0d197b1786c1b8c (diff) |
altboot: Sources are now managed by OE's mt database.
Diffstat (limited to 'packages/altboot/files/altboot-menu/99-ownScripts-example')
-rw-r--r-- | packages/altboot/files/altboot-menu/99-ownScripts-example | 81 |
1 files changed, 81 insertions, 0 deletions
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 + |