Учти, что по такой инструкции я собирал ядро 6.1.20 для manjaro KDE, любые отклонения возможно могут либо создать новые проблемы, либо не будет имеющихся.
-
скачиваем исходные файлы ядра с kernel.org, разархивируем
-
(Опционально) устаналиваем патч для более тонкой настройки архитектуры процессора patch
2.1. скачиваем и распаковываем.
2.2. Перемещаем файл more-uarches-for-kernel-5.17+.patch
в директорию с ядром
2.3. В директории с ядром и патчем вводим:
patch -p0 < more-uarches-for-kernel-5.17+.patch
2.4. На просьбы указать файл указываем по очереди arch/x86/Kconfig.cpu
arch/x86/Makefile
arch/x86/include/asm/vermagic.h
Готово.
-
очищаем от компилированных файлов:
make mrproper -j4
(Где -J4 кол — во ядер)
-
Теперь либо копируем стандартную конфигурацию
zcat /proc/config.gz > .config,
либо оставляем только включённые модули в системе (Важно подключить все устройства, которые будут использоваться) (Рекомендовано)
make localmodconfig -j4
- (Опционально, но желательно) открыть .config и изменить значение строки CONFIG_LOCALVERSION на своё. Например вместо "Manjaro" написать "NeManjaro"
- Запускаем редактор ядра
KDE = make xconfig: GNOME = make gconfig: либо с псевдографикой = make menuconfig
6.1. (Опционально) заходим в General Setup и в разделе Kernel compression mode ставим LZMA сжатие (вроде как самое эффективное), отключаем Enable BPF LSM Instrumentation (иначе будет ошибка в логе,но не должно помешать загрузке), в Enable loadable module support > Module compression mode ставим значение none.
6.2. После того, как определились с настройками, можно и Собирать ядро:
make -j4
-
Собираем и устанавливаем модули ядра:
sudo make modules -j4 && sudo make modules_install -j4
(Где -j4 это кол - во ядер)
-
Копируем собранное ядро
sudo cp -v arch/x86_64/boot/bzImage /boot/vmlinuz-6.1.20-CustomKernel
(Где «CustomgKernel» можно ставить любое название по желанию)
-
Создаём файл инициализации
sudo mkinitcpio -k 6.1.20-CustomKernel -g /boot/initramfs-6.1.20-CustomKernel.img
Где «-k 6.1.20-CustomKernel» нужно укзаать папку с модулями в /lib/modules/ (Например /lib/modules/6.1.20-CustomKernel
-
Обновляем загрузчик
sudo grub-mkconfig -o /boot/grub/grub.cfg.
Если у тебя стоят проприетарные драйвера Nvidia, то скорее всего ядро не запустится, поэтому следуй инструкции:
- скачиваем модуль module, распаковываем его.
- Скачиваем драйвер видеокарты в формате run с сайта www.nvidia.com
-
Теперь тебе нужно зайти в пока что ещё не рабоющее ядро и отрыть tty (alt + ctrl + F2)
-
Заходим в директорию с распакованным модулем и выполняем компиляцию и установку
sudo make modules -j4 && sudo make modules_install -j4.
Модуль по сути теперь установлен.
- запускаем драйвер NVIDIA-Linux-x86_64-525.89.02.run
-
Стоит вначале понять что пошло не так, для примера в неработающем ядре в tty ввести:
journalctl --boot ---priority 4
-
Загрузиться в работающее ядро
-
Удаляем ядро, модули и initramfs
sudo rm -fr /boot/vmlinuz-6.1.20-CustomKernel && sudo rm -fr /lib/modules/6.1.20-CustomKernel && sudo rm -r /boot/initramfs-6.1.20-CustomKernel.img
-
снова обновляем загрузчик:
sudo grub-mkconfig -o /boot/grub/grub.cfg.