Ubuntu 16.04LTS环境下的linux-4.0.1内核编译
一:编译环境
- 硬件:Windows7电脑
- 软件:Ubuntu-16.04 LTS
VMware Workstation 14 pro - 数据包:Linux-4.0.1.tar.xz
Patch-4.0.1.xz
二:准备工作
- 下载linux内核的数据包: https://mirrors.edge.kernel.org/pub/ (我选择的是Linux-4.0.1.xz及其补丁)。
- 全部数据集中下载:https://download.****.net/download/m0_37606958/10425097
- 通过终端 su – 将权限提高到管理员root模式:
执行下面三条指令(试验后提示,“ // ”是注释):
1 apt-get install bc //编译过程中会出现bc : Not found
2 apt-get install libssl-dev //编译过程中会出现fatal error : openssl/opensslv.h : No such file or diretory
3 apt-get install libncurses5-dev //编译过程中出现
4 cp /home/”你的用户名”/Desktop/linux-4.0.1 /usr/src/ -rf //复制文件夹 输入cp加上空格后直接把linux-4.0.1的文件夹直接拖到终端 ,后面再加上/usr/src/ -rf
5 cp /home/”你的用户名”/Desktop/patch-4.0.1.xz /usr/src/
6 cd /usr/src/ //进入待编译的文件夹下 /usr/src
7 xz -d patch-4.0.1.xz | patch –p1 //执行没有什么提示就正确了,有的话把上次的 patch-4.0.1 删除,重试
8 cp linux-headers-4.13.0-36-generic/.config linux-4.0.1/ //将文件.config复制到linux-4.0.1下,待配置第十条指令需要使用
三:编译阶段
-
开始编译
9 cd linux-4.0.1 //由于上面第6条已经进入了 /usr/src/ ,现在进入 linux-4.0.1
10 make menuconfig //基于文本选单的配置界面 Load - > OK -> Save -> Ok -> Exit -> Exit -> Yes ,配置好了就进入真正编译阶段11 make bzImage //编译启动镜像,等吧,需要一段时间
12 make modules //编译模块
13 make modules_install //先安装模块
14 make install //再安装内核
四:修改启动项
- 镜像制作
15 mkinitramfs 4.0.1 -o /boot/initrd.img-4.0.1 //制作镜像
16 update-grub2 //更新启动选项
五:测试阶段
- 在完成所有工作之后,就是测试了,保存所有工作,并重启虚拟机。
记住在Ubuntu启动的的过程中一直按住 shift 键,就会出现如下界面。
并选择Advanced options for Ubuntu 就会出现如下界面
-
我们的Ubuntu with Linux 4.0.1 出来了,代表编译完成了。
六:其他注意事项
各阶段的指令的过程是顺序执行的。
- 在所有指令没有出现错误时,执行的指令是没有问题的。
在update-grub2 执行后,重启后没有出现grub管理界面时,不用着急,先不用去更改 /boot/grub/grub.cfg 文件,因为它在执行update-grub2会自动生成相关配置文件。
如果启动出现问题,可以尝试到 /etc/default/grub 文件中修改配置(以下出现#注释掉的是我尝试过的选项)。
特别注意:启动的时候要按住 shift 键。
- 笔者是第一次写博客。编译可能还存在未知的问题,如果存在其他的问题欢迎补充,与大家一起分享,一起进步。
七:总结
linux-4.0.1 内核终于编译了,如果个人想要个性化linux还是好好学习吧,理论加实践,毕竟实践是检验真理的唯一标准。
经过几天的过程,发现网络资源的庞大,但需要自己认真选择,尽量选择实践过的。谢谢以前大家的经验。
最后,祝大家编译成功。
八:参考资料
- Linux公社 : https://www.linuxidc.com/Linux/2016-04/129955.htm
- [1] (美) Robert Love 著,陈莉君,康华 译, Linux 内核设计与实现(第三版)[M],北京:机械工业出版社,2011.6