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 $
12 $pfi_backend -r $RENDEZVOUS -t $TRANSPORT >/dev/null 2>&1
27 # Console start sequence:
28 # - Backend (and all other logging) goes to console (ttyv0)
29 # - curses frontend starts on ttyv1.
30 # - Uses vidcontrol -s 2 to switch to ttyv1 once the frontend is up.
32 echo -n "Starting installer. "
34 if [ -r /etc/defaults/pfi.conf ]; then
35 . /etc/defaults/pfi.conf
38 if [ -r /etc/pfi.conf ]; then
39 echo "Reading /etc/pfi.conf ..."
42 echo "/etc/pfi.conf not found, starting interactive install."
45 # We can set up any install variables and such
46 # here by examining pfi_* variables.
48 if [ "X$pfi_run" != "X" ]; then
53 case "X$pfi_dfui_transport" in
55 sysctl kern.caps_enabled=1
56 RENDEZVOUS="installer"
59 RENDEZVOUS="installer"
65 echo "Unsupported DFUI transport '$pfi_dfui_transport'."
70 if [ "X$SERIAL" = "XYES" ]; then
71 background_backend $RENDEZVOUS $pfi_dfui_transport &
73 ESCDELAY=$pfi_curses_escdelay \
74 /usr/sbin/dfuife_curses \
76 -t $pfi_dfui_transport \
77 -b /usr/share/installer/fred.txt \
82 if [ "X$pfi_frontend" = "Xauto" ]; then
83 if [ "X$DISPLAY" = "X" ]; then
90 case "X$pfi_frontend" in
92 $pfi_backend -r $RENDEZVOUS -t $pfi_dfui_transport
96 $pfi_backend -r $RENDEZVOUS -t $pfi_dfui_transport
100 ps auwwwxxx > /tmp/ps.txt
101 if grep -q dfuife_curses /tmp/ps.txt; then
102 # Frontend is already running.
104 ESCDELAY=$pfi_curses_escdelay \
105 /usr/sbin/dfuife_curses \
107 -t $pfi_dfui_transport \
108 -b /usr/share/installer/fred.txt \
109 2>/dev/ttyv0 </dev/ttyv1 >/dev/ttyv1 &
113 vidcontrol -s 2 </dev/ttyv0
114 $pfi_backend -r $RENDEZVOUS -t $pfi_dfui_transport
117 killall dfuife_curses
118 vidcontrol -s 1 </dev/ttyv0
121 ps auwwwxxx > /tmp/ps.txt
122 if grep -q dfuife_curses /tmp/ps.txt; then
123 echo "Frontend is already running"
125 ESCDELAY=$pfi_curses_escdelay \
126 /usr/sbin/dfuife_curses \
128 -t $pfi_dfui_transport \
129 -b /usr/share/installer/fred.txt \
130 >$TTY_INST <$TTY_INST 2>&1 &
134 $pfi_backend -r $RENDEZVOUS -t $pfi_dfui_transport
137 killall dfuife_curses
143 echo "Unknown installer frontend '$pfi_frontend'."
152 $pfi_shutdown_command
161 if [ "X$1" = "Xserial" ]; then
165 TTY=`w | awk '{ print $2 }' | tail -n1`
166 if [ "tty$TTY" = "ttyd0" ]; then
170 ps auwwwxxx > /tmp/ps.txt
171 if grep -q dfuibe_installer /tmp/ps.txt; then
172 # Installer is already running. Log in normally.
179 ### END of installer ###