DannyWu带你学习Linux 内核编译,高效不走坑

前言

       Linux操作系统最重要的部分莫过于内核了,它负责管理系统的进程、内存、驱动程序、文件系统和网络系统,系统的性能和稳定性也由内核来决定。由于Linux是开源的,因此Danny就在想,能不能自己将Linux内核源码进行编译,根据自己的需求打造一个更高效、更稳定的Linux内核呢?下面Danny以Ubuntu为例带你学习如何编译Linux内核。

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

  • 首先去Linux内核官网(http://www.kernel.org)下载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

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

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.cfg配置文件看一下,会有一个新的版本:

  1. root@dannylinux:/usr/src/linux# vim /boot/grub/grub.conf

  • 别着急,你以为重启就好了吧(如果是安在物理机上重启是可以了),但是如果安装在虚拟机上,要将内存调至4G才可以,不然会报内存不足的错误。

  • 然后重启吧,进入启动项会提示你选择内核版本,这时候你选择ubuntu4.19.1就可以使用你新编译的Lniux内核了!

                                                                                        DannyWu博客

                                                                                 长按二维码关注公众号

版权申明:如若转发,务必带链接,否则视为侵权。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值