3 # installer - start installer frontend and backend as per pfi config.
4 # $Id: installer,v 1.20 2005/04/13 03:32:16 cpressey Exp $
5 # $DragonFly: src/nrelease/gui/usr/local/bin/installer,v 1.1 2008/09/01 21:20:31 swildner Exp $
8 # Pick up the correct installer target, use local first if we have it
9 if [ -f /usr/sbin/dfuife_curses ]; then
10 FRONTEND=/usr/sbin/dfuife_curses
11 FRED=/usr/share/installer/fred.txt
13 FRONTEND=/usr/pkg/sbin/dfuife_curses
14 FRED=/usr/pkg/share/dfuife_curses/fred.txt
23 $pfi_backend -r $RENDEZVOUS -t $TRANSPORT >/dev/null 2>&1
38 # Console start sequence:
39 # - Backend (and all other logging) goes to console (ttyv0)
40 # - curses frontend starts on ttyv1.
41 # - Uses vidcontrol -s 2 to switch to ttyv1 once the frontend is up.
43 echo -n "Starting installer. "
45 if [ -r /etc/defaults/pfi.conf ]; then
46 . /etc/defaults/pfi.conf
49 if [ -r /etc/pfi.conf ]; then
50 echo "Reading /etc/pfi.conf ..."
53 echo "/etc/pfi.conf not found, starting interactive install."
56 # We can set up any install variables and such
57 # here by examining pfi_* variables.
59 if [ "X$pfi_run" != "X" ]; then
64 case "X$pfi_dfui_transport" in
66 sysctl kern.caps_enabled=1
67 RENDEZVOUS="installer"
70 RENDEZVOUS="installer"
76 echo "Unsupported DFUI transport '$pfi_dfui_transport'."
81 if [ "X$SERIAL" = "XYES" ]; then
82 background_backend $RENDEZVOUS $pfi_dfui_transport &
84 ESCDELAY=$pfi_curses_escdelay \
87 -t $pfi_dfui_transport \
88 -b /usr/share/dfuife_curses/fred.txt \
93 case "X$pfi_frontend" in
95 $pfi_backend -r $RENDEZVOUS -t $pfi_dfui_transport
99 $pfi_backend -r $RENDEZVOUS -t $pfi_dfui_transport
103 ps auwwwxxx > /tmp/ps.txt
104 if grep -q dfuife_curses /tmp/ps.txt; then
105 # Frontend is already running.
107 ESCDELAY=$pfi_curses_escdelay \
110 -t $pfi_dfui_transport \
112 2>/dev/ttyv0 </dev/ttyv1 >/dev/ttyv1 &
116 vidcontrol -s 2 </dev/ttyv0
117 $pfi_backend -r $RENDEZVOUS -t $pfi_dfui_transport
120 killall dfuife_curses
121 vidcontrol -s 1 </dev/ttyv0
124 ps auwwwxxx > /tmp/ps.txt
125 if grep -q dfuife_curses /tmp/ps.txt; then
126 echo "Frontend is already running"
128 ESCDELAY=$pfi_curses_escdelay \
131 -t $pfi_dfui_transport \
133 >$TTY_INST <$TTY_INST 2>&1 &
137 $pfi_backend -r $RENDEZVOUS -t $pfi_dfui_transport
140 killall dfuife_curses
146 echo "Unknown installer frontend '$pfi_frontend'."
155 $pfi_shutdown_command
164 if [ "X$1" = "Xserial" ]; then
168 TTY=`w | awk '{ print $2 }' | tail -n1`
169 if [ "tty$TTY" = "ttyd0" ]; then
173 ps auwwwxxx > /tmp/ps.txt
174 if grep -q dfuibe_installer /tmp/ps.txt; then
175 # Installer is already running. Log in normally.
182 ### END of installer ###