且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

OK6410开机自动获取ip及网络启动总结

更新时间:2022-08-24 15:15:54

飞凌OK6410开机后的IP默认是192.168这样的路由形式的,每次开机都需要自己设置ip非常麻烦,于是想改成开机DHCP自动获取IP,这样来的最为简单,自动获取IP的命令其实很简单,只需要加入开机初始化设置中即可。自动获取ip:

udhcpc -i eth0

板子开启后的启动初始化文件位于\etc\init.d文件夹中的rcS中,此文件最后一部分内容如下:

OK6410开机自动获取ip及网络启动总结
/sbin/ifconfig lo 127.0.0.1
/etc/init.d/ifconfig-eth0

#start ftp server user:root password:
/sbin/vsftpd &

#start telnetd server usr:root password:
/sbin/telnetd 

#start boa web service
/sbin/boa


echo "                                  " > /dev/tty1
echo "Starting Qtopia2, please waiting..." > /dev/tty1
echo "                                  "
echo "Starting Qtopia2, please waiting..." 

/bin/qtopia &
OK6410开机自动获取ip及网络启动总结

从这里可以看到,通过ifconfig-eth0文件启动网络服务,之后先后开启ftp等网络服务,最后启动qtopia。可以注意倒数几行的不同,/dev/tty1是在液晶屏上也显示这些信息。

再看ifconfig-eth0文件。

OK6410开机自动获取ip及网络启动总结
#!/bin/sh

echo -n Try to bring eth0 interface up......>/dev/ttySAC0

if [ -f /etc/eth0-setting ] ; then
    source /etc/eth0-setting

             #if grep -q "^/dev/root / nfs " /etc/mtab ; then
              if grep -q "root=/dev/nfs" /proc/cmdline;then
        echo -n NFS root ... > /dev/ttySAC0
    else
        ifconfig eth0 down
        ifconfig eth0 hw ether $MAC
        ifconfig eth0 $IP netmask $Mask up
        route add default gw $Gateway
    fi

    echo nameserver $DNS > /etc/resolv.conf
else

    if grep -q "^/dev/root / nfs " /etc/mtab ; then
        echo -n NFS root ... > /dev/ttySAC0
    else
    /sbin/ifconfig eth0 192.168.253.12 netmask 255.255.255.0 up
    fi
fi

echo Done > /dev/ttySAC0
OK6410开机自动获取ip及网络启动总结

从这个文件里能够看出网络的配置过程,这里先读取/etc/eth0-setting 配置文件,根据文件是否存在进行相应的操作,如果文件存在读取文件内容,通过查找关键字判断是否是nfs启动等情况,进而利用配置文件进行配置,/etc/eth0-setting 文件内容如下:

IP=192.168.0.232
Mask=255.255.255.0
Gateway=192.168.0.201
DNS=8.8.8.8
MAC=08:90:90:90:90:90

通过这几个文件就能理清楚在启动中的网络初始化关系了,因此,更改为开机自动获取ip就很简单了,这里在\etc\init.d新建一个文件autoconfig-eth0内容如下,我这里还加入了nfs自动挂载:

OK6410开机自动获取ip及网络启动总结
#!/bin/sh

echo -n***** Try to autoconfig eth0 watting.....*****>/dev/ttySAC0

ifconfig eth0 down
ifconfig eth0 hw ether 08:90:90:90:90:90
ifconfig eth0 up
udhcpc -i eth0

echo eth0 autoconfig Done >/dev/ttySAC0
echo -n auto mount nfs 10.4.62.86:/armnfs to /mnt >/dev/ttySAC0
 
mount -t nfs -o nolock 10.4.62.86:/armnfs /mnt
OK6410开机自动获取ip及网络启动总结

chmod 777 更改文件权限,之后只需要把rcS中的网络配置文件改为这个文件即可。

启动结果如图所示

OK6410开机自动获取ip及网络启动总结


本文转自emouse博客园博客,原文链接:http://www.cnblogs.com/emouse/archive/2013/04/18/3027907.html,如需转载请自行联系原作者