- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在 X86, Ubuntu 上编译 Linux2.6 内核,总结如下:
基础知识
在介绍如何编译内核之前 , 需要对内核相关概念有一定的了解 . 关于 Linux
kernel 的介绍浩如烟海 , 这里只介绍系统中相关的目录 , 文件及命令 .
/boot
/boot/vmlinuz-version : 用于启动的压缩内核镜像 , 它也就是
/arch/arch/boot 中的压缩镜像 .
/boot/system.map-version : 存储内核符号地址 .
/boot/initrd.img-version : 初始化 RAM 硬盘时 , 用来存储挂载根文
件系统所需的模块 .
/boot/grub/menu.lst : grub 的配置文件 . ( 不同的发行版中它可
能位于不同位置 .
/lib/modules
该目录包含了内核模块及其他文件 . 注意 , modules 中一般会有多个目录 : 系
统自带的内核模块在这里 , 你编译自己的内核模块后 , 它们也会被安装到这里 .
不同的目录由内核版本号来区分 . 即 modules 里目录的名称是内核版本号 . ( 使
用$ uname -r 可知当前系统内核所用的模块位于哪个目录 ).
/lib/modules/kernel-version/build
储存为该版本的内核编译新模块所需的文件 . 包括 Makefile, .config,
module.symVers( 模块符号信息 ), 内核头文件 ( 位于 include/,
include/asm/ 中)
/lib/modules/kernel-version/kernel
储存内核目标文件 ( 以.ko 为后缀 ). 它的目录组织和内核源代码中 kernel 的目
录组织相同 .
/lib/modules/kernel-version/ 中:
modules.alias : 模块别名定义 . 模块加载工具使用它来加载相应的模块 .
modules.dep : 定义了模块间的依赖关系 .
modules.symbols : 指定符号属于哪个模块 .
这些文件都是文本文件 , 可以查看它们 .
$ uname -r
uname(1) 被用来查看系统信息 , 这里对我们有用的是它的 -r 选项 , 它显示内
核版本信息 .
下载内核 , 验证签名 , 解压缩
到 /pub/linux/kernel/ 下载最新版本的 2.6 内核. 速
度还比较快 . 这里以 linux-3 为例 :
1, 下载内核压缩包
bzip2 格式比 gzip 压缩效率更高 , 一般就下载 bz2 的压缩包 . 下载了内核压缩
包之后 , 还可下载对应的 sign 文件 . 它被用来验证内核压缩文档的 openPGP
签名 . 详细信息可参考 这里 .
$ wget -c
/pub/linux/kernel/v2.6/linux-3.tar.bz
2
$ wget -c
/pub/linux/kernel/v2.6/linux-3.tar.bz
2.sign
2, 验证签名
首先从 pgp 的服务器获取签名公匙 , linux 内核包的公匙编号是 0x517D0F0E.
再利用 sign 文件来验证 .bz2 压缩包的签名 .
原创力文档


文档评论(0)