主题 : nfs搭载过程和常见问题 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 17325
精华: 0
发帖: 70
金钱: 350 两
威望: 70 点
综合积分: 140 分
注册时间: 2010-03-27
最后登录: 2012-07-06
楼主  发表于: 2011-05-02 23:06

 nfs搭载过程和常见问题

终于把mini2440的 nfs 启动搞定了,过程中真的是很曲折,在archlinux,ubuntu都可以很轻松搞定。唯独fedora9有点麻烦,不知道是不是我个人配置问题。。把配置过程写下来,和我配置过程中的一些问题

主机是  Fedora9

开发板是 mini2440
bootloader  supervivi

首先是Fedora9的设置,主要就是这里了。假定你是会使用vim 工具的。
如果不会vim ,本文所有vim 关键字,你都可以用gedit代替。

【Fedora9配置】

网络环境,路由上网,开发板接路由,PC接路由。
主机Archlinux,           virtualbox装的fedoa9    ,用桥接方式上网,IP地址用静态IP。

用户是root              用root是不想sudo ,太烦。不是做网络安全,也可以忽略安全性

设置IP可以直接在终端输入
复制代码
  1. setup  


选择
复制代码
  1. network configuration


就可以设置你的IP

设置完IP,然后关闭防火墙,选择

Firewall configuration

选择

disabled

退出 setup...

然后关闭selinux....遇到的问题1,如果不关闭selinux,有时候挂载不了,有时候可以,很烦,防火墙都关了,留着selinux意义也不大了

复制代码
  1. vim /etc/selinux/config


config文件内容
复制代码
  1. # This file controls the state of SELinux on the system.
  2. # SELINUX= can take one of these three values:
  3. #    enforcing - SELinux security policy is enforced.
  4. #    permissive - SELinux prints warnings instead of enforcing.
  5. #    disabled - No SELinux policy is loaded.
  6. SELINUX=disabled              // 这里改成disabled ,然后重启就关闭了selinux
  7. # SELINUXTYPE= can take one of these two values:
  8. #    targeted - Targeted processes are protected,
  9. #    mls - Multi Level Security protection.
  10. SELINUXTYPE=targeted

问题2: 现在要尝试ping下其他主机,试试ping 一下 开发板,可以正常启动开发板之后,无论是ce ,linux,设置个IP,然后互相ping一下,一定要ping久一点 我fedora9 最大问题就是丢包很严重,我随便ping了几下,以为可以了,但一直卡在这里,最后才发现是网络不通的问题。一定要0% loss  要互相ping 没有loss 如果ping不通,就检测开发板,你的主机的网络问题,很多诸如       IP-Config: Cannot add default route (-101). Looking up port of RPC 100003/2 on 192.168.0.106 rpcbind: server 192.168.1.111 not responding, timed out Root-NFS: Unable to get nfsd port number from server, using default
Looking up port of RPC 100005/1 on 192.168.1.106
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
所以一定要测试过能否ping通,只要网络是通畅的,nfs基本上是成功了,很多人的失败,都是由于网络不通畅引起的。多ping一下吧,不会坏的

前奏配置基本完毕,转到NFS
【NFS配置】
NFS没装的同学,先安装,这里就不教了,可以在fedora安装的时候定制安装,没定制安装的,搜索去吧。
我把linux的文件系统解压到home目录里。
是从 arm9.net 下载的 rootfs_qtopia_qt4-20100816.tar.gz    放到我的home目录下。直接解压
复制代码
  1. tar vxf rootfs_qtopia_qt4-20100816.tar.gz
随便你用什么方法,解压就好。。
然后 ls  一下,看看你解压出来叫设么名字,默认是  rootfs_qtopia_qt4
更改一下权限,chmod 777 rootfs_qtopia_qt4   问题3: 如果不赋予绝对权限,有时候莫名其妙的挂载不了,ArchLinux里面经常这样,干脆给所有权,还是那句话,不是搞网络安全,要那么安全做什么。
现在开始配置nfs
复制代码
  1. vim /etc/exports
这是一个空文件,按a 输入以下内容
/home/rootfs_qtopia_qt4 *(rw,sync,no_root_squash)保存
然后启动nfs服务/etc/init.d/nfs restart                        //restart 是重启服务,start启动服务, status 查询状态
然后就可以测试一下能否正常挂载mkdir /mnt/mini2440mount -t nfs localhost:/home/rootfs_qtopia_qt4 /mnt/mini2440
可以ls 看看/mnt/mini2440 里面的内容是不是你的解压内容。ls /mnt/mini2440
再重启一下nfs/etc/init.d/nfs restart
然后就设置mini2440进入mini2440 bios 也就是supervivi 输入q填入以下内容。param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.0.106:/home/rootfs_qtopia_qt4 ip=192.168.0.23:192.168.0.106:192.168.0.1:255.255.255.0:mini2440:eth0:off"
192.168.0.106 这个是主机的IP地址,根据你自己的设置,自己改变/home/rootfs_qtopia_qt4 这个是根文件系统的路径,你不是这样放,就按照你自己的路径填写192.168.0.23 开发板的IP地址192.168.0.106主机IP地址  192.168.0.1 这个是网关。mini2440  名字,随便起,但好像要符合 host name 的命名规则。
这个只是临时的,重启一次,要重写一次,不想麻烦的话就输入上面命令之后,输入menu  然后按s 按w 就可以保存到开发板里面了 按q 返回主菜单。
然后可以输入boot 启动,如果你保存了,就按b启动。
不出意外,应该可以正常启动了,如果你过程中遇到其他不能启动的问题,欢迎把问题贴出来。


级别: 新手上路
UID: 43669
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
综合积分: 18 分
注册时间: 2011-04-18
最后登录: 2011-06-01
1楼  发表于: 2011-05-06 14:57
mark
级别: 新手上路
UID: 43669
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
综合积分: 18 分
注册时间: 2011-04-18
最后登录: 2011-06-01
2楼  发表于: 2011-05-06 14:57
真的是帮大忙啊,与开发板手册结合起来看就好好多了。