Go to file
Maxim Bogushevich ac5909cdd2 Add pahole downgrade instruction 2023-10-02 11:44:28 +09:00
README Add pahole downgrade instruction 2023-10-02 11:44:28 +09:00
_config Set custom name for compiled kernel 2023-10-02 11:26:05 +09:00

README

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Информация о компиляции ядра https://rvspace.org/en/home

Слева выбираем версию ОС (Debian202308 на момент написания инструкции)

В разделе Image Information смотрим тег для ядра starfive (3.6.1 на момент написания инструкции) 

В разделе Updating Linux Kernel in Image смотрим инструкцию по обновлению ядра

Примечания: 

0. Не рекомендуется компилировать ядро под root! Поэтому команды выполняем под обычным пользователем (кроме последней установки deb пакетов с ядром). 

1. Чтобы не клонировать все ядро (около 10ГБт) можно выполнить
git clone --depth 1 --branch <tag ядра starfive> https://github.com/starfive-tech/linux

2. файл .config берем из репозитория. Возможно применение команды `make ARCH=riscv olddefconfig` его испортит. Надо проверять. Возможно стоит исопльзовать  oldconfig вместо olddefconfig.

3. При компиляции с флагом CONFIG_DEBUG_INFO_BTF=y будут проблемы, eсли ядро 5.15.0, а утилита pahole версии 1.24 и выше. https://devkernel.io/posts/pahole-error/

Вариант из статьи с установкой параметра для pahole приводит к проблемам ( https://lore.kernel.org/all/20220826025220.cxfwwpem2ycpvrmm@altlinux.org/ ), так что его использовать не надо. Надо установить pahole 1.23. На момент написания статьи это удалось сделать только из исходников. 
Репозиторий: https://git.kernel.org/pub/scm/devel/pahole/pahole.git
В README есть инструкция по установке, но предварительно надо установить зависимости:
sudo apt-get install libelf-dev libdwarf-dev libdw-dev

4. Собранные deb пакеты с ядром помещаются не в текущий каталог с исходниками ядра, а на уровень выше. (!)Возможно там уже будут deb пакеты от предыдущих компиляций ядра. Поэтому актуальные deb пакеты (4 штуки на момент написания инструкции) надо скопировать в отдельну папку, а потом уже установить.

5. После установки нового ядра и до(!) перезагрузки правим конфигурацию загрузчика UBoot в каталоге /boot/extlinux/extlinux.conf. Для параметра default устанавливаем нужное ядро.

6. В конфигурации включена поддержка драйверов сетевых карт REALTEK. Важно ее не потерять, иначе после перезагрузки доступ к устройству будет потерян. 

CONFIG_NET_VENDOR_REALTEK=y
CONFIG_REALTEK_PHY=y
CONFIG_WLAN_VENDOR_REALTEK=y