3 # Copyright Matthias Hentges (c) 2005
5 # License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the GPL)
8 # This file will teach you how to implement your own scripts while using existing altboot
11 # /sbin/init.altboot searches /etc/altboot-menu for scripts. It will only list scripts which
12 # return a title when run with the "title" parameter.
13 # Script which do not return a title will never be shown in the boot menu!
15 M_TITLE="altboot sample"
17 # We can use that to deactivate certain scripts:
20 # The "title" parameter is implemented at the end of this script so it will never be reached
21 # and the script will simply be ignored by altboot.
24 # The die() function aborts the boot if something goes wrong and sets STDIN / STDERR / STDOUT
27 echo "ERROR: $1" >/dev/tty0
28 exec $SH_SHELL </dev/tty0 >/dev/tty0 2>&1
31 # This function is activated by init.altboot by calling this script with the "run" option
34 # altboot.func contains re-useable code. If you intend to use check_target (see below)
35 # you must keep this line. If not, delete it.
36 test -e /etc/altboot.func && . /etc/altboot.func || die "ERROR: /etc/altboot.func not found. Check your installation!"
39 # The only thing you'll have to do is get your medium mounted.
40 # The following lines mount a SD card on 2.4-series kernels on a Zaurus
42 ##########################################
45 echo -n "Mounting rootfs rw..." >/dev/tty0
46 mount -o remount,rw / >/dev/tty0 2>&1 && echo ok >/dev/tty0|| die "mount -o remount,rw / failed"
48 echo -n "Generating device files..." >/dev/tty0
49 /etc/init.d/devices start && echo ok >/dev/tty0|| die "FAILED"
52 echo -n "Loading SD kernel module..."
53 /sbin/insmod $SD_KERNEL_MODULE >/dev/null 2>&1 && echo ok || die "insmod failed"
55 echo -n "Mounting $SD_MOUNTPOINT..." >/dev/tty0
56 /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"
60 # Give the SD and CF mounting some time. This is a must for SD
62 ##########################################
64 # Once the medium (be it a CF or SD card, or even a NFS drive) is mounted somewhere,
65 # just call check_target with the mountpoint as parameter.
66 # check_target searches the medium for a real filesystem and loop-images and
67 # asks the user what to boot if there are several choices.
69 # Check for a real fs and loop-images.
70 check_target "$SD_MOUNTPOINT" >/dev/tty0
78 title) echo "$M_TITLE";;
79 run) run_module "$2";;