嵌入式Linux开发板上NFS文件系统的使用

本文描述了在开发嵌入式linux系统时调试程序的一个方法,本文以深圳远峰的yf2410dvk为开发平台,描述在嵌入式linux下面如何使用nfs文件系统来开发调试应用程序,其它的嵌入式平台类似。
在嵌入式linux系统中,编译的环境和运行的环境不一样,所以我们需要交叉编译工具,一般是在pc上面运行交叉编译工具编译好程序,然后再烧写到目标板的flash上,对于应用程序,我们需要频繁的调试,如果每次都需要烧写,那一定是一件很烦的事情,本文讲述的就是如何避开这个问题,通过nfs文件系统来调试程序的方法。
准备工作:
一台装有redhat9.0的pc机,一套yfdvk2410开发板,pc机上装有yfdvk2410的软件包,假如我们通过nfs要加载的文件系统为/yf2410/root_dir/root_china,pc机ip:192.168.1.102,开发板ip:192.168.1.134
yfdvk2410开发板设置:
我们需要重新配置编译内核,开启开发板nfs文件系统功能,具体步骤如下:
1、 修改kernel/arch/arm/def-configs/smdk2410配置文件
把config_cmdline=root=/dev/mtdblock2 noinitrd init=/linuxrc console=ttys0这一行改为config_cmdline=root=/dev/nfs rw nfsroot=192.168.1.102:/yf2410/root_dir/root_china noinitrd init=linuxrc console=ttys0 ip=192.168.1.134
2、 运行make menuconfig进入配置菜单,装载配置文件smdk2410
选中networking options-》ip:kernel level auloconfiguralion项
选中file systems-》network file systems-》下的root file system on nfs和nfs file system support
重新编译内核
下载bootloader和kernel到开发板上,至此,开发板设置已经完成。
pc机设置:
我们必须开启pc机的nfs服务,具体设置如下:
1、 在linux命令符下运行setup,在system services里面选中nfs服务,然后保存退出。
2、 执行vi /etc/exports,在里面添加一行:/yf2410/root_dir/root_china (rw),然后保存退出,/和rw要有空格(/yf2410/root_dir/root_china为共享目录,rw为读写权限)。
3、 执行/etc/rc.d/init.d/nfs restart重启nfs服务。
4、 为了不必每次开机都要启动nfs服务,我们把/etc/rc.d/init.d/nfs restart 添加到/etc/rc.d/rc.local中,以后pc启动的时候就会执行此文件开启nfs服务。
5、 测试nfs服务:设置完成后可以在本机上进行测试,如果本机ip为192.168.1.102,则可以用mount 192.168.1.102:/yf2410/root_dir/root_china /mnt,如果mount成功,则在/mnt的目录就可以看到root_china下面的东西了。
6、 修改root_china/usr/etc/rc.local文件,设置开发板ip地址为192.168.1.134
至此,开发板和pc机的设置都已经基本完成,假如我们在pc机上调试好的应用程序已经放到/root_china这个嵌入式的文件系统下面,我们则可以用网络连接好开发板和pc机,开发板上电,系统开始运行并且通过运行nfs网络文件系统就可以进入熟悉的linux界面了。
以后调试程序只需要把编译好的程序放到root_china的目录下面就可以了,开发板不再需要烧写。

存储芯片涨价?突发的停电让东芝3D NAND工厂已停产数日
陀螺仪怎么做到如此极端精度的呢
带你分析数控车床螺纹编程切削
协作机器人市场发展现状与未来
国内动力电池或掣肘造车进程
嵌入式Linux开发板上NFS文件系统的使用
模拟集成电路的原理及应用范围介绍
29家智能锁大比拼 智能锁安全性问题仍需解决
[图文]4个元件制作微型无线调频话筒
内地情何以堪:香港4G LTE网速五倍于3G
俄机器人宇航员把3D打印的骨组织和蛋白晶体样本带回地球
雷霆应急基于互联网等高新技术,打造一体化的应急资源智能管理服务平台
使用低功耗组件的高功率非电池供电系统如何有益
吉利沃尔沃合并尘埃落定 全球新跨国车企联盟诞生
使用X射线检测BGA裂纹型虚焊的优势
Apple VR手套专利可让我们感受到虚拟纹理
工业机器人会怎样给人类带来福利
安世估值347亿,闻泰引入投资现金增资
魅族新品发布会如约而至 重磅推出18款配件产品
如何从ArduinoWatchCore制作Arduino手表