网络文件系统

时间:2022-06-01 21:19:13

挂载网络文件系统

   想先从linux驱动入手进行整理,前面最基础的环境搭建啥的就不进行总结了,买的每个开发板子实际都会有说明文档的,按照要求做就可以了。

  调试驱动的话,还是要说说网络文件系统的,要不调试程序,每次把程序烧录到开发板就能把人搞死,有了nfs就好多了。我现在手里面的开发板子是韦东山的JZ2440.

  先说说网络文件系统是啥。NFS就是Network FileSystem的缩写,它的最大功能就是可以通过网络让不同的机器,不同的操作系统彼此共享文件(sharefiles)——可以通过NFS挂载远程主机的目录,访问该目录就像访问本地目录一样,所以也可以简单的将它看作一个文件服务器(FileServer)。

   按照一下几个步骤慢慢来就能完成搭建(默认已经搭建好了编译环境和根文件系统)

  • PC端需要安装nfs服务器
       sudo apt-get install nfs-kernel-server
       sudo apt-get install portmap nfs-common
  • 编辑/etc/exports文件. 设置需要共享的文件路径,以下是我的
       /work/nfsroot *(rw,sync,no_root_squash)
         rw 该主机对该共享目录有读写权限
         sync 资料同步写入到内存与硬盘中
         no_root_squash 客户机用root访问该共享文件夹时,不映射root用户
  • 启动NFS服务
       sudo /etc/init.d/nfs-kernel-server start
       sudo /etc/init.d/portmap start
  • 进入boot 菜单 设置开发板的 ip地址信息和服务器ip
       serverip=192.168.0.103 //主机服务器的ip 也就是pc端的
       ipaddr=192.168.0.100
       gatewayip=192.168.0.255
       netmask=255.255.255.0
  • 设置boot的启动参数
         set bootargs noinitrd root=/dev/nfs nfsroot=192.168.0.103:/work/nfs_root/fs_mini_mdev  ip=192.168.0.100:192.168.0.103:192.168.0.225:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0,115200

每段的对应信息

  nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>

现在基本上就可以成功的挂载文件系统了,若果不行,可能是uboot不对、文件系统不正确,pc nfs是否打开,文件目录是否设置正确、开发板的网段是否和pc同一网段,是否互相ping的通、慢慢来,肯定可以解决。