- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ubuntu 下编译 3.0.4 内核
2011/09/08 11 comments ?
Linux 内核 3.0 版本发布已有一段时间了,不知道这个版本号大跃进的内核是否好用。目前各个发行版的 linux 还仍未采用 3.0 的内核,
因此可以自己动手编译内核来感受一下!趁着这次编译内核的机会可以再熟悉一下编译内核的步骤。
1.下载并解压内核到任意目录
从源码官网下载最新的内核源码 3.0.4 ,可以解压至任意目录,我放在主目录下:
1 ~$ tar xjvf linux-3.0.4.tar.bz2
2.配置内核
对内核进行配置是为了得到内核配置文件 .config 。通过对内核进行配置, 可以使未来编译成功的内核增加或减少对一些内核特性的支持。
对内核进行配置有多种方法,有基于文本的配置方式也有基于图形的用户界面。下面采用使用比较广泛的 make menuconfig 方式:
1 ~/linux-3.0.4$sudo apt-get install libncurses5-dev
2 ~/linux-3.0.4$sudo make menuconfig
由于该配置方式基于 ncurses 库,所以在启动配置界面前要先安装 ncurses 库。启动配置界面前,必须进入源码根目录,配置界面启动
成功后如下图:
我们这里对内核按照默认的配置方式进行编译,因此当配置菜单启动后直接退出并保存即可。此时就在内核源码根目录下生成了 .config
文件。
3.编译
编译内核包含两部分的工作,其一是编译内核,即编译配置选项中标记为 Y 的那部分,这部分内核最终形成 bzIamge 镜像文件;其二是
编译内核模块,即编译配置选项中标记为 M 的那部分内核,这部分形成以 .ko 结尾的内核模块目标文件。
上述两部分编译工作可以依次通过 make bzImage 和 make modules 完成,也可以通过一条 make 命令直接完成。编译内核的整个过程
比较漫长, 因此可以对 make 加-j 参数来提高编译的效率。 在 make 时使用该选项会为编译过程分配 n 个并发任务, 这样可以缩短编译时
间。 n 的取值为 cpu 个数的二倍。
1 ~/linux-3.0.4$sudo make -j4
4. 安装
安装过程分为两部分,首先对内核模块进行安装,这个过程会将刚刚编译内核模块时生成的内核模块复制到 /lib/modules/3.0.4/ 目录下,
其中 3.0.4 为对应的内核版本。使用的命令如下:
1 ~/linux-3.0.4$sudo make modules_install
接着使用下述命令安装编译好的内核:
1 ~/linux-3.0.4$sudo make install
安装内核的过程主要完成了以下的工作:
1.将编译内核时生成的内核镜像 bzImage 拷贝到 /boot 目录下,并将这个镜像命名为 vmlinuz-3.0.4 。如果使用 x86 的 cpu ,则该镜像
位于 arch/x86/boot/ 目录下(处于正在编译的内核源码下)。
2.将 ~/linux-3.0.4/ 目录下的 System.map 拷贝到 /boot/ 目录下,重新命名为 System.map-3.0.4 。该文件中存放了内核的符号表。
3.将 ~/linux-3.0.4/ 目录下的 .config 拷贝到 /boot/ 目录下,重新命名为 config-3.0.4 。
5.创建 initrd.img 文件
initrd.img 即为初始化的 ramdisk 文件,它是一个镜像文件,将一些最基本的驱动程序和命令工具打包到镜像文件里。该镜像文件的作用
是在系统还没有挂载根分区前, 系统需要执行一些操作, 比如挂载 scsi 驱动, 此时将 initrd 文件释放到内存中, 作为一个虚拟的根分区,
然后执行相关脚本,运行 insmod 命令加载需要的模块。
具体的创建方法如下:
1 ~/linux-3.0.4$sudo mkinitramfs 3.0.4 -o /boot/initrd.img-3.0.4
6.更新 grub
您可能关注的文档
最近下载
- 高素质农民培训行政第一课.pptx
- 第二单元写作“劳动光荣”:热爱劳动,从我做起++课件++2024—2025学年统编版高中语文必修上册.pptx VIP
- 2024-2025学年山东省济南市莱芜区五年级(上)期中模拟语文试卷.docx VIP
- 大气湍流信道中的激光束传输到达角起伏计算及实验 the calculation and experiment of angle-of-arrival fluctuation of laser beam transmission in the channel of atmospheric turbulence.pdf VIP
- 集合单元测试(职高).doc VIP
- 长钢轨存放作业指导书.doc VIP
- 【人教版化学】选择性必修1 知识点默写小纸条(空白默写版).pdf VIP
- 全国大学生职业规划大赛《金融学》专业生涯发展展示PPT【最新版】.pptx
- 日本个人信息保护法(新).docx VIP
- 【人教版化学】必修1 知识点默写小纸条(空白默写版).docx VIP
原创力文档


文档评论(0)