Я только что установил Ubuntu 20.04 на Lenovo Legion 5 15ARH05 . Тачпад не работает, и я читал на нескольких форумах, что это обычная проблема.
Я попытался обновить ядро с помощью приложения Ubuntu Mainline Kernel Installer с графическим интерфейсом до 5.10.2
, но мне, вероятно, понадобится (согласно ( скрыто), чтобы применить этот патч:
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
Ниже приведено простое руководство по компиляции и установке ядра из исходников. Я не тестировал это руководство со ссылкой на .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>
где вам нужно заменить <версия>
на версию, которую вы собственно скомпилирован.
После этого обновите grub, введя:
sudo update-grub