原创 构建嵌入式LINUX的NFS

2008-9-20 21:54 2581 5 6 分类: MCU/ 嵌入式

安装用于作为网络文件系统(nfs)的 root 目录
#tar xzvf root-for-nfs-v5.tgz -C /friendly-arm
设定网络文件系统共享目录
#cat exports >> /etc/exports  //将exports的文件内容添加到 /etc/exports文件中
启动网络文件系统服务
#/etc/init.d/nfs restart
在 6.1一节中的第 7、10、11 步,您已经在主机上建立和启动了NFS 文件系统服务。下 (P127)
面解释一下该服务的配置文件 exports:
/friendly-arm/root       *(rw,sync,no_root_squash)
/friendly-arm/root 是代表要作为 SBC-2410X 的根文件系统的共享目录;*代表所有的客户
机都可以挂接此文件系统;rw 代表客户机以读写许可来挂接它们的根文件系统;no_root_squash
选项允许客户机以主机上的 root 身份挂接根文件系统。请阅读 exports 的手册获取更详细的信
息。
当按复位键启动 SBC-2410X 时,在主机的串口终端按下空格键,进入 vivi提示符模式,
输入nfs启动的参数(该启动参数为方便用户输入,已经作为文本文件保存在光盘的param_nfs.txt
文件中),该文件内容如下:
param set linux_cmd_line "console=ttyS0 root="/dev/nfs" nfsroot="192".168.0.1:/friendly-arm/root
ip=192.168.0.69:192.168.0.1:192.168.0.1:255.255.255.0:matrix4.arm9.net:eth0:off"
如下图所示输入 nfs 启动参数,然后使用“param save”命令保存:



构建嵌入式LINUX的NFS
准备工作:
一台装有REDHAT9.0的PC机,一套LJD2410-I开发板,PC机上装有LJD2410的软件包,假如我
们通过NFS要加载的文件系统为/LJD2410/root_dir/root_china,
Ifconfig eth0 192.168.1.100  //设置PC机linux的IP:192.168.1.100,
Ifconfig eth0 192.168.1.10  //开发板IP:192.168.1.10
   
    我们需要重新配置编译内核,开启开发板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.100:/LJD2410/root_dir/root_china noinitrd
         init="linuxrc" console="ttys0" ip="192".168.1.10"
运行make menuconfig进入配置菜单,装载配置文件SMDK2410
    选择Load an Alternate Configuration File输入配置文件的路径和文件名
添加内核对NFS的支持:
选中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、  设置PC机上的共享目录执行vi /etc/exports,在里面添加一
行:/LJD2410/root_dir/root_china  (rw),然后保存退出,/和rw要有空格
(/LJD2410/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.100,
则可以用
mount 192.168.1.100:/LJD2410/root_dir/root_china /mnt,如果mount成功,则在/mnt
的目录就可以看到root_china下面的东西了。
    6、 修改root_china/usr/etc/rc.local文件,设置开发板IP地址为192.168.1.10
    至此,开发板和PC机的设置都已经基本完成,假如我们在PC机上调试好的应用程序已
经放到/root_china这个嵌入式的文件系统下面,我们则可以用网络连接好开发板和PC机,
开发板上电,系统开始运行并且通过运行nfs网络文件系统就可以进入熟悉的linux界面
了。
    以后调试程序只需要把编译好的程序放到root_china的目录下面就可以了,开发板不
再需要烧写。 

文章评论1条评论)

登录后参与讨论

用户1413561 2008-12-4 20:54

大哥把你的root-for-nfs-v5.tgz 传给我吧,谢谢了,我的邮箱是wowocpp@163.com,或者给个下载链接也行。
相关推荐阅读
用户1359586 2011-07-07 11:49
一个简单字符驱动
网上常见的一个linux字符驱动,见 http://www.dzsc.com/data/html/2009-5-31/76528.html insmod test.ko lsmod      就可...
用户1359586 2010-05-14 22:38
FPGA自己产生reset
遇到一个FPGA没有外部的reset,只能自己产生了,这么简单一个问题居然想了很久才实现。在modelsim仿真是对的,还没有实际操作,也希望和大家讨论一下module reset_generatio...
用户1359586 2010-05-10 22:27
SRAM的时序约束
http://blog.ednchina.com/ilove314/198969/message.aspx#85821  读SRAM时序约束分析分析了SRAM的IO计算,但是没有讲如何具体的计算和Ti...
用户1359586 2010-04-07 21:09
CCS6000安装问题
http://bbs.21ic.com/icview-39374-1-1.html在安装CCS6000的时候,运行ccs6000.exe的时候,碰到好几机子都装不上。主要问题是在安装到“compone...
用户1359586 2010-01-13 21:15
matlab 函数:sprintf
for i="1:20"     j="sprintf"('%03d',i)endj =001j =002j =003j =004j =005j =006j =007j =008j =009j =01...
用户1359586 2009-09-29 09:54
有着十三亿人众的孔孟之乡没有一个教育家
   耶鲁大学校长 小贝诺.施密德特  曾任耶鲁大学校长的小贝诺?施密德特,日前在耶鲁大学学报上公开撰文批判中国大学,引起了美国教育界人士对中国大学的激烈争论。 对中国大学近年来久盛不衰的“做大做强”...
我要评论
1
5
关闭 站长推荐上一条 /2 下一条