Changeset View
Changeset View
Standalone View
Standalone View
usr.sbin/bsdinstall/scripts/netconfig_ipv4
Show All 37 Lines | |||||
: ${BSDDIALOG_OK=0} | : ${BSDDIALOG_OK=0} | ||||
: ${BSDDIALOG_CANCEL=1} | : ${BSDDIALOG_CANCEL=1} | ||||
INTERFACE=$1 | INTERFACE=$1 | ||||
IFCONFIG_PREFIX="$2" | IFCONFIG_PREFIX="$2" | ||||
test -z "$IFCONFIG_PREFIX" || IFCONFIG_PREFIX="$2 " | test -z "$IFCONFIG_PREFIX" || IFCONFIG_PREFIX="$2 " | ||||
case "${INTERFACE}" in | case "${INTERFACE}" in | ||||
"") bsddialog --backtitle 'FreeBSD Installer' --title 'Network Configuration' \ | "") bsddialog --backtitle "$OSNAME Installer" --title 'Network Configuration' \ | ||||
--msgbox 'No interface specified for IPv4 configuration.' 0 0 | --msgbox 'No interface specified for IPv4 configuration.' 0 0 | ||||
exit 1 | exit 1 | ||||
;; | ;; | ||||
esac | esac | ||||
bsddialog --backtitle 'FreeBSD Installer' --title 'Network Configuration' --yesno 'Would you like to use DHCP to configure this interface?' 0 0 | bsddialog --backtitle "$OSNAME Installer" --title 'Network Configuration' --yesno 'Would you like to use DHCP to configure this interface?' 0 0 | ||||
if [ $? -eq $BSDDIALOG_OK ]; then | if [ $? -eq $BSDDIALOG_OK ]; then | ||||
if [ ! -z $BSDINSTALL_CONFIGCURRENT ]; then | if [ ! -z $BSDINSTALL_CONFIGCURRENT ]; then | ||||
# XXX: get interface down otherwise after installation restart | # XXX: get interface down otherwise after installation restart | ||||
# dhclient does not build a new resolv.conf (see PR262262). | # dhclient does not build a new resolv.conf (see PR262262). | ||||
ifconfig $INTERFACE down | ifconfig $INTERFACE down | ||||
ifconfig $INTERFACE up | ifconfig $INTERFACE up | ||||
bsddialog --backtitle 'FreeBSD Installer' --infobox "Acquiring DHCP lease..." 0 0 | bsddialog --backtitle "$OSNAME Installer" --infobox "Acquiring DHCP lease..." 0 0 | ||||
err=$( pkill -F /var/run/dhclient/dhclient.${INTERFACE}.pid; dhclient $INTERFACE 2>&1 ) | err=$( pkill -F /var/run/dhclient/dhclient.${INTERFACE}.pid; dhclient $INTERFACE 2>&1 ) | ||||
if [ $? -ne 0 ]; then | if [ $? -ne 0 ]; then | ||||
f_dprintf "%s" "$err" | f_dprintf "%s" "$err" | ||||
bsddialog --backtitle 'FreeBSD Installer' --msgbox "DHCP lease acquisition failed." 0 0 | bsddialog --backtitle "$OSNAME Installer" --msgbox "DHCP lease acquisition failed." 0 0 | ||||
exec $0 ${INTERFACE} "${IFCONFIG_PREFIX}" | exec $0 ${INTERFACE} "${IFCONFIG_PREFIX}" | ||||
fi | fi | ||||
fi | fi | ||||
echo ifconfig_$INTERFACE=\"${IFCONFIG_PREFIX}DHCP\" >> $BSDINSTALL_TMPETC/._rc.conf.net | echo ifconfig_$INTERFACE=\"${IFCONFIG_PREFIX}DHCP\" >> $BSDINSTALL_TMPETC/._rc.conf.net | ||||
exit 0 | exit 0 | ||||
fi | fi | ||||
IP_ADDRESS=`ifconfig $INTERFACE inet | awk '/inet/ {printf("%s\n", $2); }'` | IP_ADDRESS=`ifconfig $INTERFACE inet | awk '/inet/ {printf("%s\n", $2); }'` | ||||
NETMASK=`ifconfig $INTERFACE inet | awk '/inet/ {printf("%s\n", $4); }'` | NETMASK=`ifconfig $INTERFACE inet | awk '/inet/ {printf("%s\n", $4); }'` | ||||
ROUTER=`netstat -rn -f inet | awk '/default/ {printf("%s\n", $2);}'` | ROUTER=`netstat -rn -f inet | awk '/default/ {printf("%s\n", $2);}'` | ||||
exec 3>&1 | exec 3>&1 | ||||
IF_CONFIG=$(bsddialog --backtitle 'FreeBSD Installer' --title 'Network Configuration' --form 'Static Network Interface Configuration' 0 0 0 \ | IF_CONFIG=$(bsddialog --backtitle "$OSNAME Installer" --title 'Network Configuration' --form 'Static Network Interface Configuration' 0 0 0 \ | ||||
'IP Address' 1 1 "$IP_ADDRESS" 1 20 16 0 \ | 'IP Address' 1 1 "$IP_ADDRESS" 1 20 16 0 \ | ||||
'Subnet Mask' 2 1 "$NETMASK" 2 20 16 0 \ | 'Subnet Mask' 2 1 "$NETMASK" 2 20 16 0 \ | ||||
'Default Router' 3 1 "$ROUTER" 3 20 16 0 \ | 'Default Router' 3 1 "$ROUTER" 3 20 16 0 \ | ||||
2>&1 1>&3) | 2>&1 1>&3) | ||||
if [ $? -eq $BSDDIALOG_CANCEL ]; then exit 1; fi | if [ $? -eq $BSDDIALOG_CANCEL ]; then exit 1; fi | ||||
exec 3>&- | exec 3>&- | ||||
echo $INTERFACE $IF_CONFIG | | echo $INTERFACE $IF_CONFIG | | ||||
Show All 25 Lines |