一般在都是需要使用nfs文件系统来开发测试自己的程序在开发板上的运行的,如果每一次更改都先通过u-boot烧录的nand flash上面的话浪费大量时间,所以再开发之前必须设置nfs文件系统:
电脑:ubuntu 12.04
目标板:OK6410
1.电脑开启nfs服务
1).先安装nfs:sudo apt-get install nfs-kernel-server
2).修改nfs 的config文件:文件目录/etc/exports,在exports文件里面添加目标板nfs文件系统的所在路径以及各种选项,内容如下:
/home/csb/code/2440rootfs *(rw,insecure,sync,all_squash) #这是tq2440的
/home/csb/code/6410rootfs * (rw,insecure,sync,all_squash) #ok6410的nfs
修改之后需要使用source命令来使设置生效:sudo source /etc/exports
3).重启nfs服务
sudo service portmap restart
sudo service nfs-kernel-server restart
4).测试是否成功
Showmount -e后会出现如下内容
csb@csb-ThinkPad-Edge-E430c:~$ showmount -e
Export list for csb-ThinkPad-Edge-E430c:
/home/csb/code/6410rootfs *
/home/csb/code/2440rootfs *
则成功了。
5).设置有线网卡ip
一般使用网线将电脑网口和目标板网口相连接,然后将电脑ip地址设置为静态ip
这里设置为192.168.1.101,通过ubuntu 的network manger设置
2.目标板设置使用nfs启动系统
1).在u-boot菜单中将bootargs设置为
bootargs=console=ttySAC0root=/dev/nfs nfsroot=192.168.1.101:/home/csb/code/2440rootfs ip=192.168.1.110:192.168.1.101:192.168.1.1:255.255.255.0
其中ip=板ip:电脑ip:网关:子网掩码
2).如果没有任何错误的话就能够成功加载linux系统
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
IP-Config: Complete:
device=eth0, addr=192.168.1.110, mask=255.255.255.0, gw=192.168.1.110,
host=SKY2440, domain=, nis-domain=embedsky.net,
bootserver=192.168.1.101, rootserver=192.168.1.101, rootpath=
Looking up port of RPC 100003/2 on 192.168.1.101
Looking up port of RPC 100005/1 on 192.168.1.101
VFS: Mounted root (nfs filesystem) on device 0:11.
Freeing init memory: 240K
Start Qt-4.5
usbcore: registered new interface driver rt73usb
usbcore: registered new interface driver zd1211rw
initializing s3c2440 camera interface......
s3c2440 camif init done
Loading OV9650 driver.........
OV9650 address 0x60, manufacture ID 0xFFFF, expect 0x7FA2
OV9650 address 0x60, manufacture ID 0xFFFF, expect 0x7FA2
No OV9650 found!!!
[16/Jun/2009:09:40:08 +0000] boa: server version Boa/0.94.13
[16/Jun/2009:09:40:08 +0000] boa: server built Jul 29 2009 at 14:27:34.
要使用开发板测试程序的时候只需要将其cp到nfs文件就好了。