blob: 41eb27f459ae599ec8bcfa2062fe30bc2c14226f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#!/bin/bash
# configures network on host system according to installer settings
# if some variables are not set, we handle that transparantly
# however, at least $DHCP must be set, so we know what do to
# we assume that you checked whether networking has been setup before calling us
target_configure_network()
{
# networking setup could have happened in a separate process (eg partial-configure-network),
# so check if the settings file was created to be sure
if [ -f $RUNTIME_DIR/aif-network-settings ]; then
debug NETWORK "Configuring network settings on target system according to installer settings"
source $RUNTIME_DIR/aif-network-settings 2>/dev/null || return 1
IFO=${INTERFACE_PREV:-eth0} # old iface: a previously entered one, or the arch default
IFN=${INTERFACE:-eth0} # new iface: a specified one, or the arch default
# comment out any existing uncommented entries, whether specified by us, or arch defaults.
for var in eth0 $IFO INTERFACES gateway ROUTES
do
sed -i "s/^$var=/#$var=/" ${var_TARGET_DIR}/etc/rc.conf || return 1
done
sed -i "s/^nameserver/#nameserver/" ${var_TARGET_DIR}/etc/resolv.conf || return 1
if [ -f ${var_TARGET_DIR}/etc/profile.d/proxy.sh ]
then
sed -i "s/^export/#export/" ${var_TARGET_DIR}/etc/profile.d/proxy.sh || return 1
fi
if [ "$DHCP" = 0 ] ; then
local line="$IFN=\"$IFN ${IPADDR:-192.168.0.2} netmask ${SUBNET:-255.255.255.0} broadcast ${BROADCAST:-192.168.0.255}\""
append_after_last "/$IFO\|eth0/" "$line" ${var_TARGET_DIR}/etc/rc.conf || return 1
if [ -n "$GW" ]; then
append_after_last "/gateway/" "gateway=\"default gw $GW\"" ${var_TARGET_DIR}/etc/rc.conf || return 1
append_after_last "/ROUTES/" "ROUTES=(gateway)" ${var_TARGET_DIR}/etc/rc.conf || return 1
fi
if [ -n "$DNS" ]
then
echo "nameserver $DNS" >> ${var_TARGET_DIR}/etc/resolv.conf || return 1
fi
else
append_after_last "/$IFO\|eth0/" "$IFN=\"dhcp\"" ${var_TARGET_DIR}/etc/rc.conf || return 1
fi
append_after_last "/$IFO\|eth0/" "INTERFACES=($IFN)" ${var_TARGET_DIR}/etc/rc.conf || return 1
if [ -n "$PROXY_HTTP" ]; then
echo "export http_proxy=$PROXY_HTTP" >> ${var_TARGET_DIR}/etc/profile.d/proxy.sh || return 1
chmod a+x ${var_TARGET_DIR}/etc/profile.d/proxy.sh || return 1
fi
if [ -n "$PROXY_FTP" ]; then
echo "export ftp_proxy=$PROXY_FTP" >> ${var_TARGET_DIR}/etc/profile.d/proxy.sh || return 1
chmod a+x ${var_TARGET_DIR}/etc/profile.d/proxy.sh || return 1
fi
else
debug NETWORK "Skipping Host Network Configuration - aif-network-settings not found"
fi
return 0
}
|