第一步,獲取ip位址,可手動設定,也可以通過dhcp獲取;dhcp可以在uboot傳引數的時候加入,也可以在檔案系統掛載的時候執行udhcpc;
uboot傳參:setenv bootargs console=ttys0,115200n8 noinitrd rw ip=dhcp
在檔案系統中自動獲取ip位址後,會將dns伺服器位址寫入/etc/resolv.conf中(可在/usr/share/udhcpc/default.script中指定),以下是default.script的內容:
#!/bin/sh
# udhcpc script edited by tim riker
resolv_conf="/etc/resolv.conf"
[ -n "$1" ] ||
netmask=""
[ -n "$subnet" ] && netmask="netmask $subnet"
broadcast="broadcast +"
[ -n "$broadcast" ] && broadcast="broadcast $broadcast"
case "$1" in
deconfig)
echo "setting ip address 0.0.0.0 on $inte***ce"
ifconfig $inte***ce 0.0.0.0
;;renew|bound)
echo "setting ip address $ip on $inte***ce"
ifconfig $inte***ce $ip $netmask $broadcast
if [ -n "$router" ] ; then
echo "deleting routers"
while route del default gw 0.0.0.0 dev $inte***ce ; do
:done
metric=0
for i in $router ; do
echo "adding router $i"
route add default gw $i dev $inte***ce metric $((metric++))
done
fiecho "recreating $resolv_conf"
echo -n > $resolv_conf-$$
[ -n "$domain" ] && echo "search $domain" >> $resolv_conf-$$
for i in $dns ; do
echo " adding dns server $i"
echo "nameserver $i" >> $resolv_conf-$$
done
mv $resolv_conf-$$ $resolv_conf
;;esac
第二步、連線外網,首先在pc上找乙個外網的ip位址,比方說www.baidu.com的ip,可以通過ping www.baidu.com獲取,然後在板子上ping這個位址,如果能ping通,是個好訊息,然後直接在板子上ping網域名稱:ping www.baidu.com,如果不能ping通,可以嘗試以下方法:
檢視/etc/nsswitch.conf ,確定
hosts: files dns
如果以上方法不能解決問題,那就要根據個人情況不同來處理了,good luck!
關於開發板不能ping通外網IP
最近在做遠端監控的專案,打算用開發板給乙個 傳送資料報。不過發現開發板只能ping通同一區域網內的ip,外網的ip不能ping通。糾結了半天發現是閘道器沒有設定的原因。下面來說說如何解決這個問題。首先沒設定之前用route命令檢視是這樣的 閘道器gateway下面是空的,這個時候ping外網是pin...
arm開發板自動獲IP的方法
備註 核心版本 2.6.30.9 busybox版本 1.15.2 pc linux和開發板linux的工作使用者 root 1.配置核心 networking support networking options packet socket unix domain sockets tcp ip n...
Ubuntu12與開發板連線網路,IP位址設定
使用的是vmware9.0.2裡面裝載 ubuntu12.04的系統 問題 怎麼設定虛擬機器裡的ubuntu12的ip,以及vmare使其與arm9開發板互聯?1 先檢查虛擬機器裡的橋接方式是否開啟,橋接方式就可以自動獲取和宿主機一樣的ip網段,直接與主機互聯,設定 圖 一 二 圖一 圖二2,那麼怎...