天嵌 ARM开发社区

 找回密码
 注册
查看: 7645|回复: 14

TQ2440开发板NFS起根文件系统

[复制链接]
记事本 发表于 2011-12-8 18:20:41 | 显示全部楼层 |阅读模式

     NFS(网络文件系统,network file system)是一种将远程主机上的分区或者目录经过网络挂在到本地的一种机制,通过对网络文件的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享目录进行操作。
     本文将结合笔者自身开发实验的实际情况针对天嵌科技TQ2440开发板使用NFS起根文件系统的方法做详细的说明,仅供初学者参考之用。
开发环境:
  PC机:装有Red hat Enterprise5的虚拟机
  目标平台:TQ2440开发板
还有必需的串口线,交叉网线等
Linux虚拟机下设置NFS服务器:
(1)安装:如果在安装linux的时候选择的是完全安装的话,此时NFS服务器应该已经正确安装。使用如下命令先查看有没有nfs-utils的安装包
#rpm -q nfs-utils
如果显示“nfs-utils-1.0.9-24.el5”则说明已安装。
如果没有安装nfs-utils的安装包,那么从对应的linux操作系统版本的安装光盘上找到nfs-utils的安装包并使用如下命令安装即可。
#rpm -ivh nfs-utils-1.0.9-24.el5.i386.rpm
配置:
配置NFS服务器,加入允许被哪些计算机访问、访问的目录和访问权限。
#vi /etc/exports
内容如下:其中的第三行是我们根据本实验内容添加的。

其中:1、/opt/EmbedSky/root_nfs : 允许其他计算机访问的目录
      2、192.168.4.* : 被允许访问该目录的客户端IP地址
      3、rw: 可读可写
      4、sync:同步写磁盘(async:资料会先暂存于内存当中,而非直接写入硬盘)
       5、no_root_squash:表示客户端root用户对该目录具备写权限。
注意这里的root_nfs笔者是直接使用的天嵌科技光盘自带的文件系统root_qtopia_2.2.0_2.6.30.4_20100601.tar,将其解压之后重命名为root_nfs放到虚拟机下的/opt/EmbedSky目录下。

还应注意在复制了文件系统之后,里面的内容可能会稍有变化。在进进入root_nfs目录,其下的dev目录下的两个文件节点console和null就有可能不存在了,需要自己在创建:#mknod console c 5 1
#mknod null c 1 3
可能有的情况下这两个文件节点依然存在,但是文件属性发生了变化,如下图所示:

之后再修改etc/init.d/rcS文件,屏蔽掉net_set &这一行,改为#net_set &即可。
启动NFS:操作如下图

测试:
配置完成之后就可以在本地计算机上测试一下能否NFS服务器上的共享目录.

上图中我们使用mount命令将NFS服务器上的共享目录挂载到根目录的mnt目录,用ls命令查看会发现本机的mnt目录和本机的root_nfs目录内容是一样的,也就是说通过NFS服务器将本机的root_nfs目录挂载到了本机的mnt目录。
NFS服务器一般用于两台不同的linux主机之间的挂载(例如linux虚拟机和开发板之间),这里的挂载只是为了测试NFS服务器能否正常工作。之后还需要使用umount命令卸载,否则在下一次挂载时将不能挂载。
linux虚拟机网络设置:
#ifconfig eth0 192.168.4.7

后面的ip地址根据个人实际情况而定。
关闭linux虚拟机的防火墙:
#service iptables stop  如下图所示:

硬件连接:
连接开发板和电脑之间的串口线和交叉网线,并正确配置串口工具secureCRT,开发板上电之后出现如下图所示信息:

在该模式下选择命令0,设置uboot的系统参数,之后再选择命令1,设置开发板从NFS启动的参数,包括虚拟机ip地址,开发板ip地址,子网掩码和共享目录等信息,设置完成之后选择命令s,保存刚所设置的参数,之后命令q,回到uboot的usb系在模式。操作如下图:


在回到usb下载模式菜单之后就可以启动开发板了,但是应注意必须保证(1)开发板必须和pc机连接网线,并且网络是通的(2)开发板必须烧写有uboot和linux内核(3)yaffs文件系统是否烧写无关紧要,因为现在开发板启动时挂载的是NFS文件系统,而不是yaffs文件系统。(4)pc的linux必须有NFS,而且测试能够使用NFS.
满足上述条件之后输入命令8,启动开发板。
在虚拟机下进入我们的根文件系统目录root_nfs,我们在home目录建立一个hello.c 文件,内容为空即可。

建立好之后回到开发板的串口控制台,进入home目录下查看发现多了hello.c 文件,从而说明系统能正常工作了。
 楼主| 记事本 发表于 2011-12-8 18:28:19 | 显示全部楼层
仅供参考

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
raominping 发表于 2011-12-8 19:14:50 | 显示全部楼层
谢谢楼主的共享
302609161 发表于 2011-12-8 21:32:38 | 显示全部楼层
谢谢分享了 !!
suiz1986 发表于 2012-2-10 19:42:54 | 显示全部楼层
:'(   谢谢
月骅 发表于 2012-3-8 10:40:11 | 显示全部楼层
多谢分享,很好的资料
ww110052181 发表于 2012-7-9 22:45:52 | 显示全部楼层
高手路过风
神的诱惑 发表于 2012-7-20 23:32:57
谢谢楼主分享
支持 反对

xingyuan 发表于 2012-11-7 21:34:13 | 显示全部楼层
超级给力,楼主好人啊!:'(
为而不争 发表于 2013-3-13 10:14:40 | 显示全部楼层
楼主啊 ,为什么我的开发板按您的步骤之后,总是不断重启呢
夏雨 发表于 2013-3-17 20:52:07 | 显示全部楼层
为而不争 发表于 2013-3-13 10:14
楼主啊 ,为什么我的开发板按您的步骤之后,总是不断重启呢

可能是你在做配置单的时候选择了开门狗选项。
夏雨 发表于 2013-3-17 20:52:40 | 显示全部楼层
楼主辛苦了!
W_Controller 发表于 2013-3-18 15:22:36 | 显示全部楼层
支持楼主分享,顶一下!
W_Controller 发表于 2013-3-21 20:02:40 | 显示全部楼层
我的也是按照楼主的做了,本机上可以挂载;但是开发板就挂载不上,如下图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-10-5 10:28 , Processed in 1.060588 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表