busybox-udhcpc-default.script 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/bin/sh
  2. # udhcpc script edited by Tim Riker <Tim@Rikers.org>
  3. [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
  4. RESOLV_CONF="/etc/resolv.conf"
  5. [ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
  6. [ -n "$subnet" ] && NETMASK="netmask $subnet"
  7. case "$1" in
  8. deconfig)
  9. grep -q -v ip= /proc/cmdline
  10. if [ $? -eq 0 ]; then
  11. /sbin/ifconfig $interface up
  12. fi
  13. grep -q -v nfsroot= /proc/cmdline
  14. if [ $? -eq 0 ]; then
  15. /sbin/ifconfig $interface 0.0.0.0
  16. fi
  17. if [ -x /usr/sbin/avahi-autoipd ]; then
  18. /usr/sbin/avahi-autoipd -k $interface
  19. fi
  20. ;;
  21. leasefail|nak)
  22. if [ -x /usr/sbin/avahi-autoipd ]; then
  23. /usr/sbin/avahi-autoipd -wD $interface --no-chroot
  24. fi
  25. ;;
  26. renew|bound)
  27. if [ -x /usr/sbin/avahi-autoipd ]; then
  28. /usr/sbin/avahi-autoipd -k $interface
  29. fi
  30. /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
  31. if [ -n "$router" ] ; then
  32. echo "deleting routers"
  33. while route del default gw 0.0.0.0 dev $interface ; do
  34. :
  35. done
  36. for i in $router ; do
  37. route add default gw $i dev $interface
  38. done
  39. fi
  40. echo -n > $RESOLV_CONF
  41. [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
  42. for i in $dns ; do
  43. echo adding dns $i
  44. echo nameserver $i >> $RESOLV_CONF
  45. done
  46. ;;
  47. esac
  48. exit 0