3 # udhcpc client script to be used by Debian Installer
4 # Copyright (C) 2009, 2010 Otavio Salvador <otavio@debian.org>
7 echo "$1" | sed 's/ /,/g'
11 local cfg=/etc/resolv.conf
13 if [ -n "$domain" ] || [ -n "$dns" ]; then
15 if [ -n "$domain" ]; then
16 echo search $domain >> $cfg
20 echo nameserver $i >> $cfg
26 local current=$(cat /proc/sys/kernel/hostname)
28 if [ -z "$current" ] || [ "$current" = "(none)" ]; then
29 echo "$hostname" > /proc/sys/kernel/hostname
34 local file="/var/lib/udhcp/udhcpc.leases"
36 mkdir -p /var/lib/udhcp
39 interface "$interface";
41 filename "$boot_file";
42 option subnet-mask $subnet;
43 option domain-name "$domain";
44 option host-name "$hostname";
45 option domain-name-servers $(comma_separate "$dns");
46 option dhcp-server-identifier $serverid;
47 option dhcp-lease-time $lease;
48 option routers $(comma_separate "$router");
49 option ntp-servers $(comma_separate "$ntpsrv");
56 ip link set "$interface" up
57 ip addr flush dev "$interface"
63 ip addr add "$ip/$subnet" dev "$interface"
65 if [ -n "$mtu" ]; then
66 ip link set "$interface" mtu "$mtu"
69 for r in "$router"; do
70 ip route add default via "$r"
75 # Get the domain name into a file suitable for netcfg to read.
76 printf "$domain" > /tmp/domain_name
78 if [ -n "$ntpsrv" ]; then
79 printf "$ntpsrv" > /tmp/dhcp-ntp-servers
82 logger -t udhcpc "Got IP $ip (using $interface) and routing through $router"
87 echo "udhcpc: has been called with an unknown param: $1"