设为首页 加入收藏

TOP

PC Ubuntu下编译 Linux2.6 内核总结
2014-11-24 03:08:11 来源: 作者: 【 】 浏览:2
Tags:Ubuntu 编译 Linux2.6 内核 总结

基础知识


在介绍如何编译内核之前, 需要对内核相关概念有一定的了解. 关于Linux kernel的介绍浩如烟海, 这里只介绍系统中相关的目录, 文件及命令.


/boot


/boot/vmlinuz- : 用于启动的压缩内核镜像, 它也就是/arch//boot中的压缩镜像.


/boot/system.map- : 存储内核符号地址.


/boot/initrd.img- : 初始化RAM硬盘时, 用来存储挂载根文件系统所需的模块.


/boot/grub/menu.lst : grub的配置文件. (不同的发行版中它可能位于不同位置.


/lib/modules


该目录包含了内核模块及其他文件. 注意, modules中一般会有多个目录: 系统自带的内核模块在这里, 你编译自己的内核模块后, 它们也会被安装到这里. 不同的目录由内核版本号来区分. 即modules里目录的名称是内核版本号. (使用$ uname -r 可知当前系统内核所用的模块位于哪个目录).


/lib/modules//build


储存为该版本的内核编译新模块所需的文件. 包括Makefile, .config, module.symVers(模块符号信息), 内核头文件(位于include/, include/asm/中)


/lib/modules//kernel


储存内核目标文件(以.ko为后缀). 它的目录组织和内核源代码中kernel的目录组织相同.


/lib/modules//中:


modules.alias : 模块别名定义. 模块加载工具使用它来加载相应的模块.


modules.dep : 定义了模块间的依赖关系.


modules.symbols : 指定符号属于哪个模块.


这些文件都是文本文件, 可以查看它们.


$ uname -r


uname(1)被用来查看系统信息, 这里对我们有用的是它的"-r"选项, 它显示内核版本信息.


下载内核, 验证签名, 解压缩



http://www.kernel.org/pub/linux/kernel/


下载最新版本的2.6内核. 速度还比较快. 这里以linux-2.6.17.13为例:


1, 下载内核压缩包


bzip2格式比gzip压缩效率更高, 一般就下载bz2的压缩包. 下载了内核压缩包之后, 还可下载对应的sign文件. 它被用来验证内核压缩文档的openPGP签名. 详细信息可参考


这里


.


$ wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.13.tar.bz2


$ wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.13.tar.bz2.sign


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java中的策略模式 下一篇C++拷贝构造函数以及运算符重载例..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·switch520最新的地址 (2025-12-24 19:19:41)
·微信聊天功能使用了 (2025-12-24 19:19:39)
·websocket和普通的so (2025-12-24 19:19:36)
·Python中文网 - 人生 (2025-12-24 18:49:47)
·【整整648集】这绝对 (2025-12-24 18:49:44)