#!/bin/sh # installer - start installer frontend and backend as per pfi config. # $Id: installer,v 1.4 2004/07/10 23:30:41 cpressey Exp $ # $DragonFly: src/nrelease/installer/usr/local/bin/installer,v 1.4 2004/07/11 07:46:29 cpressey Exp $ # auto-login on ttyv0. # backend (and all other logging) on ttyv0 (console.) # curses frontend starts on ttyv1. # use vidcontrol -s 2 to switch to ttyv1. ### SUBS ### installer_start() { echo -n "Starting installer. " if [ -r /etc/defaults/pfi.conf ]; then . /etc/defaults/pfi.conf fi if [ -r /etc/pfi.conf ]; then echo "Reading /etc/pfi.conf ..." . /etc/pfi.conf else echo "/etc/pfi.conf not found, starting interactive install." fi # We can set up any install variables and such # here by examining pfi_* variables. if [ "X$pfi_run" != "X" ]; then pfi_frontend=none $pfi_run fi case "X$pfi_dfui_transport" in Xcaps) sysctl kern.caps_enabled=1 RENDEZVOUS="installer" ;; Xnpipe) RENDEZVOUS="installer" ;; Xtcp) RENDEZVOUS="9999" ;; *) echo "Unsupported DFUI transport '$pfi_dfui_transport'." return ;; esac case "X$pfi_frontend" in Xcgi) cp /usr/local/sbin/dfuibe_installer /var/run/dfuibe_installer /var/run/dfuibe_installer -r test -t $pfi_dfui_transport RESULT=$? ;; Xcurses) ps auwwwxxx > /tmp/ps.txt if grep -q dfuife_curses /tmp/ps.txt; then # Frontend is already running. else /usr/local/sbin/dfuife_curses -r $RENDEZVOUS \ -t $pfi_dfui_transport \ -b /usr/local/share/dfuife_curses/fred.txt \ 2>/dev/ttyv0 /dev/ttyv1 & fi rm -f /tmp/ps.txt sleep 1 vidcontrol -s 2 cp /usr/local/sbin/dfuibe_installer /var/run/dfuibe_installer /var/run/dfuibe_installer -r $RENDEZVOUS -t $pfi_dfui_transport RESULT=$? sleep 1 killall dfuife_curses vidcontrol -s 1 ;; Xnone) RESULT=0 ;; *) echo "Unknown installer frontend '$pfi_frontend'." return ;; esac case "$RESULT" in 0) ;; 5) shutdown -h now ;; *) ;; esac } ### MAIN ### ps auwwwxxx > /tmp/ps.txt if grep -q dfuibe_installer /tmp/ps.txt; then # Installer is already running. Log in normally. rm -f /tmp/ps.txt else rm -f /tmp/ps.txt installer_start fi ### END of installer ###