7嵌入式操作系统8.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式操作系统 —根文件系统的建立 李春杰 参考书:Building Embedded Linux Systems By Karim?Yaghmour,Publisher: OReilly,April 2003 主要内容 根文件系统的内容及其准备 根文件系统的目录架构及其建立 为目标系统准备链接库 准备内核模块和内核映像 为目标系统建立设备文件 应用程序 定制应用程序 准备系统初始化文件 根文件系统类型的选择 根文件系统的类型及制作 主要内容 根文件系统的内容及其准备 根文件系统的目录架构及其建立 为目标系统准备链接库 准备内核模块和内核映像 为目标系统建立设备文件 应用程序 定制应用程序 准备系统初始化文件 根文件系统类型的选择 根文件系统的类型及制作 根文件系统的制作 根文件系统的目录架构 Linux 内核在系统启动期间进行的最后操作之一就是安装根文件系统。 根文件系统一直都是所有类 UNIX 系统不可或缺的组件 根文件系统的顶层目录各有其特殊的用法和目的。 其中一部分往往与多用户有关在嵌入式系统中,这一部分是不必要的 建立根文件系统 首先为多用户提供的可扩展环境的所有目录都应该省略 /home,/mnt,/opt,/root甚至可以不要 /tmp 和 /var,这要根据实际情况确定 根据引导加载程序和它的配置情况,决定是否需要 /boot 下列几个是比较重要的 /bin, /dev, /etc, /lib, /proc, /sbin, /usr /usr 和 /var 这两个顶层目录与根目录非常像,有自己的目录结构 容易混淆的几个目录 /bin, /sbin, /usr/bin, /usr/sbin 普通用户和超级用户都比较有用的命令放在 /bin 下 普通用户不使用,只有超级用户比较有用的命令放在 /sbin下 不常用的用户命令放在 /usr/bin 下 不常用的超级用户命令放在 /usr/sbin 下 容易混淆的几个目录 /lib, /usr/lib 系统启动需要的以及上述比较有用的命令所需要的库文件通常放在 /lib 下 所有其他的库文件一般都放在 /usr/lib 下,有的软件包会在/usr/lib 下为自己所需的库文件建立一个专门的目录 例如 Perl 5.x 安装完后,会产生一个 /usr/lib/perl5 目录 设置根文件系统的目录骨架 1、建立顶层目录 2、建立/usr和/var的目录结构 根文件系统内容 包括: 链接库:glibc、uClibc 内核模块 设备文件 系统应用程序 系统初始化文件 内核映像 文件系统上是否有内核映像与引导加载程序有关 为目标系统准备链接库 链接库:glibc、uClibc glibc glibc 套件包含若干链接库,包含的链接库会安装根文件系统的/lib目录下。 主要包含 4 种类型的文件 (1)实际的共享链接库,文件名为 libLIBRARY NAME-GLIBC VERSION.so 例如 glibc 2.5 的数学链接库为 libm-2.5.so (2)主修订版本的符号链接,文件名为 libLIBRARY NAME.so.MAJOR REVISION VERSION 例如实际的数学链接库 libm-2.5.so,其符号连接的名称为 libm.so.6 glibc (3)与版本无关的符号链接指向主修订版本的符号链接,用于为需要链接特定链接库的所有程序提供一个通用的条目,与主修订版本号或 glibc 涉及的版本无关。文件名为 libLiBRARY NAME.so, 例如 libm.so 指向 libm.so.6,libm.so.6 指向实际的共享链接库 libm-2.2.3.so (4)静态链接库包文件,文件名格式为 libLIBRARY NAME.a, 如动态装载库 libdl 的静态包文件就是 libdl.a glibc 我们只需前两种。 其余的文件只有在链接执行文件时才会用到,执行应用程序时不需要 glibc 除了链接库文件,还需要复制动态链接器及其符号连接 动态链接器的文件名,通常叫做 ld-GLIBC VERSION.so 动态链接器的符号链接 对于 i386、arm 或 m68k,通常为 ld-linux.so.MAJOR REVISION VERSION 对于 MIPS 或 PPC,则通常为 ld.so. MAJOR REVISION VERSION 在向目标板的根文件系统实际复制任何 glibc 组件前,应先找出应用程序需要哪些 glibc 组件。 可以使用 ldd 命令显示在主机上运行的文件所依赖的库 但是,对将要运行在目标端的命令,ldd可能不行,此时最好使用交叉

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档