目录
方法一
uboot设置
在ubootline执行以下命令:
-
只要用 双引号 " " → 不管加不加括号,U-Boot 都能解析变量!
-
只要用 单引号 ' ' → 不管加不加括号,U-Boot 全都不解析!
setenv bootargs "mem=32m console=ttyAMA0,115200 clk_ignore_unused root=ubi0:ubifs rootfstype=ubifs rw ubi.mtd=3 mtdparts=nand:512k(boot),512k(env),4M(kernel),32M(rootfs)"
设置eth0
setenv serverip 192.168.18.200
setenv ethaddr 00:15:00:01:41:27
setenv ipaddr 192.168.18.100
setenv netmask 255.255.255.0
setenv gatewayip 192.168.18.1方式一
setenv bootargs "{bootargs} ip={ipaddr}:{serverip}:{gatewayip}:{netmask}:{board_name}:eth0:off"
saveenv
reset方式二
setenv bootargs "mem=32m console=ttyAMA0,115200 clk_ignore_unused root=ubi0:ubifs rootfstype=ubifs rw ubi.mtd=3 mtdparts=nand:512k(boot),512k(env),4M(kernel),32M(rootfs) ip=ipaddr:serverip:gatewayip:netmask:$board_name:eth0:off"
saveenv
reset
脚本设置
~ # cat /etc/init.d/S80network
#!/bin/sh
ipaddr=
bootp=
gateway=
netmask=
hostname=
netdev=
autoconf=
for ipinfo in `cat /proc/cmdline`
do
case "$ipinfo" in
ip=*)
for var in ipaddr bootp gateway netmask hostname netdev autoconf
do
eval read $var
done << EOF
`echo "$ipinfo" | sed "s/:/\n/g" | sed "s/^[ ]*$/-/g"`
EOF
ipaddr=`echo "$ipaddr" | cut -d = -f 2`
[ x$ipaddr == x ] && ipaddr=x
;;
esac
done
[ -z "$ipaddr" ] && exit 0
echo " IP: $ipaddr"
echo " BOOTP: $bootp"
echo " GATEWAY: $gateway"
echo " NETMASK: $netmask"
echo "HOSTNAME: $hostname"
echo " NETDEV: $netdev"
echo "AUTOCONF: $autoconf"
if [ x$ipaddr == x- ] ; then
# use DHCP
:
else
cmd="ifconfig $netdev $ipaddr"
[ x$netmask != x- ] && cmd="$cmd netmask $netmask"
eval $cmd
[ x$gateway != x- ] && route add default gw $gateway
fi
ifconfig lo 127.0.0.1
~ #
方法二
~ # cat /etc/init.d/S85network_eth0
#!/bin/sh
NETDEV="eth0"
ETHADDR="00:15:00:01:41:27"
IPADDR="192.168.18.100"
NETMASK="255.255.255.0"
GATEWAY="192.168.18.1"
SERVERIP="192.168.18.200"
echo "==== 配置静态网络:$NETDEV ===="
# 等待网卡出现
i=0
while [ "$i" -lt 10 ]; do
if ifconfig "$NETDEV" >/dev/null 2>&1; then
break
fi
i=$((i + 1))
sleep 1
done
if ! ifconfig "$NETDEV" >/dev/null 2>&1; then
echo "错误:未找到网卡 $NETDEV"
exit 1
fi
# 配置回环接口
ifconfig lo 127.0.0.1 up
# 配置网卡
ifconfig "$NETDEV" down
ifconfig "$NETDEV" hw ether "$ETHADDR" 2>/dev/null
ifconfig "$NETDEV" "$IPADDR" netmask "$NETMASK" up
# 删除旧默认路由,避免重复执行时报错
route del default 2>/dev/null
# 添加默认网关
route add default gw "$GATEWAY" "$NETDEV"
echo "==== 网络配置完成 ===="
echo "NETDEV: $NETDEV"
echo "MAC: $ETHADDR"
echo "IP: $IPADDR"
echo "NETMASK: $NETMASK"
echo "GATEWAY: $GATEWAY"
echo "SERVER: $SERVERIP"
exit 0
~ #