Danny带你高效学习Linux内核编译

前言

       Linux操作系统最重要的部分莫过于内核了,它负责管理系统的进程、内存、驱动程序、文件系统

络系统,系统的性能和稳定性也由内核来决定。由于Linux是开源的,因此Danny就在想,能不能

自己将Linux内核源码进行编译,根据自己的需求打造一个更高效更稳定的Linux内核呢?下面Danny

以Ubuntu为例带你学习如何编译Linux内核。

1.下载Linux内核源码压缩包

  • 首先下载Linux内核的压缩文件,点击文章下方的“戳我下载”进行下载。

2.解压内核源码并复制到/usr/src下

  • 在此说明一下,一般都将内核源码放到/usr/src下,并创建链接linux,类似快捷方式,便于切换到内核路径下。
  • 我下载的内核版本是:linux-4.19.1.tar.xz;接着将内核源码压缩包解压并复制到/usr/src路径下,此时可能需要1-2分钟时间;解压时注意一下你的内核源码所在的路径,例如我的是在虚拟机的共享文件夹下;之后切换到/usr/src路径下,再创建一个名为linux的链接:
  1. root@dannylinux:/# tar xf /mnt/hgfs/Desktop/ubuntu/linux-4.19.1.tar.xz -C /usr/src/
  2. root@dannylinux:/usr/src# ln -sv linux-4.19.1 linux
  • 此时,输入:
  1. root@dannylinux:/usr/src# ls
  • 就可以看到生成了一个名为linux-4.19.1的文件夹和一个名为linux的链接。

3.安装编译环境

      由于Danny在编译Linux内核时遇到了各种坑,为了让大家少走坑,我们先安装编译时需要的依赖

环境:

  1. root@dannyLinux:/# sudo apt-get install gcc
  2. root@dannyLinux:/# sudo apt-get install make
  3. root@dannyLinux:/# sudo apt-get install ncurses-dev
  4. root@dannyLinux:/# sudo apt-get install bison
  5. root@dannylinux:/# sudo apt-get install flex
  6. root@dannylinux:/# sudo apt-get install libssl-dev
  7. root@dannyLinux:/# sudo apt-get install libelf-dev

4.配置

  1. root@dannylinux:/usr/src/linux# make menuconfig
  • 使用默认配置,save 后 exit

Danny带你高效学习Linux内核编译

Danny带你高效学习Linux内核编译

Danny带你高效学习Linux内核编译

Danny带你高效学习Linux内核编译

  • 注意:在我踩过深坑之后,才知道,Makefile是有问题的,要修改595行在开头加一横杠“-”,不然你会浪费n多小时。

Danny带你高效学习Linux内核编译

5.编译(4线程编译)

  • 编译时间大概在两个小时左右,根据你的电脑配置来决定。
  1. root@dannylinux:/usr/src/linux# make -j 4
  • 编译好之后,我们将进行下一步安装内核模块。

6.安装内核模块

  1. root@dannylinux:/usr/src/linux# sudo make modules_install
  • 此步完成之后,在/lib/modules/路径下就会生成一个以版本号命名的一个内核模块了,快大功告成了,继续安装内核。

7.安装内核

  1. root@dannylinux:/usr/src/linux# sudo make install
  • 安装完内核之后,会在/boot/路径下生成一个内核文件vmlinuz-4.19.1和其他几个文件。
  • 到此Linux内核就编译完了,可以打开grub.conf配置文件看一下,会有一个新的版本:
  1. root@dannylinux:/usr/src/linux# vim /boot/grub/grub.conf
  • 别着急,你以为重启就好了吧(如果是安在物理机上重启是可以了),但是如果安装在虚拟机上,要将内存调至4G才可以,不然会报内存不足的错误。
  • 然后重启吧,进入启动项会提示你选择内核版本,这时候你选择ubuntu4.19.1就可以使用你新编译的Lniux内核了!

内核下载:

提取码: vrkk 

weinxin
我的微信
有问题微信找我
DannyWu

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

Protected with IP Blacklist CloudIP Blacklist Cloud