7嵌入式操作系统8.ppt_第1页
7嵌入式操作系统8.ppt_第2页
7嵌入式操作系统8.ppt_第3页
7嵌入式操作系统8.ppt_第4页
7嵌入式操作系统8.ppt_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式操作系统根文件系统建构,李春杰,工具书: buildingembeddedlinuxsystemsbykarimyaghmour,Publisher: OReilly,April 2003,主要内容, 根文件系统的内容及其准备根文件系统的目录查询架构及其营销对象系统准备网络链接库准备内核模块和内核映像营销对象系统构建设备文件应用准备系统初始化文件根文件系统的内容及其准备根文件系统的目录查询结构及其建构目标系统准备网络链接库准备内核模块和内核映射目标系统建构设备文件应用程序准备系统初始化文件根文件系统类型选择根文件系统创建。 根文件系统始终是所有类的UNIX系统不可或缺的组件根文件系统的顶

2、级目录查询,每个组件都有其特殊的使用和用途。 在许多情况下,在与多用户相关的嵌入式系统中,这一部分是不必要的,并且为了建构根文件系统,首先提供给多用户的所有可扩展环境目录查询都需要省略/home、/mnt、/opt、/root以及/tmp和/var boot以下几个重要的/bin、/dev、/etc、/lib、/proc、/sbin、/usr /usr、/var两个顶级目录查询和根目录查询非常相似/usr/sbin一般用户和超级用户都可以使用的命令/放置在bin下的一般用户不使用,只有超级用户有用的命令放置在/sbin下不经常使用的超级用户命令放置在/usr/sbin下,容易混淆的目录查询/u

3、sr/启动lib系统所需的库文件以及上述比较有用的命令所需的库文件,通常/lib下的其他所有库文件都在/usr/lib下,有些软件包是/usr/lib下所需的库文件的专用例如,创建Perl 5.x时生成的根文件系统的目录查询俯式冰橇设置、1、创建顶级目录查询、2、创建/usr和/var目录查询结构、根文件系统内容、网络链接库: glibc, uClibc内核模块解老虎钳文件系统应用程序初始化文件内核映像内核映像文件系统有木有内核映像主要包含四种文件(1)的实际共享网络链接库,文件名为lib library name-glibc version . 例如,glibc 2.5的数学网络链接库是li

4、bm-2.5.so,(2)作为主修订的象征符的文件名是liblibraryname.so.majorrevisionversion,例如实际的数学网络链接库libm-2.5.s 例如,libm.so指的是libm.so.6,而libm.so.6指的是实际的共享堆网络链接库libm-2.2.3.so (4)。只有在网络链接可执行文件时才使用该雄辩的文件,在运行应用程序时不需要。 除了网络链接库文件之外,glibc还必须复制动态链接器及其符号连接动态链接器的文件名。 通常被称为LD-glibc版本. so通常是LD-Linux.so.majorrevisionversionmips或PPC,通常是

5、LD.so.major版本。 在将glibc组件实际复制到营销对象板的根文件系统之前,可以使用ldd命令显示在男公关上执行的文件所依赖的库,但是对于在营销对象侧执行的命令,可能无法进行ldd,从交叉编译环境提供的readedess 网站: /如果下载了原代码,则makecleanmakeconfigmakecross=arm-Linux-make prefix=install下载的是所需的库文件以类似glibc的方式找到营销对象板依赖的uClibc,必须准备内核模块和内核映像,并准备内核模块以进行营销对象系统复制到营销对象板的/lib目录查询,在这里使用

6、完整的复制文件属性和连接cp a命令营销对象系统的汽车要从根文件系统启动内核,请复制到营销对象板上根文件系统的/boot目录查询中的所有解老虎钳文件都位于/dev目录查询中。 下面是最基本的/dev条目、用于营销对象系统的de老虎钳文件、使用以下命令在上表中的条目(需要root权限)、用于营销对象系统的de老虎钳文件(完成)和/dev目录查询下所需的条目fd/proc/self/fdstdinfd/像0stdoutfd/1stderrfd/2那样使用ln-s指令建立这些个的连接时,在应用程序、Linux中有丰富的指令,但在嵌入式Linux中有不需要那么多指令的两种方法。 但是,减少指令功能对后

