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
