一、前言
一直都用的 Ubuntu 系统,最近看 B 站很多博主安利 arch linux,经不住诱惑的我,给自己的笔记本电脑(ThinkBook 14+ 2022 款,CPU R7 6800H)安装了 arch linux 系统,安装完成后发现键盘不可用,去网上查了很多资料,很多使用 R7 6800H CPU 的笔记本都有同样的问题,网上提供了以下几种解决方案:
方案一:给当前内核增加补丁
- 下载补丁(点击右侧的 diff 即可下载)
- 将补丁添加到编译配置中
- 编译
- 安装
- 更新 grub
- 重启
这个方案可以参考 Install archlinux on Thinkbook14 G4+ ARA,这个方案我也做了,但是编译过程报错,所以放弃。
方案二:使用 GitHub 上开源的驱动安装程序
这个参考:vrolife/modernlaptop,这个工具里面的补丁可能更适合小米系的笔记本,我安装失败,放弃。
方案二:替换老版本的内核
- 编译老版本的内核
- 安装
- 更新 grub
- 重启
我采用的就是这个方案,我当前的内核版本是 6.4.10,我替换成 6.1.12 后,成功解决键盘失效问题。
二、arch linux 内核编译过程记录
本次编译是基于 arch linux 系统的,所以相关的操作都是参考了 arch linux 内核 wiki,我整理了其中的关键点。
2.1 编译方式
编译有两种方式:
我选择的是第二种方式编译。
2.2 编译步骤
2.2.1 编译配置
- 创建构建目录
mkdi ~/build
cd build
- 下载官方编译配置
可以通过 asp、svn 和 git 去下载,我用的是的 git, 参考-如何使用 ABS,可以去 arch linux gitlab 官方仓库查看有哪些版本可以下载
git clone -b 6.1.12.arch1-1 https://gitlab.archlinux.org/archlinux/packaging/packages/linux.git
2.2.2 修改 PKGBUILD 文件
- 修改 pkgbase
pkgbase=linux-custom
- 删除编译文档的相关配置
63c63
< make htmldocs all
---
> make all
195c195
< pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
---
> pkgname=("$pkgbase" "$pkgbase-headers")
- 增加编译速度,在 make 指令后面加上 -j 16
build() {
cd $_srcname
make all -j 16
}
2.2.3 生成校验和
sudo pacman -S pacman-contrib
updpkgsums
2.2.4 编译
需要加上 --skippgpcheck
参数,否则会报错 PGP key could not foud
makepkg -s --skippgpcheck
吐槽一下:编译过程非常漫长(约莫一个小时),且电脑发热非常严重,感觉都可以煎鸡蛋的了。所以好的 CPU 和散热是非常重要的。
2.3 安装内核
2.3.1 安装
编译完成后,在当前目录(~/build/linux)会生成两个文件,使用下面的命令安装
sudo pacman -U linux-custom-6.1.12.arch1-1-x86_64.pkg.tar.zst linux-custom-headers-6.1.12.arch1-1-x86_64.pkg.tar.zst
2.3.2 更新引导程序
sudo grub-mkconfig -o /boot/grub/grub.cfg
2.3.3 重启
通过 uname -a 指令查看内核
,输出如下
Linux myarch 6.1.12-arch1-1-custom #1 SMP PREEMPT_DYNAMIC Fri, 18 Aug 2023 07:24:51 +0000 x86_64 GNU/Linux
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于