core/src/etc/rc.initial
2015-08-22 19:39:03 +02:00

109 lines
2.2 KiB
Bash
Executable File

#!/bin/sh
# Copyright (c) 2014-2015 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2004-2011 Scott Ullrich <sullrich@gmail.com>
# Copyright (c) 2003-2004 Manuel Kasper <mk@neon1.net>
# All rights reserved.
# make sure the user can't kill us
trap : 2
trap : 3
# If recovery console shell option has been specified
if [ -f "/tmp/donotbootup" ]; then
rm /tmp/donotbootup
/bin/csh
/usr/local/etc/rc.reboot
# no coming back from here
fi
# shell started with parameters, passthrough to real shell
if [ -n "${*}" ]; then
/bin/csh "${@}"
exit ${?}
fi
# endless loop
while : ; do
echo
# If we are on the install media advertise that fact
if _tmpdir=$(mktemp -d -q /.diskless.XXXXXX); then
rmdir ${_tmpdir}
else
option99="99) Launch the installer"
fi
echo " 0) Logout 7) Ping host"
echo " 1) Assign Interfaces 8) Shell"
echo " 2) Set interface(s) IP address 9) pfTop"
echo " 3) Reset the root password 10) Filter Logs"
echo " 4) Reset to factory defaults 11) Restart web interface"
echo " 5) Halt system 12) Upgrade from console"
echo " 6) Reboot system 13) Restore a configuration"
if [ -n "${option99}" ]; then
# flat for alignment...
echo " ${option99}"
fi
echo
read -p "Enter an option: " OPCODE
echo
# see what the user has chosen
case ${OPCODE} in
0|exit|logout|quit)
exit
;;
1)
/usr/local/etc/rc.initial.setports
;;
2)
/usr/local/etc/rc.initial.setlanip
;;
3)
/usr/local/etc/rc.initial.password
;;
4)
/usr/local/etc/rc.initial.defaults
;;
5)
/usr/local/etc/rc.initial.halt
;;
6)
/usr/local/etc/rc.initial.reboot
;;
7)
/usr/local/etc/rc.initial.ping
;;
8)
/bin/csh
;;
9)
/usr/local/sbin/pftop
;;
10)
/usr/sbin/tcpdump -s 256 -v -S -l -n -e -ttt -i pflog0
;;
11)
/usr/local/etc/rc.restart_webgui
;;
12)
/usr/local/etc/rc.initial.firmware
;;
13)
/usr/local/etc/rc.restore_config_backup
;;
99)
/usr/local/etc/rc.installer
;;
*)
/bin/sh -c "${OPCODE}"
;;
esac
/usr/local/etc/rc.initial.banner
done