- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.1 Linux内核特点 7.1.1 Linux内核版本介绍 Linux内核的版本号分为主版本号、次版本号和扩展版本号等。根据稳定版本、测试版本和开发版本定义不同版本序列。 7.1.2 Linux内核特点 (1)Linux内核的重要特点 可移植性(Portability),支持硬件平台广泛,在大多数体系结构上都可以运行。 (2)Linux内核支持的处理器体系结构 (3)Linux内核遵守的软件许可 (4)开放源码驱动程序的优点 7.1.3 Linux 2.6内核新特性 Linux 2.6内核重要的新特性体现在如下方面。 (1)新的调度器 (2)内核抢占 (3)新的线程模型 (4)文件系统 (5)声音 (6)总线 (7)电源管理 (8)网络 (9)用户界面层 (10)统一的设备模型 7.2 配置编译内核源码 为了正确、合理地设置内核编译配置选项,从而只编译系统需要的功能的代码,一般主要有下面4个考虑。 (1)尺寸小。自己定制内核可以使代码尺寸减小,运行将会更快。 (2)节省内存。由于内核部分代码永远占用物理内存,定制内核可以使系统拥有更多的可用物理内存。 (3)减少漏洞。不需要的功能编译进入内核可能会增加被系统攻击者利用的机会。 (4)动态加载模块。根据需要动态地加载或者卸载模块,可以节省系统内存。但是,将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些。 7.2.1 内核源码结构 7.2.2 内核配置系统 Linux内核配置系统可以生成内核配置菜单,方便内核配置。配置系统主要包含Makefile、Kconfig和配置工具,可以生成配置界面。配置界面是通过工具来生成的,工具通过Makefile编译执行,选项则是通过各级目录的Kconfig文件定义。 Linux内核配置命令有:make config、make menuconfig和make xconfig。分别是字符界面、ncurses光标菜单和X-window图形窗口的配置界面。 7.2.3 Kbuild Makefile 1.Makefile的组织结构 Makefiles包含5个部分 Makefiles .config arch/$(ARCH)/Makefile scripts/Makefile.* kbuild Makefiles 2.Makefile语言 内核Makefile是配合GNU make使用的。除了GNU make的文档中的特点,内核的Makefile还有一些GNU扩展的功能。 GNU make支持基本的链接表处理功能。内核Makefile使用新颖的编译列表格式,编译过程几乎可以不用if语句。 GNU make有多种变量赋值操作符:“=”、“:=”、“?=”、“+=”。 3.Kbuild变量 顶层Makefile输出下列变量。 (1)VERSION, PATCHLEVEL, SUBLEVEL, EXTRAVERSION定义了当前内核版本。 (2)KERNELRELEASE定义了内核发布的版本 (3)ARCH定义了目标板体系结构 (4)INSTALL_PATH为arch Makefile定义了安装驻留内存的内核映像和System.map文件。 (5)INSTALL_MOD_PATH和MODLIB。 4.Kbuild Makefile的定义 (1)目标定义 (2)静态链接目标文件- obj-y (3)可加载模块目标文件- obj-m (4)库目标文件lib-y (5)遍历子目录 (6)编译标志 (7)依赖跟踪 (8)特殊的规则 5.体系结构相关的Makefile定义 (1)通过变量设置编译体系结构相关代码 (2)添加archprepare规则的依赖条件 (3)列出要遍历的子目录 (4)体系结构相关的映像 (5)编译非kbuild目标 (6)编译自引导映像有用的命令 (7)定制kbuild命令 (8)预处理链接脚本 (9)$(CC)支持的函数 7.2.4 内核编译 1.编译命令 (1)用于清理生成文件的目标(Cleaning targets) (2)内核配置的目标(Configuration targets) (3)其他通用目标(Other generic targets) (4)静态解析器(Static analysers) (5)内核打包(Kernel packaging) (6)文档目标(Documentation targets) (7)体系结构相关的目标(ARM)(Architecture specific targets (arm)) 2.编译链接内核映像 一般情况下,先编译链接生成顶层目录的vmlinux,再把vmlinux精简压缩成piggy.gz,然后加上自引导程序链接成arch/$(ARCH)/boot/
您可能关注的文档
最近下载
- 自由作文教学课件.ppt VIP
- CS5080-V13926596180升压充电管理IC.pdf VIP
- 第十三课《生活中的标志》课件+2025-2026学年赣美版(2024)初中美术八年级上册.pptx VIP
- 道教女仙麻姑考.pdf VIP
- 第十一课《图形创意设计》课件+-2025-2026学年赣美版(2024)初中美术八年级上册.pptx VIP
- 成功作文教学课件.ppt VIP
- _第六单元《捏塑造型》全课时教学课件+2025-2026学年赣美版(2024)初中美术八年级上册.pptx VIP
- 获奖作文教学课件.ppt VIP
- 第十五课《传承与变奏》课件+2025-2026学年赣美版(2024)初中美术八年级上册.pptx VIP
- 第9章 关税措施《国际贸易基础》.pptx VIP
文档评论(0)