通过nfs共享目录

来源:互联网 发布:九寨沟 几月 知乎 编辑:程序博客网 时间:2024/03/28 23:11

一。 环境fedora10

板子友善之臂 mini2440    

  很开心,在学长的帮助下,nfs终于可以共享目录了,以前我的虚拟机都是只能通过NAT才可以上网,只要是通过桥连接就不可以,所以刚开始学的时候跟着友善之臂的教学视频操作,做到nfs那里的时候,就是通过samba共享服务器进行windows和linux文件的共享,然后那时候看文章一直都说的是,要三者之间互相ping通,但是我桥连接一直都上不了网,所以一直都没通过。

      当时自己就在网上到处找为什么ping不通,可是我弄好久还是没弄好,就放那里了,最近想通过nfs让开发板和linux共享文件,所以又捡起来了,但是我的还是那个问题,拿来给学长看了看,说是虚拟机没装好,然后重装了一下,结果就什么都好了,真郁闷,菜鸟就是菜鸟,遇到点问题就会被卡死,所以需要学习的东西还有很多,需要继续努。后来我发现,因为我用的是E信网,回来之后发现桥连接又不可以用了,还是同样的问题说是虚拟网卡VMnet0不能连接,查看别人的帖子,发现本地连接的协议没有安装,安装之后就好了,可是windows的网也会立马断,我觉得是E信把桥连接协议给杀死了,然后每次打开网络共享中心,然后再把协议装上就好了,但是最近又突然的桥连接上不了网,发现和以前的情况都不一样,后来发现vi /etc/udev/rules.d/70-persistent-net.rules,把里面的内容注释然后重启系统就好了。

      搭建nfs的步骤:

1.在虚拟上创建共享目录

 mkdir /home/student/rootfs_qtopia_qt4 

2.vi /etc/exports

/home/student/rootfs_qtopia_qt4 *(rw,sync,no_root_squash)(注意中间是个tab键)

/home/student/rootfs_qtopia_qt4 :共享目录

* 表示所有的客户机都可以挂接此目录
rw 表示挂接此目录的客户机对该目录有读写的权力
no_root_squash 表示允许挂接此目录的客户机享有该主机的root 身份home/student/rootfs_qtopia_qt4 :作为共享目录

设置生效并查看:
exportfs -ra
exportfs -v

3.关闭防火墙

4.enable nfs打开nfs服务器

5.在主机上进行测试

# mount -t nfs localhost:/home/student/rootfs_qtopia_qt4  /mnt/

通过/mnt目录下可以查看是否可以访问共享目录下的文件

6.设置开发板的ip,网关

vi /etc/eth0-setting

IP=192.168.1.102

Mask=255.255.255.0

Gateway=192.168.1.1

DNS=192.168.1.1

MAC=08:90:90:90:90:90

注意ip的设置要和linux在同一个网段

我的

linux的ip为:192.168.1.108

windows的ip为:192.168.1.107

然后保存退出wq

7.启动开发板

执行mount -o nolock 192.168.1.108:/home/student/rootfs_qtopia_qt4   /mnt/share

就成功了

 

 

 

附加:要想通过nfs启动

从nor flash启动,然后按照提示,设置命令行参数

1.

Supervivi>s

               >s

              > linux_cmd_line

 "console=ttySAC0 root=/dev/nfs
nfsroot=192.168.1.108:/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4
ip=192.168.1.102:192.168.1.108:192.168.1.1:255.255.255.0:sbc2440.arm9.net:eth0:off"
其中,param set linux_cmd_line 是设置启动 linux 时的命令参数。其各参数的含义
如下:
nfsroot 是自己开发主机的IP 地址。
“ip=”后面:
第一项(192.168.1.102)是目标板的临时IP(注意不要和局域网内其他IP 冲突);
第二项(192.168.1.108)是开发主机的IP;
第三项(192.168.1.1)是目标板上网关(GW)的设置;
第四项(255.255.255.0)是子网掩码;
第五项是开发主机的名字(一般无关紧要,可随便填写)
eth0 是网卡设备的名称。

 

2. b

启动nfs文件系统

不过这样开发板复位之后之前的就都没有了,所以需要修改相应的文件,具体什么文件我也没查,因为暂时不需要这功能

 

二。ubuntu下搭建nfs

 

1.sudo apt-get install nfs-kernel-server

2.sudo gedit  /etc/exports

3.sudo exportfs -ra

   sudo exportfs -v

4.sudo /etc/init.d/nfs-kernel-server restart 重启 nfs 服务

5.mount -t nfs localhost:/home/student/rootfs_qtopia_qt4  /mnt/

6. sudo umount  /mnt

  

 

 

原创粉丝点击