在Ubuntu18.04上从源码编译并安装Kernel 5.12内核

  1. 背景

公司发的新笔记电脑是ThinkPad E14,安装完Ubuntu18.04后发现无法调节屏幕亮度,寻找许多方法未解决。最后安装了Ubuntu20.04系统,可以调节屏幕亮度,但是因为公司使用的是18.04,所以开发中会遇到各种bug,虽说也可以解决,但终究是太浪费时间了。

后来同事告诉我可以更新最新内核试一下,我去官网下载了最新的5.14内核(四个.deb文件),发现无法在18.04上安装(缺少依赖库,缺的依赖库18.04无法安装)。又在google上搜索良久,发现可以从源码编译kernel,编译后的.deb文件是可以安装的。安装完后重启,屏幕亮度可以调节了,一切都正常了。过程记录如下。

  1. 编译kernel v5.12源码

(1)安装依赖项

sudo apt install build-essential libncurses5-dev fakeroot xz-utils libssl-dev:native -y
sudo apt install flex libdaemon-dev libbison-dev libelf-dev -y

(2)下载源码

mkdir ~/kernel && cd kernel
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.12.tar.xz
tar xvJf ./linux-5.12.tar.xz

(3)配置kernel

cd linux-5.12
sudo find /boot/ \( -iname "*config*" -a -iname "*`uname -r`*" \) -exec cp -i -t ./ {} \;
mv *`uname -r`* .config
sudo gedit .config
# 注释这行
# #CONFIG_SYSTEM_TRUSTED_KEYS

(4)编译kernel

sudo make clean
sudo make deb-pkg LOCALVERSION=-custom KDEB_PKGVERSION=$(make kernelversion)-1

# 然后一路按回车键后开始编译,编译会持续很长时间
......
# 编译完成后检查编译结果
ls ../*.deb
# 也可以直接从这里下载我编译过的结果
# https://download.csdn.net/download/jz1570551401/48939328
  1. 安装kernel 5.12
sudo dpkg -i ../*.deb

安装完成后重启

sudo reboot now

重启后可能出现如下错误
重启错误

若出现如上图错误,需要进入BIOS关闭安全启动(Secure Boot)。

重启后检查当前kernel版本

sudo uname -r

# 5.12.0-custom
  1. 解决后遗症

更新内核后发现屏幕亮度能调节了,然而,声音没了,麦克风也用不了了。无奈,继续Google解决问题。

(1)解决无声音问题

sudo gedit /etc/modprobe.d/alsa-base.conf
# 在末尾添加 options snd-hda-intel dmic_detect=0

# 然后
pulseaudio -k && sudo alsa force-reload

(2)解决麦克风问题

sudo apt-get install alsa-tools-gui
sudo hdajackretask
# 按照下图中的步骤:
# 1. 挑选codec为Realtek ALC257; 
# 2. 设置Black Mic, Right side为Not connect,override;
# 3. install boot override
# 4. 重启
sudo reboot now 
  1. 参考
Ubuntu18.04手动升级内核 - azureology - 博客园​
www.cnblogs.com/azureology/p/15508298.html How to Install Kernel 5.15
from Source on Ubuntu 18.04 • tutorialforlinux.com​
tutorialforlinux.com/2021/09/29/how-to-install-kernel-5-15-from-source-on-ubuntu-18-04/
自编译内核 invalid signature 问题解决​
blog.csdn.net/yk_wing4/article/details/103073038 Ubuntu no sound,
dummy output, and no sound card detected​
askubuntu.com/questions/1217949/ubuntu-no-sound-dummy-output-and-no-sound-card-detected?rq=1
https://bbs.archlinux.org/viewtopic.php?pid=1895206#p1895206
bbs.archlinux.org/viewtopic.php?pid=1895206#p1895206

编辑于 2022-09-29 23:10

ubuntusudo编译kernel安装

我来吐槽

*

*