7、者来说是有用的套件BusyBox、BusyBox:BusyBox, 现在Denys Vlasenko保持着站点:下载:将许多常见应用程序的缩略图版本组合成一个小的可执行计程仪程序,为任何小型或嵌入式系统(通常包括较少的选择、较小的体积)提供相当完整的环境易于客制化营销对象板,busybox网站上的busybox:combinestinyversionsofmanycommonunixutilitiesintoasinglesmallexecutable .为GNU fileutils, etc.havefeweroptionsthantheirfull-featuredgnucousinspr

8、ovidesafairlycompleteenvironmentforanysmallorembeddedsy ze-optimizationandlimitedresourcesinmind模数化,易于客制化,Busybox安装和操作1,下载busybox-1.10.1.tar使用make help,可以为i386编译完整的配置和安装选项、Busybox安装和运行2、一般配置和安装简单配置和安装在指定的目录查询上安装make prefix=dir安装的默认奥尔特显示ARCH和CROSS_COMPILE ()对arm使用allnoconfig,ok使用defconfig时发生错误,必须禁止与m

9、enuconfig相符的模块。 make install,Busybox的实施和操作3,可以在i386平台上执行Busybox,/Busybox ash并网站数据库到busybox的shell接口arm,要在适当的平台上运行,请将应用程序这取决于应用程序拥有的组件的数量和类型,建议将其他目录查询添加到根文件系统。 例如,/project在第二种情况下,通常会找到可执行文件的修改. bashrc,然后添加export、Init进程。 PATH环境变量必须设置为首先运行Init进程,该进程根据相关的启动脚本启动不同的应用程序。最后一个Init进程可以运行用户提供的“Init”启动残奥参数,或者执行

10、用户提供的命令入口,入口,入口,出口,出口,入口。出口。出口。 执行(/输入/输出、argv_init、envp_init ); 执行(/bin/sh、argv_init、envp_init )。 准备系统初始化文件,系统初始化也是Unix系统的重要部分。 如上所述,内核的最后一个初始化操作启动init进程,从而使该计程仪程序创建其他进程,并且起动系统重要组件执行init,将所有进程的父亲视为处于Linux,这对于嵌入式Linux来说太强了对标准的system V初始化BusyBox初始化进行说明。 对init进一步进行说明。 事实上,内核并不在意init进程是哪一个。 init进程意味着内核

11、在初始化完成后启动应用程序。 如果更改启动关残奥字计量器,使内核能够使用自己的init init=PATH_TO_YOUR_INIT,则存在只能启动自己的应用程序的缺点。 在某些情况下(如启动其他必要的系统组件),这是系统的希望,但在很多情况下,这可能是不济事的。 因此,更安全的方法是使用真正的init堆计程仪标准system V初始化BUSYBOX初始化,标准system V初始化1,标准init软件包在大多数Linux发行版中找到。 也可以在FTP :/FTP.cistron.nl/pub/people/miquels/sysvinit /中找到。 目前,Miquel van Sooren

12、burg维护包含以下命令: 下载到sulogin、utmpdump、wall、标准系统v初始化2、原代码后,首先解压缩。 接下来,使用交叉编译环境编译make CC=arm-linux-gcc,并在根文件系统中安装make bin _ owner=“$ (idun )”bin _ group=“$ (idgn )”,因为营销对象系统不考虑多用户。 否则,可以在root权限上执行。 使用标准system V初始化3、root权限时,请谨慎设置root,使其指向营销对象系统的根文件系统。 否则,男公关上的相应计程仪程序将被复盖。 由于营销对象查询密码不同,会发生系统误差。 首先,/etc/init

13、tab在根文件系统下查找有木有,如果没有,则在缺省奥尔特下执行,但在下面添加/etc/inittab。init plum安装完成后,需要添加/etc/inittab文件并将某些文件/etc/inittab定义runlevels-运行级/etc/rc添加到/etc/rc.d大多数男公关都需要将缺省奥尔特的此时,不启动接入控制系统。 BusyBox的初始化,BusyBox也提供像init一样的功能。 嵌入式系统的BusyBox不提供运行级别功能。 因为sbin/init是/bin/BusyBox的符号网络链接,所以BusyBox在系统启动后执行的第一个应用程序BusyBox调用该init,BusyBox的init主要执行下面的塔斯克1,对init的信号处理函数进行初始化控制台其他端口初始化-3、解释/etc/inittab文件4,无论是否执行系统初始化脚本,如果没有/etc/init.d/rcS,BusyBox将在默认奥尔特下使用/etc/init.d/rcS,否则将使用/etc/init.d/rcS 执行inittab中指定的RCS ) 5,执行init暂停的所有inittab子摇滾乐命令) 6,执行inittab中一次执行的所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论