diff options
Diffstat (limited to 'meta/recipes-core/busybox/files/simple.script')
-rw-r--r-- | meta/recipes-core/busybox/files/simple.script | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/meta/recipes-core/busybox/files/simple.script b/meta/recipes-core/busybox/files/simple.script new file mode 100644 index 0000000000..5cc21b9de2 --- /dev/null +++ b/meta/recipes-core/busybox/files/simple.script | |||
@@ -0,0 +1,72 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # udhcpc script edited by Tim Riker <Tim@Rikers.org> | ||
4 | |||
5 | [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 | ||
6 | |||
7 | RESOLV_CONF="/etc/resolv.conf" | ||
8 | [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" | ||
9 | [ -n "$subnet" ] && NETMASK="netmask $subnet" | ||
10 | |||
11 | # return 0 if root is mounted on a network filesystem | ||
12 | root_is_nfs() { | ||
13 | grep -qe '^/dev/root.*\(nfs\|smbfs\|ncp\|coda\) .*' /proc/mounts | ||
14 | } | ||
15 | |||
16 | have_bin_ip=0 | ||
17 | if [ -x /bin/ip ]; then | ||
18 | have_bin_ip=1 | ||
19 | fi | ||
20 | |||
21 | case "$1" in | ||
22 | deconfig) | ||
23 | if ! root_is_nfs ; then | ||
24 | if [ $have_bin_ip -eq 1 ]; then | ||
25 | ip addr flush dev $interface | ||
26 | ip link set dev $interface up | ||
27 | else | ||
28 | /sbin/ifconfig $interface 0.0.0.0 | ||
29 | fi | ||
30 | fi | ||
31 | ;; | ||
32 | |||
33 | renew|bound) | ||
34 | if [ $have_bin_ip -eq 1 ]; then | ||
35 | ip addr add dev $interface local $ip/$mask $BROADCAST | ||
36 | else | ||
37 | /sbin/ifconfig $interface $ip $BROADCAST $NETMASK | ||
38 | fi | ||
39 | |||
40 | if [ -n "$router" ] ; then | ||
41 | if ! root_is_nfs ; then | ||
42 | if [ $have_bin_ip -eq 1 ]; then | ||
43 | while ip route del default 2>/dev/null ; do | ||
44 | : | ||
45 | done | ||
46 | else | ||
47 | while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do | ||
48 | : | ||
49 | done | ||
50 | fi | ||
51 | fi | ||
52 | |||
53 | metric=0 | ||
54 | for i in $router ; do | ||
55 | if [ $have_bin_ip -eq 1 ]; then | ||
56 | ip route add default via $i metric $((metric++)) | ||
57 | else | ||
58 | route add default gw $i dev $interface metric $((metric++)) 2>/dev/null | ||
59 | fi | ||
60 | done | ||
61 | fi | ||
62 | |||
63 | echo -n > $RESOLV_CONF | ||
64 | [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF | ||
65 | for i in $dns ; do | ||
66 | echo adding dns $i | ||
67 | echo nameserver $i >> $RESOLV_CONF | ||
68 | done | ||
69 | ;; | ||
70 | esac | ||
71 | |||
72 | exit 0 | ||