嵌入式linux网络文件系统的挂载方法

2019-07-12 22:28发布

Linux系统的开发过程中,在移植好u-bootLinux内核,并利用busybox制作好文件系统的各个目录及配置文件之后,做的第一件事就是配置系统的tftpnfs服务,打通虚拟机Linux系统与主机的network,实现挂载网路文件系统,挂载成功后就可以根据需要制作相应的根文件系统了。所谓的网络文件系统就是让嵌入式系统的板子烧写完内核后无需再烧写文件系统,而是在板子内核启动后直接挂载pclinux系统下设置的文件系统目录即可。   网络文件系统会陪伴开发人员从系统(包括内核、文件系统)的调试、应用程序的开发和调试的整个过程,直至产品的发布。   下面是挂载网络文件系统的方法和步骤: 一、          要确保Linux系统的网络畅通,能ping同主机和板卡: 1、              在克隆虚拟机时,默认的eth0会被占用(建议在刚刚copy虚拟并启动后选择“I moved it”),解决方法: 打开/etc/udev/rules.d/70-persistent-net.rules文件 #PCI device 0x1022:0x2000(vmxnet) SUBSYSTM==”net”, ACTION==”add”, DRIVERS==”?*”, attr{address}==”00:0c:29:fe:88:e5”, ATTR{type}==”1”, KERNEL==”eth*”, NAME=”eth*”(保留最后一行) 全部删除,然后将留下的最后一行的”ethx”改成”eth0”,保存退出。 2、              设置网卡: 打开/etc/sysconfig/network-script/ifcfg-eth0文件 添加或修改 DEVICE=eth0 BOOTPROTO=static(none) IPADDR=192.168.0.55  (自己定义IP) NETMASK=192.168.0.254  (自己定义IP) ONBOOT=yes  (关键点) 3、              重启虚拟机; 4、              重启网卡: /etc/init.d/network  restart 选择右上角的小电脑图标,点击选eth0   二、          配置Linuxtftp服务器 1、  安装tftp的三个工具: xinetd-2.3.14-18.fc9.i386.rpm tftp-0.42-3.1.i386.rpm tftp-server-0.42-3.1.i386.rpm 执行: rpm  –iv  xinetd-2.3.14-18.fc9.i386.rpm rpm  –iv  tftp-0.42-3.1.i386.rpm  rpm  –iv  tftp-server-0.42-3.1.i386.rpm 2、  配置/etc/xinetd.d/tftp文件 (安装工具之前没有此文件) Service tftp {   socket_type=dgram   protocol –udp   wait =yes   user =root server = /usr/sbin/in.tftpd server_args  =  -s  /tftpboot  –c      /tftpboot文件下载存放目录;-c 允许上船 disable =no per_source = 11 cps = 100 2 flags =IPv4 }   3、  关闭防火墙: /etc/init.d/iptables  stop 4、  建立tftp工作目录: 到根目录下执行 mkdir  tftpboot                                  Chmod  777  tftpboot 5、  测试一下: 执行tftp   三、          配置nfs服务器 一般情况下PC Linux系统都是默认安装的 1、  修改/etc/exports文件 /source/nfsroot  *(rw, sync, no_root_squash)   2、  使修改了的exports生效: Exportfs  –rv 3、  建立nfs挂载目录: 根目录下执行 mkdir  source mkdir  nfsroot 4、  开启nfs服务 /etc/init.d/nfs  start 5、  测试: mount  –t  nfs  192.168.0.55:/source/nfsroot  /mnt   四、          板卡内核也要同时支持nfs服务,重新编译内核    make menuconfig File system--->  [*]Network File system--->      <*>NFS client support       <*>Root file system on NFS   五、          设定u-boot挂载网络文件系统: Setnev bootargs root=/dev/nfs nfsroot=192.168.0.55:/source/nfsroot ip=192.168.0.100 noinitrd console=ttyS0,115200