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.csdn.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   //编译过程中出现
    Ubuntu 16.04LTS环境下的linux-4.0.1内核编译_第1张图片
        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 ,配置好了就进入真正编译阶段
    Ubuntu 16.04LTS环境下的linux-4.0.1内核编译_第2张图片
    Ubuntu 16.04LTS环境下的linux-4.0.1内核编译_第3张图片
    Ubuntu 16.04LTS环境下的linux-4.0.1内核编译_第4张图片
    Ubuntu 16.04LTS环境下的linux-4.0.1内核编译_第5张图片
    Ubuntu 16.04LTS环境下的linux-4.0.1内核编译_第6张图片
    Ubuntu 16.04LTS环境下的linux-4.0.1内核编译_第7张图片
    Ubuntu 16.04LTS环境下的linux-4.0.1内核编译_第8张图片

  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 16.04LTS环境下的linux-4.0.1内核编译_第9张图片

五:测试启动

  • 在完成所有工作之后,就是测试了,保存所有工作,并重启虚拟机。

  • 记住在Ubuntu启动的的过程中一直按住 shift 键,就会出现如下界面。
    Ubuntu 16.04LTS环境下的linux-4.0.1内核编译_第10张图片

  • 并选择Advanced options for Ubuntu 就会出现如下界面
    Ubuntu 16.04LTS环境下的linux-4.0.1内核编译_第11张图片

  • Ubuntu with Linux 4.0.1 出来了,编译应该完成了。

六:其他注意事项

  • 各阶段的指令的过程是顺序执行的。

  • 在所有指令没有出现错误时,执行的指令是没有问题的。

  • 在update-grub2 执行后,重启后没有出现grub管理界面时,不用着急,先不用去更改 /boot/grub/grub.cfg 文件,因为它在执行update-grub2会自动生成相关配置文件。
    Ubuntu 16.04LTS环境下的linux-4.0.1内核编译_第12张图片

  • 如果启动出现问题,可以尝试到 /etc/default/grub 文件中修改配置(以下出现#注释掉的是我尝试过的选项)。
    Ubuntu 16.04LTS环境下的linux-4.0.1内核编译_第13张图片

  • 特别注意:启动的时候要按住 shift 键。

  • 编译可能还存在未知的问题,如果存在其他的问题欢迎补充,与大家一起分享,一起进步。

七:参考资料

  • Linux公社 : https://www.linuxidc.com/Linux/2016-04/129955.htm
  • [1] (美) Robert Love 著,陈莉君,康华 译, Linux 内核设计与实现(第三版)[M],北京:机械工业出版社,2011.6

八:声明

  • 转载请注明出处:https://blog.csdn.net/m0_37606958/article/details/80376173

你可能感兴趣的:(OperatingSystem)