nfs文件系统的一个错误--无法挂载文件系统,只读文件系统

来源:互联网 发布:烈火战神 源码分析 编辑:程序博客网 时间:2024/05/22 14:58

    这两天回学校做毕业设计,毕业设计的题目是做一个基于ARM的嵌入式MP3播放器,用的是一块MINI2440的开发板来模拟一个MP3播放器。一切顺利,移植UBOOT至MINI2440,裁剪内核,制作根文件系统,但在tfpt 下载内核到开发板的时候遇到了三个个错误。第一个错误是比较低级的,由于用的是虚拟机linux,所以Vmware里面的网络设置设置错了。

    我用的是windows xp主机,在xp主机上安装了Vmware虚拟机,虚拟机中跑的是redhat 5,想使用nfs挂载虚拟机redhat上面的文件系统,由于是笔记本只有一个网卡,所以只能修改IP,使xp主机,虚拟redhat和开发板同在一个网段(192.168.1.*)段。错误的选择了NAT方式,使得调了N久都不同。郁闷,后来忽然想到是不是VMware网络设置错了,才发现错误,改成Bridge就通了。

 第二个错误是下载内核解压的时候,由于使用的是nfs文件系统启动,所以在挂载nfs文件系统的时候提示找不到可用的文件系统。仔细检查下nfs配置文件:: vi /etc/exports

  /nfsrootfs192.168.1.*  (rw,sync,no_root_squash)   而我的根文件系统路径是/nfsrootfs/rootfs,按道理应该是没问题的,但就是启动不了。修改为/nfsrootfs/rootfs,重启nfs服务:etc/init.d/nfs,重新下载内核,解压正常,顺利的进入了系统。

  第三个错误是挂载虚拟redhat上面的根文件系统时候,运行应用程序提示read only file system,然后就报了段错误。 于是仔细检查虚拟redhat中根文件系统目录的读写权限,发现一切正常,即使用chmod -R 777 /nfsroot/rootfs修改为777权限时候仍然报错。再检查nfs配置文件,内容如下:

   /nfsrootfs/rootfs 192.168.1.*  (rw,sync,no_root_squash)  仍然正常。

后来上网查资料发现了一篇文章,说是中间多了个空格,192.168.1.* 与(rw,sync,no_root_squash)中间,一检查还真是,删掉重启nfs服务,重新下载内核,挂载文件系统,执行程序,顺利,收功。感谢原作者。链接:http://hanote.com/?post=14 ,好像这个文章也是别人转载的,具体的原创者不知道是那位大神了,再次感谢下。

 

原创粉丝点击