华硕无畏pro 2024 键盘驱动为例,对linux 内核打补丁并重新编译
文章目录
#华硕无畏pro ubuntu 键盘驱动问题详见:
https://bugzilla.kernel.org/show_bug.cgi?id=218745
新的补丁将会整合到6.10内核的正式版本中
前言
对Ubuntu 内核打补丁并进行内核的重新编译与安装
一、安装Linux内核并对源编译文件打补丁
补丁文件一般是带有增删内容的*.patch文件,例如在给华硕无畏pro2024 打键盘驱动的补丁时,补丁文件内容如下:
下载并安装linux 内核:
从官网下现在官方内核: www.kernel.org
选择需要安装的版本,通常选择stable 版本
华硕无畏pro 2024 在linux下的驱动问题按照论坛中给出的解决方案,
应该是适用于内核6.8以上(低版本未知),此处选择的是6.9.3
安装支持的包
sudo apt-get install libncurses5-dev openssl libssl-dev
sudo apt-get install build-essential openssl
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libelf-dev
sudo apt-get install zlibc minizip
sudo apt-get install libidn11-dev libidn11
zlibc 与libidn11 两个包可能会出现安装问题,可参见以下方式:
sudo apt install zlib1g
sudo apt-get install zlib1g minizip
对于libidn11 libidn11
将下载好的内容解压置至 /usr/src
sudo tar -xavf linux-6.9.3.tar.xz -C /usr/src
cd /usr/src/linux-6.9.3
对内核内容进行更改:
找到需要对内核更改的文件,通过patch 命令对源文件进行修改
sudo patch $original$.c *.patch
华硕无畏pro 需要更改的源文件地址为:
/usr/src/linux-XXX/drives/acpi/resource.c
补丁文件可从https://bugzilla.kernel.org/show_bug.cgi?id=218745 下载
二、内核编译
1. 净化
代码如下(示例):
sudo make mrproper
如果是编译失败,也可以是通过上述命令和 make clean 进行编译环境的清理
2. 配置文件
代码如下(示例):
sudo cp /boot/config-`uname -r` ./.config
sudo make menuconfig
通过tab 和回车选择load → (.config)OK→ SAVE→ (.config)OK → EXIT → EXIT
修改配置文件
sudo gedit .config
将三个蓝色箭头所指的地方置为" " 空
编译内核
sudo make bzImage -j8
(-j 表示加速,8代表线程数)
编译模块 (时间较长)
sudo make modules -j8
安装模块
sudo make INSTALL_MOD_STRIP=1 modules_install
打包
sudo mkinitramfs /lib/modules/6.9.3 -o /boot/initrd.img-6.9.3-generic
将构建好的内核影响和System.map 复制到/boot/下
sudo cp /usr/src/linux-6.9.3/arch/x86/boot/bzImage /boot/vmlinuz-6.9.3-generic
sudo cp /usr/src/linux-6.9.3/System.map /boot/System.map-6.9.3
修改grub 文件
cd /boot/grub
sudo chmod 777 grub.cfg
sudo update-grub2
重启选择新内核
reboot
在启动的anvance 界面选择 新内核
查看新内核版本
sudo uname -r