您的位置:首页 > 理论基础 > 计算机网络

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

2012-05-16 15:38 295 查看
在Linux系统的开发过程中,在移植好u-boot、Linux内核,并利用busybox制作好文件系统的各个目录及配置文件之后,做的第一件事就是配置系统的tftp、nfs服务,打通虚拟机Linux系统与主机的network,实现挂载网路文件系统,挂载成功后就可以根据需要制作相应的根文件系统了。所谓的网络文件系统就是让嵌入式系统的板子烧写完内核后无需再烧写文件系统,而是在板子内核启动后直接挂载pc的linux系统下设置的文件系统目录即可。

 

网络文件系统会陪伴开发人员从系统(包括内核、文件系统)的调试、应用程序的开发和调试的整个过程,直至产品的发布。

 

下面是挂载网络文件系统的方法和步骤:

一、         
要确保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

 

二、         
配置Linux的tftp服务器

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息