tag 标签: nfs

相关博文
  • 热度 25
    2013-9-30 18:22
    2367 次阅读|
    0 个评论
    两年前学linux嵌入式的时候,有一堆视频,一堆书,两个arm板,说起来资源也算丰富,但就是没有人教,自己看视频,看书,看得浑浑噩噩,什么都是半懂半不懂。然后什么搭建平台,什么内核,根文件系统,完全处于半迷茫状态,然后也不知道去看源码,就是看书,然后碰到问题就百度,按照百度的说法照着做,即使解决问题了,也不知道为什么,现在回想起来,当时的方法太不对了。当时搭建一个NFS就花了一两周的时间,然后成功了但是都不知道怎么成功的。 隔了两年又拿起arm板,这次聪明多了,先uboot,再内核,再根文件系统,有问题边百度边看源码,加上韦东山老师的书,总算明白了许多。今天又搭建NFS系统,一次性成功。多么值得纪念一下。 1,检查系统中是否已经安装了所需软件包 执行命令Rpm –q nfs-utils portmap 结果是 nfs-utils-1.0.1-2.9 portmap-4.0-54       如果未安装可以在安装光盘的RedHat/RPMS目录下找到 执行 rpm –ivh nfs-utils-1.0.1-2.9.i386.rpm安装NFS服务 rpm –ivh portmap-4.0-54.i386.rpm   安装portmap服务 建议安装红帽系统的时候选择自定义,然后选择所有的选项,这样nfs,ftp什么的应该都安装了。 2,在根目录下建立文件夹/forliux/root 3,拷贝(自己做一个也行)制作好的根文件系统(没有经过镜像制作的),到刚才目录下。 4,NFS服务的配置 主配置文件/etc/exports 该文件默认为空。可以定义NFS系统的输出目录(共享目录)、访问权限和允许访问的主机等参数。Exports文件中每一行提供了一个共享目录的设置,命令格式为: 输出目录 输出目录是必选参数,其他参数都是可选的。格式中的输出目录和客户端之间、客户端与客户端之间使用空格分隔,客户端和选项之间没有 在/etc/exports文件最后一行添加下面这个东西。就是让forlinx这个目录为共享。 /forlinx  *(rw,sync,no_root_squash) 5,重启nfs和portmap,然后设置开机自启动。具体操作方法参见下面的命令。(我的红帽系统要使用后面的命令,前面的识别不到) ①NFS正常工作需要启动portmap和nfs这两个服务,并且portmap要先于nfs启动: /etc/init.d/portmap start或service portmap start /etc/init.d/nfs start或service nfs start ②停止NFS服务 /etc/init.d/nfs stop或service nfs stop /etc/init.d/portmap stop或service portmap stop ③重启NFS /etc/init.d/nfs restart ④检查portmap和nfs服务的状态 /etc/init.d/portmap status或service portmap status /etc/init.d/nfs status或service nfs status ⑤设置开机自启动NFS 服务 Chkconfig --level 35 portmap on Chkconfig –level 35 nfs on 6,在u-boot命令行下输入以下命令设置U-boot启动参数: #setenv bootargs "root=/dev/nfs  nfsroot=192.168.0.231:/forlinx/root ip=192.168.0.232:192.168.0.231:192.168.0.201:255.255.255.0:witech.com.cn:eth0:off console=ttySAC0,115200" 保存: #saveenv 重新启动开发板,Linux内核启动后会自动挂载NFS文件系统。   在这,解释一下bootargs参数中IP,以上述设置为例。在实际使用过程当中,请以实际 网络环境进行修改:(保证虚拟机和开发板之间能ping通) 192.168.0.231 PC端Ubuntu的IP 192.168.0.232 开发板IP 192.168.0.201 网关 255.255.255.0 子网掩码  
  • 热度 19
    2013-6-3 22:05
    1538 次阅读|
    0 个评论
    Tiny210挂载NFS文件系统时把ubuntu作为NFS文件系统服务器,Tiny210作为NFS客户端。具体实现步骤如下: 安装NFS服务:、 sudo apt-get install nfs-kernel-server 创建NFS共享目录: sudo mkdir /home/nfs(也可以放在其他路径下) 配置NFS sudo vim /etc/exports,在exports文件末尾加入下面一行: /home/nfs *(rw,sync,no_subtree_check,no_root_squash) /home/nfs:表示NFS服务器路径 *:表示允许所有用户访问NFS服务器路径 rw:客户端拥有读写权限 sync:同步写入资料到内存和硬盘 no_subtree_check:不检测子目录,(提高性能) no_root_squash:客户端使用root访问服务器路径时拥有root权限,极不安全 root_squash:客户端使用root访问服务器路径时,会被当做匿名用户(权限很小,比较安全) 启动NFS服务器: 启动portmap和nfs-kernel-server服务: sudo service portmap start sudo service nfs-kernel-server start 本地验证NFS: sudo mount localhost:/home/nfs /mnt 上述命令成功后,进入/mnt路径看是否可以看到/home/nfs路径下的文件,如果可以证明NFS挂载成功, 卸载NFS服务: sudo umount /mnt/ Tiny210挂载NFS: 在Tiny210的命令行中输入:mount –t nfs –o nolock 192.168.0.101:/home/nfs /mnt,执行成功后进入/mnt,可以看到ubuntu的/home/nfs路径下面的文件,证明挂载成功。 执行此挂载命令时需注意以下几条: (1)、在Tiny210的登录终端中,使用的是root用户。 (2)、-t:指定挂载的文件系统类型是NFS,可以省略。 (3)、-o:该选项不能省略(省略后测试出现不能挂载的情况) (4)、192.168.0.101:主机IP (5)、/home/nfs:主机端NFS服务路径 (6)、/mnt:Tiny210的某一个路径(也即NFS服务路径挂载点)
  • 热度 20
    2012-12-4 20:47
    1236 次阅读|
    0 个评论
                          Zedboard: NFS 服务配置 NFS ( Network File System )网络文件系统是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制 ,在嵌入式开发中应用非常广泛,下面简要介绍基于 Zedboard 的配置过程。   1.        NFS 服务配置 检查主机是否安装 NFS 包,没有则安装 通过编辑 /etc/exports 文件,设置 NFS 目录文件访问权限 vi /etc/exports /home/telantan/nfs     192.168.1.* (rw,sync,no_root_squash)   说明: a) /home/telantan/nfs :允许其它计算机访问的目录 b) 192.168.1.* :被允许访问该目录的客户端 IP 地址 c) rw :可读可写 d) no_root_squash :表示客户端 root 用户对该目录具备写权 调用 exportfs 查看和导出 /etc/exports 中设置的共享目录 exportfs 确认 RHEL6.3 宿主机的本地 IP 地址,这里为 192.168.1.50, ip addr   启动 rpcbind 和 nfs 服务 /etc/init.d/rpcbind start /etc/init.d/nfs restart     在 REHL6.3 本机 mount 一下试试, mount –t nfs 192.168.1.50:/home/telantan/nfs tmp 报了权限错错误,别急,查看 home 权限, Group/Others 是不能访问的, 更加权限 chmod 777 /home/telantan 重新 mount ,成功,同时在桌面上出现一个 tmp 的目标   进入 tmp 中,新建一个文件,结果出现了只读错误, cd tmp touch hello.c   查看 /etc/exports 文件,发现在 IP 地址与(之间多写了空格,删除,重新 exportfs exportfs -rv       
  • 热度 19
    2012-12-4 20:45
    1545 次阅读|
    1 个评论
      再次测试 , showmount –e 127.0.0.1 mount –t nfs 192.168.1.50:/home/telantan/nfs tmp cd tmp touch hello.c ll       进入 /home/telantan/nfs 中查看,多出了 hello.c 文件,   1.        Zynq 客户端测试 Zedboard 板上默认使用的是 Digilent 提供的 OOB 代码,需要确认其编译的 linux 内核是否支持 NFS 文件系统, cat /proc/filesystems     从输出结果中可以看到,这个内核是不支持 NFS 文件系统的,所以需要自己定制一个新内核。 linux 源码可以从 XILINX GIT 中下载,默认的配置是使能 NFS 的,   编译出新的内核文件,拷到 SD 卡,上电启动,再次检查文件系统,发现已经支持 NFS 了, 在 Zed 本地客户端建立 pub 文件夹,直接 mount , mkdir pub mount –t nfs 192.168.1.50:/home/telantan/nfs tmp 如果出现了上面的错误,也不要紧张,由于这里的文件系统是基于 busybox 构成的,所以需要使用下面的命令, mount -o port=2049,nolock,proto=tcp 192.168.1.50:/home/telantan/nfs pub    在 Zed 端编辑 hello.c 在 RHEL6.3 宿主机端发现 hello.c 的内容已经更新了, vi hello.c   在宿主机端编译 hello.c , xgcc hello.c ls   然后在 Zed 客户端运行, ls chmod +x a.out ./a.out
相关资源