环境:
单板:s3c2440 内核:Linux-2.6.22.6 U-boot1.16 初始根文件系统Yaffs2
前提条件
1. 开发板上要烧写好文件系统
2. 能正常开机进入Linux系统
3.uboot中启动参数类似于 bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0
(最好是除NFS之外的文件系统启动,如果已经设置了NFS启动,但是失败了,无法正常开机,建
先设置U-Boot启动参数如上,save保存,再重新烧写根文件系统,让开发板正常进入系统)
步骤:
1.搭建(下载)、配置和重启NFS服务器
2.Ping 通服务器
3.执行挂载命令
1.搭建(下载)、配置和重启NFS服务器
下载:sudo apt-get install nfs-kernel-server
配置:sudo vi /etc/exports 目的是为了允许此目录能被别人挂接
在文件中添加
/work/nfs *(rw,sync,no_root_squash)
/var/lib/tftpboot *(rw,sync,no_root_squash)
其中/work/*** 为你自己想共享的目录
然后保存,重启NFS服务器或者Ubuntu(如果不重启,配置不会生效),命令如下:
sudo /etc/init.d/nfs-kernel-server restart
现在NFS服务器就可使用了。
2.Ping通服务器
开发板正常进入Linux系统
ifconfig 查看IP以及网卡号,若与服务器不在同一网段,修改IP
ifconfig eth0 xxx.xx.xx.x
Ping一下服务器,测试一下数据是否传输正常
3.执行挂载命令
在开发板上执行挂载命令
mount -t nfs -o nolock,vers=2 10.101.15.2:/work/nfs /mnt
解释下参数:
mount :挂载命令
nfs :使用的协议
nolock :不阻塞
vers : 使用的NFS版本号
IP : NFS服务器的IP(NFS服务器运行在哪个系统上,就是哪个系统的IP)
/work/nfs: 要挂载的目录(Ubuntu的目录)
/mnt : 要挂载到的目录(开发板上的目录,注意挂载成功后,/mnt下原有数据将会被隐藏,无法找到)
进入/mnt目录,查看文件,就可以看见Ubuntu服务器中的文件
推荐这种方式,因为简单。随时想挂载就挂载,Ubuntu系统即使不开机(前提是ubuntu ip没变)也不影响开发板的启动。
若使用NFS作为根文件系统来启动 ,若Ubuntu未启动或者文件系统有问题,开发板根本无法开机,严重影响体验。
使用NFS作为根文件系统来启动及其注意事项
详见链接:【教程】NFS挂载那些事
文章大部分参考百问网公众号文章:【教程】NFS挂载那些事