我使用的是君正的芯片JZ4750,下载Linux内核源码,将Linux-2.6.31.3,然后将君正的补丁包配置上去。make apus_defconfig、make menuconfig、make uImage后生成的uImage,将uImage移植到目标板后。(u-boot和文件系统都移植好的)启动目标板,启动信息如下:
如果加载的是正常的uImage,最后串口打印的信息如下。可分析是内核网络配置的问题。
目标板使用的是USB转网卡的DM9000,启动信息里面都有显示。可是到>startup lo network adapter的时候,提示信息:ifconfig: SIOCSIFADDR: No such device。然后使用ifconfig -a 显示如下:
很明显网口eth0未启动。那么如何在内核配置文件中启动eth0.
急急急~~~~~~~~
可以在 /etc/init.d/rcs 这个启动脚本配置。
你可以加一句话:
ifconfig eth0 up
那为何使用命令 #ifconfig -a 查看所有网口 就没有eth0的信息呢。如果内核识别到有eth0 就应该显示它的信息。不使用 #ifconfig eth0 up ,也应该可以显示eth0信息。
@ansinfly: 你可以看一看我给你指的那个脚本内容,看一下eth0是怎么配置的。
我在utuntu10.04中,经常发现使用ifconfig 没有eth2(我的网卡),让后在建立一个脚本net.sh:
echo "ifconfig eth2 start"
ifconfig eh2 172.18.197.32 netmask 255.255.248.0
echo "success"
让后保存复制到/usr/bin中
在linux中,有时候上网切换为nat模式(VMware10),与板端交叉互译需切换为桥接,经常没有发现eth2.
另外补充下:
/etc/init.d/rcs这个也很重要,里面除了看门狗和启动程序外,还加个mount进去(linux的ip)
mount -t nfs 172.18.197.32:/home/nfs /nfsroot/ -o nolock
其中/home/nfs是linux下文件 /nfsroot/是板端文件系统