本文共 2164 字,大约阅读时间需要 7 分钟。
飞凌OK6410开机后的IP默认是192.168这样的路由形式的,每次开机都需要自己设置ip非常麻烦,于是想改成开机DHCP自动获取IP,这样来的最为简单,自动获取IP的命令其实很简单,只需要加入开机初始化设置中即可。自动获取ip:
udhcpc -i eth0
板子开启后的启动初始化文件位于\etc\init.d文件夹中的rcS中,此文件最后一部分内容如下:
/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/boaecho " " > /dev/tty1echo "Starting Qtopia2, please waiting..." > /dev/tty1echo " "echo "Starting Qtopia2, please waiting..." /bin/qtopia &
从这里可以看到,通过ifconfig-eth0文件启动网络服务,之后先后开启ftp等网络服务,最后启动qtopia。可以注意倒数几行的不同,/dev/tty1是在液晶屏上也显示这些信息。
再看ifconfig-eth0文件。
#!/bin/shecho -n Try to bring eth0 interface up......>/dev/ttySAC0if [ -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.confelse 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 fifiecho Done > /dev/ttySAC0
从这个文件里能够看出网络的配置过程,这里先读取/etc/eth0-setting 配置文件,根据文件是否存在进行相应的操作,如果文件存在读取文件内容,通过查找关键字判断是否是nfs启动等情况,进而利用配置文件进行配置,/etc/eth0-setting 文件内容如下:
IP=192.168.0.232Mask=255.255.255.0Gateway=192.168.0.201DNS=8.8.8.8MAC=08:90:90:90:90:90
通过这几个文件就能理清楚在启动中的网络初始化关系了,因此,更改为开机自动获取ip就很简单了,这里在\etc\init.d新建一个文件autoconfig-eth0内容如下,我这里还加入了nfs自动挂载:
#!/bin/shecho -n***** Try to autoconfig eth0 watting.....*****>/dev/ttySAC0ifconfig eth0 downifconfig eth0 hw ether 08:90:90:90:90:90ifconfig eth0 upudhcpc -i eth0echo eth0 autoconfig Done >/dev/ttySAC0echo -n auto mount nfs 10.4.62.86:/armnfs to /mnt >/dev/ttySAC0 mount -t nfs -o nolock 10.4.62.86:/armnfs /mnt
chmod 777 更改文件权限,之后只需要把rcS中的网络配置文件改为这个文件即可。
启动结果如图所示
本文转自emouse博客园博客,原文链接:http://www.cnblogs.com/emouse/archive/2013/04/18/3027907.html,如需转载请自行联系原作者