新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式Linux开发环境的搭建之:嵌入式开发环境的搭建

嵌入式Linux开发环境的搭建之:嵌入式开发环境的搭建

作者:时间:2013-09-13来源:网络收藏


本文引用地址:http://www.amcfsurvey.com/article/257141.htm

接下来,需要创建一些重要文件。首先要创建/etc/inittab和/etc/fstab文件。inittab是Linux启动之后第一个被访问的脚本文件,而fstab文件是定义了文件系统的各个“挂接点”,需要与实际的系统相配合。接下来要创建用户和用户组文件。


以上用busybox构造了文件系统的内容,下面要创建cramfs文件系统映像文件。制作cramfs映像文件需要用到的工具是mkcramfs。此时可以采用两种方法,一种方法是使用我们所构建的文件系统(在目录“/home/david/fs2410/cramfs”中),另一种方法是在已经做好的cramfs映像文件的基础上进行适当的改动。下面的示例使用第二种方法,因为这个方法包含了第一种方法的所有步骤(假设已经做好的映像文件名为“fs2410.cramfs”)。


首先用mount命令将映像文件挂载到一个目录下,打开该目录并查看其内容。


[root@localhostfs2410]#mkdircramfs

[root@localhostfs2410]#mountfs2410.cramgscramfs–oloop

[root@localhostfs2410]#lscramfs

bindevetchomeliblinuxrcprocQtopiaramdisksbintestshelltmpusrvar


因为cramfs文件系统是只读的,所以不能在这个挂载目录下直接进行修改,因此需要将文件系统中的内容复制到另一个目录中,具体操作如下所示:


[root@localhostfs2410]#mkdirbackup_cramfs

[root@localhostfs2410]#tarcvfbackup.cramfs.tarcramfs/

[root@localhostfs2410]#mvbackup.cramfs.tarbackup_cramfs/

[root@localhostfs2410]#umountcramfs

[root@localhostfs2410]#cdbackup_cramfs

[root@localhostbackup_cramfs]#tarzvfbackup.cramfs.tar

[root@localhostbackup_cramfs]#rmbackup.cramfs.tar


此时我们就像用busybox所构建的文件系统一样,可以在backup_cramfs的cramfs子目录中任意进行修改。例如可以添加用户自己的程序:


[root@localhostfs2410]#cp~/hellobackup_cramfs/cramfs/


在用户的修改工作结束之后,用下面的命令可以创建cramfs映像文件:


[root@localhostfs2410]#mkcramfsbackup_cramfs/cramfs/new.cramfs


接下来,就可以将新创建的new.cramfs映像文件烧入到开发板的相应位置了。


2.NFS文件系统

NFS为NetworkFileSystem的简称,最早是由Sun公司提出发展起来的,其目的就是让不同的机器、不同的操作系统之间通过网络可以彼此共享文件。NFS可以让不同的主机通过网络将远端的NFS服务器共享出来的文件安装到自己的系统中,从客户端看来,使用NFS的远端文件就像是使用本地文件一样。在嵌入式中使用NFS会使应用程序的开发变得十分方便,并且不用反复地烧写映像文件。


NFS的使用分为服务端和客户端,其中服务端是提供要共享的文件,而客户端则通过挂载(“mount”)这一动作来实现对共享文件的访问操作。下面主要介绍NFS服务端的使用。在嵌入式开发中,通常NFS服务端在宿主机上运行,而客户端在目标板上运行。


NFS服务端是通过读入它的配置文件“/etc/exports”来决定所共享的文件目录的。下面首先讲解这个配置文件的书写规范。


在这个配置文件中,每一行都代表一项要共享的文件目录以及所指定的客户端对它的操作权限。客户端可以根据相应的权限,对该目录下的所有目录文件进行访问。配置文件中每一行的格式如下:


[共享的目录][客户端主机名称或IP][参数1,参数2…]


在这里,主机名或IP是可供共享的客户端主机名或IP,若对所有的IP都可以访问,则可用“*”表示。这里的参数有很多种组合方式,常见的参数如表5.1所示。


表5.1 常见参数

选项

参数含义

rw

可读写的权限

ro

只读的权限

no_root_squash

NFS客户端分享目录使用者的权限,即如果客户端使用的是root用户,那么对于这个共享的目录而言,该客户端就具有root的权限

sync

资料同步写入到内存与硬盘当中

async

资料会先暂存于内存当中,而非直接写入硬盘


如在本例中,配置文件“/etc/exports”的代码如下:


[root@localhostfs]#cat/etc/exports

/root/workplace192.168.1.*(rw,no_root_squash)


在设定完配置文件之后,需要启动nfs服务和portmap服务,这里的portmap服务是允许NFS客户端查看NFS服务在用的端口,在它被激活之后,就会出现一个端口号为111的sunRPC(远端过程调用)的服务。这是NFS服务中必须实现的一项,因此,也必须把它开启。如下所示:


[root@localhostfs]#serviceportmapstart

启动portmap:[确定]

[root@localhostfs]#servicenfsstart

启动NFS服务:[确定]

关掉NFS配额:[确定]

启动NFS守护进程:[确定]

启动NFSmountd:[确定]


可以看到,在启动NFS服务的时候启动了mountd进程。这是NFS挂载服务,用于处理NFS递交过来的客户端请求。另外还会激活至少两个以上的系统守护进程,然后就开始监听客户端的请求,用“cat/var/log/messages”命令可以查看操作是否成功。这样,就启动了NFS的服务,另外还有两个命令,可以便于使用NFS。


其中一个是exportfs,它可以重新扫描“/etc/exports”,使用户在修改了“/etc/exports”配置文件之后不需要每次重启NFS服务。其格式为:

linux相关文章:linux教程




评论


相关推荐

技术专区

关闭