我刚刚在联想 Legion 5 15ARH05。触摸板不工作,我在多个论坛上看到这是一个常见问题。
我尝试使用 Ubuntu Mainline Kernel Installer GUI 应用程序更新内核,5.10.2
但可能需要(根据https://www.mail-archive.com/[电子邮件保护]/msg5867550.html)应用此补丁:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/pinctrl/pinctrl-amd.c?h=v5.10&id=47a0001436352c9853d72bf2071e85b316d688a2
我不知道该怎么做。我已经下载了压缩tar.gz
文件,但现在我陷入困境,因为我不知道如何打补丁。
我已尝试过,sudo patch linux-47a0001436352c9853d72bf2071e85b316d688a2.tar.gz
但似乎没有任何作用(只是挂起)。
你知道如何修复它吗?它应该在下一个内核版本中修复,但我等不及了。
编辑:触摸板在 BIOS 中工作。
编辑:按照@dariofac 的回答后,它看起来不错,但它引发了错误:
BTF: .tmp_vmlinux.btf: pahole version v1.15 is too old, need at least v1.16
Failed to generate BTF for vmlinux
Try to disable CONFIG_DEBUG_INFO_BTF
make: *** [Makefile:1164: vmlinux] Error 1
答案1
以下是从源代码开始编译和安装内核的简单指南。我没有使用链接测试本指南.tag.gz
,因此我建议在尝试安装之前备份整个系统。
要求
要编译内核,您需要先安装一些必需的软件。为此,请发出:
sudo apt install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison
提取源
从下载档案的目录中发出:
tar -xvzf linux-47a0001436352c9853d72bf2071e85b316d688a2.tar.gz
使用 移动到新创建的目录cd linux-47a0001436352c9853d72bf2071e85b316d688a2
。
配置内核
在编译内核之前,您需要选择要包含哪些模块。
要复制当前内核的模块,只需发出:
cp /boot/config-$(uname -r) .config
如果现在您发出make menuconfig
一个配置窗口,则会打开它,您可以从那里启用或禁用每个可用模块。
编译并安装内核
要开始编译内核,请发出:
make
并回答可能出现的问题(它们取决于启动内核和正在编译的内核)。此步骤将花费大量时间。
完成此步骤后,您必须通过以下命令安装模块:
make modules_install
此步骤也需要一些时间才能完成。
最后,安装内核问题:
sudo make install
启动时启用内核
要在启动时启用内核,请发出:
sudo update-initramfs -c -k <version>
您需要<version>
用您实际编译的版本替换其中。
此后,通过发出以下命令更新 grub:
sudo update-grub