您好,欢迎来到码863代码分享网! 请[登录] / [注册]

编译linux内核

编辑

1.在 https://kernel.ubuntu.com/~kernel-ppa/mainline 选择一个版本(使用v5.3.6作为例子),下载以下四个文件    linux内核都一样,编译好的比自己编译的兼容性更好

    linux-headers-5.3.6-050306_5.3.6-050306.201910111731_all.deb

  linux-headers-5.3.6-050306-generic_5.3.6-050306.201910111731_amd64.deb

  linux-image-unsigned-5.3.6-050306-generic_5.3.6-050306.201910111731_amd64.deb

  linux-modules-5.3.6-050306-generic_5.3.6-050306.201910111731_amd64.deb

双击然后安装。


如果系统有问题可以升级固件

2.在https://mirrors.tuna.tsinghua.edu.cn/kernel/firmware/ 下载最新日期(测试下载了linux-firmware-20191022.tar.gz),解压然后进入目录sudo make install,之后再sudo update-initramfs -uk all即可。

wget https://mirrors.tuna.tsinghua.edu.cn/kernel/firmware/linux-firmware-20191022.tar.gz #下载

tar -xavf linux-firmware-20191022.tar.gz #解压

cd linux-firmware-20191022 #进入目录

sudo make install #安装   一秒不到

sudo update-initramfs -uk all#安装完毕顺便更新一下内核启动映像




下载解压内核源码http://www.kernel.org 下载之后解压到自己的目录。加速镜像https://mirrors.aliyun.com/linux-kernel/ 

make localmodconfig  一路回车让它将合适的 module 都加载上。

make localmodconfig   

make menuconfig

make -j8

sudo make modules_install

sudo make install

sudo mkinitramfs -k -o initrd.img-版本号 版本号         这两步做了没效果  启动中没加  好像make install也会做这两步

sudo update-grub2 

重启并以新的内核启动。我的电脑20分钟内编译好


加快编译方法

1,.config文件最好是最近的官方桌面发行版的.config文件,因为有些config_xxx选项可能会变化。

2,make 加上 -j4选项,现在的机器基本上都是双核四核。

3,make localmodconfig是个很好的方法,我的模块才53个,5m左右。

而官方的4000多个,100多m。

能显著的减少模块编译的速度,我的也就是5分钟,而官方的编译要4个小时左右。






以下我花了一通宵编译成功

Linux内核官网(https://www.kernel.org/)上,就可以下载到若干个版本的内核源码。从官网可知,内核源码有若干个版本,分别包括主线版(mainline)、稳定版(stable)、长期支持版(longterm)。这几个版本的区别如下:


主线版是Linux开发者活跃的地方,最新的内核功能主要在这里诞生;

稳定版是可供用户直接使用的版本;

而长期支持版则主要是给设备制造商、发行版开发者使用的版本,相对更稳定,且能长期得到技术支持。



https://mirrors.aliyun.com/linux-kernel/  下载内核

我的电脑联想小新14 2019 i5-8265U/MX230独显/8G/512G SSD   deepin15.11

进编译入目录,先要依据现有配置文件配置新内核,新设置用缺省值


cp /boot/config-`uname -r`* .config


make olddefconfig


1.解压后编译,-j参数,多进程,1核开2,大概1个半小时


make -j8


2.安装内核模块,几分钟


sudo make modules_install


3.安装内核到系统中 一个小时


sudo make install


重启并以新的内核启动。  第一次搞查资料找方法用了一通宵   以下可不做辅助用


4.更新启动引导  自动加入新内核

sudo update-grub2


5.编译清理(可选  可以直接删除编译目录),清理编译生成在解压内核目录的文件,make clean只会清理编译输出的文件,make distclean的清理则比较彻底,会将内核配置文件、内核配置程序的可执行文件等

make clean

make distclean



6.卸载你安装的内核包可用下面的命令  xxx为你编译的内核版本号,如5.1.20

sudo dpkg --purge linux-image-xxx              这个没试过  下面是别人经验


#列出内核

dpkg --get-selections | grep linux-image

#下面是我安装的--------------------------------------------------

#linux-image-deepin-amd64                                        install

#linux-image-unsigned-4.15.0-30deepin-generic                install

#linux-image-unsigned-5.3.0-050300rc7-generic                install

#linux-image-unsigned-5.3.0-050300rc7-lowlatency            install

#linux-image-unsigned-5.3.8-050308-generic                install

#linux-image-unsigned-5.3.8-050308-lowlatency                install

#-------------------------------------------------------------------------

sudo apt-get remove linux-image-unsigned-5.3.0-050300rc7-generic

sudo apt-get remove linux-image-unsigned-5.3.0-050300rc7-lowlatency










CopyRight 2002~2023 精通2100网 联系邮箱:qqtxt@163.com
版权所有:精通2100网 湘ICP备2023018646号-1
MYSQl共执行 3 个查询,用时 0.0019760131835938 秒,PHP脚本用时 0.004199 秒,占用内存 0.524 MB,Gzip 已启用