diff --git a/usr/share/archboot/installer/setup b/usr/share/archboot/installer/setup index 97a52afa0..86b96fcc7 100755 --- a/usr/share/archboot/installer/setup +++ b/usr/share/archboot/installer/setup @@ -3062,7 +3062,6 @@ auto_network() # args: none # returns: 1 on failure donetwork() { - ### TODO: add simple netcfg routine here! NETPARAMETERS="" while [[ "${NETPARAMETERS}" = "" ]]; do # select network interface @@ -3079,13 +3078,16 @@ donetwork() { # wireless switch CONNECTION="" WLAN_HIDDEN="" + WLAN_HEX="" WLAN_ESSID="" WLAN_SECURITY="" WLAN_KEY="" DIALOG --defaultno --yesno "Is your network device wireless?" 0 0 if [[ $? -eq 0 ]]; then CONNECTION="wireless" - DIALOG --inputbox "Enter your ESSID" 16 65 "" 2>${ANSWER} || return 1 + DIALOG --defaultno --yesno "Is your wireless ESSID hexadecimal?" 0 0 + [[ $? -eq 0 ]] && WLAN_HEX="yes" + DIALOG --inputbox "Enter your ESSID" 16 65 "MyNetwork" 2>${ANSWER} || return 1 WLAN_ESSID=$(cat ${ANSWER}) DIALOG --defaultno --yesno "Is your wireless network hidden?" 0 0 [[ $? -eq 0 ]] && WLAN_HIDDEN="yes" @@ -3100,7 +3102,7 @@ donetwork() { 0) WLAN_SECURITY=$(cat ${ANSWER}) ;; esac done - DIALOG --inputbox "Enter your KEY" 16 65 "" 2>${ANSWER} || return 1 + DIALOG --inputbox "Enter your KEY" 16 65 "WirelessKey" 2>${ANSWER} || return 1 WLAN_KEY=$(cat ${ANSWER}) else WLAN_SECURITY="open" @@ -3113,21 +3115,20 @@ donetwork() { DIALOG --yesno "Do you want to use DHCP?" 0 0 if [[ $? -eq 0 ]]; then IP="dhcp" + DHCLIENT="" + DIALOG --defaultno --yesno "Do you want to use dhclient instead of dhcpcd?" 0 0 + [[ $? -eq 0 ]] && DHCLIENT="yes" S_DHCP=1 else IP="static" - DIALOG --inputbox "Enter your IP address" 8 65 "192.168.0.2" 2>${ANSWER} || return 1 + DIALOG --inputbox "Enter your IP address" 8 65 "192.168.1.23" 2>${ANSWER} || return 1 IPADDR=$(cat ${ANSWER}) - DIALOG --inputbox "Enter your netmask" 8 65 "255.255.255.0" 2>${ANSWER} || return 1 - SUBNET=$(cat ${ANSWER}) - DIALOG --inputbox "Enter your broadcast" 8 65 "192.168.0.255" 2>${ANSWER} || return 1 - BROADCAST=$(cat ${ANSWER}) - DIALOG --inputbox "Enter your gateway" 8 65 "192.168.0.1" 2>${ANSWER} || return 1 + DIALOG --inputbox "Enter your gateway" 8 65 "192.168.1.1" 2>${ANSWER} || return 1 GW=$(cat ${ANSWER}) - DIALOG --inputbox "Enter your DNS server IP" 8 65 "192.168.0.1" 2>${ANSWER} || return 1 + DIALOG --inputbox "Enter your DNS server IP" 8 65 "192.168.1.1" 2>${ANSWER} || return 1 DNS=$(cat ${ANSWER}) fi - DIALOG --yesno "Are these settings correct?\n\nInterface: ${INTERFACE}\nConnection: ${CONNECTION}\nESSID: ${WLAN_ESSID}\nHidden: ${WLAN_HIDDEN}\nEncryption: ${WLAN_SECURITY}\nKey: ${WLAN_KEY}\nDHCP or static: ${IP}\nIP address: ${IPADDR}\nNetmask: ${SUBNET}\nGateway: ${GW}\nDNS server: ${DNS}" 0 0 + DIALOG --yesno "Are these settings correct?\n\nInterface: ${INTERFACE}\nConnection: ${CONNECTION}\nESSID_HEX: ${WLAN_HEX}\nESSID: ${WLAN_ESSID}\nHidden: ${WLAN_HIDDEN}\nEncryption: ${WLAN_SECURITY}\nKey: ${WLAN_KEY}\nDHCP or static: ${IP}\nDHCLIENT: ${DHCLIENT}\nIP address: ${IPADDR}\nGateway: ${GW}\nDNS server: ${DNS}" 0 0 case $? in 1) ;; 0) NETPARAMETERS="1" ;; @@ -3137,10 +3138,26 @@ donetwork() { NETWORK_PROFILE="" DIALOG --inputbox "Enter your network profile name" 16 65 "${INTERFACE}-${CONNECTION}" 2>${ANSWER} || return 1 NETWORK_PROFILE=$(cat ${ANSWER}) - ### write profile + # write profile echo "CONNECTION=\'${CONNECTION}\'" >/etc/network.d/${NETWORK_PROFILE} + echo "DESCRIPTION=\'$NETWORK_PROFILE generated by archboot setup\'" >>/etc/network.d/${NETWORK_PROFILE} echo "INTERFACE=\'${INTERFACE}\'" >>/etc/network.d/${NETWORK_PROFILE} - # run netcfg + if [[ "${CONNECTION}" = "wireless" ]]; then + echo "SECURITY=\'${WLAN_SECURITY}\'" >>/etc/network.d/${NETWORK_PROFILE} + [[ "${WLAN_HEX}" = "yes" ]] && echo "ESSID_TYPE='hex'" >>/etc/network.d/${NETWORK_PROFILE} + echo "ESSID=\'${WLAN_ESSID}\'" >>/etc/network.d/${NETWORK_PROFILE} + echo "KEY=\'${WLAN_KEY}\'" >>/etc/network.d/${NETWORK_PROFILE} + [[ "${WLAN_HIDDEN}" = "yes" ]] && echo "HIDDEN=yes" >>/etc/network.d/${NETWORK_PROFILE} + fi + echo "IP=\'${IP}\'" >>/etc/network.d/${NETWORK_PROFILE} + if [[ "${IP}" = "dhcp" ]]; then + [[ "${DHCLIENT}" = "yes" ]] && echo "DHCLIENT=yes" >>/etc/network.d/${NETWORK_PROFILE} + else + echo "ADDR=\'${IPADDR}\'" >>/etc/network.d/${NETWORK_PROFILE} + echo "GATEWAY=\'${GW}\'" >>/etc/network.d/${NETWORK_PROFILE} + echo "DNS=\(\'${DNS}\'\)" >>/etc/network.d/${NETWORK_PROFILE} + fi + # run netcfg netcfg -u ${NETWORK_PROFILE} # http/ftp proxy settings DIALOG --inputbox "Enter your HTTP proxy server, for example:\nhttp://name:port\nhttp://ip:port\nhttp://username:password@ip:port\n\n Leave the field empty if no proxy is needed to install." 16 65 "" 2>${ANSWER} || return 1