haiku/data/system/boot/Bootscript.cd

77 lines
1.2 KiB
Plaintext

## The system's main CD boot script.
##
## Some functions used by the main script
##
# launch <executable path> [thread to wait for]
launch() {
if [ -f "/boot/$1" ]
then
"/boot/$1" &
[ "$2" != "" ] && waitfor "$2"
return 1
else
echo There is no "$1"
fi
return 0
}
# launchscript <script path>
launchscript() {
if [ -f "/boot/$1" ]
then
. "/boot/$1"
fi
}
# runprog <executable path>
runprog() {
if [ -f "/boot/$1" ]
then
"/boot/$1"
return 1
else
echo There is no "$1"
fi
return 0
}
##
## Main script starts here
##
# Launch Terminal or consoled depending on $SAFEMODE
if [ "$SAFEMODE" != "yes" ]; then
cd /boot/home
if [ -x /boot/system/apps/Installer ]; then
/boot/system/apps/Installer
#/boot/system/apps/Terminal -x /boot/system/apps/Installer
else
/boot/system/apps/Terminal
fi
#launch system/apps/Terminal
else
launch system/bin/consoled
exit 0 # return so we don't eject and reboot
fi
# sync disks
/bin/sync
# prepare for reboot
# (reboot quickly in 10 seconds)
# (we must start the shutdown process before /boot is ejected)
/bin/shutdown -r -q -d 10 &
# unblock the CD tray
/bin/eject -u /boot
# and open it before rebooting
/bin/eject /boot