ThinkBook14 + 2022 R7 6800H 版 安装 Arch Linux 后键盘失效问题处理记录

本贴最后更新于 247 天前,其中的信息可能已经东海扬尘

一、前言

一直都用的 Ubuntu 系统,最近看 B 站很多博主安利 arch linux,经不住诱惑的我,给自己的笔记本电脑(ThinkBook 14+ 2022 款,CPU R7 6800H)安装了 arch linux 系统,安装完成后发现键盘不可用,去网上查了很多资料,很多使用 R7 6800H CPU 的笔记本都有同样的问题,网上提供了以下几种解决方案:

方案一:给当前内核增加补丁

  1. 下载补丁(点击右侧的 diff 即可下载)
  2. 将补丁添加到编译配置中
  3. 编译
  4. 安装
  5. 更新 grub
  6. 重启

这个方案可以参考 Install archlinux on Thinkbook14 G4+ ARA,这个方案我也做了,但是编译过程报错,所以放弃。

方案二:使用 GitHub 上开源的驱动安装程序

这个参考:vrolife/modernlaptop,这个工具里面的补丁可能更适合小米系的笔记本,我安装失败,放弃。

方案二:替换老版本的内核

  1. 编译老版本的内核
  2. 安装
  3. 更新 grub
  4. 重启

我采用的就是这个方案,我当前的内核版本是 6.4.10,我替换成 6.1.12 后,成功解决键盘失效问题。

二、arch linux 内核编译过程记录

本次编译是基于 arch linux 系统的,所以相关的操作都是参考了 arch linux 内核 wiki,我整理了其中的关键点。

2.1 编译方式

编译有两种方式:

我选择的是第二种方式编译。

2.2 编译步骤

2.2.1 编译配置
  1. 创建构建目录
mkdi ~/build
cd build
  1. 下载官方编译配置

可以通过 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 文件
  1. 修改 pkgbase
pkgbase=linux-custom
  1. 删除编译文档的相关配置
63c63
<   make htmldocs all
---
>   make all
195c195
< pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
---
> pkgname=("$pkgbase" "$pkgbase-headers")
  1. 增加编译速度,在 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

三、参考连接

  1. official Arch Linux kernel
  2. Install archlinux on Thinkbook14 G4+ ARA
  3. 内核/Arch 构建系统
  4. Redmibook Pro 15 2022 锐龙版 的 Linux 驱动
  5. modern_laptop
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    915 引用 • 931 回帖
1 操作
marshalby2 在 2023-08-29 15:00:00 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...