こいつ自体はDHCPサーバからもらった情報をシェル変数に代入してスクリプトを呼び出すだけ。
なので、具体的なipアドレスの割り当て等はスクリプトの方で行う。
実行されるスクリプトは /usr/share/udhcpc/default.script または -sで指定したファイル。
まずはスクリプトの内容を以下のようにして様子を見てみる。
#!/bin/sh arg is $1 set
これによると、引数を変えて2回呼び出されていることがわかる。
1回目(関係ない環境変数の部分は省略)
arg is deconfig interface='eth0'
2回目
arg is bound dhcptype='5' dns='10.0.2.3' interface='eth0' ip='10.0.2.15' lease='86400' mask='24' router='10.0.2.2' serverid='10.0.2.2' siaddr='10.0.2.2' subnet='255.255.255.0'
なので、本番のスクリプトは以下のようにしてみた。
#!/bin/sh echo $1ing... test -z "$ip" && ip=0.0.0.0 test -n "$subnet" && netmask="netmask $subnet" ifconfig $interface $ip $netmask test -n "$router" && route add default gw $router $interface test -n "$dns" && echo nameserver $dns > /etc/resolv.conf