33 lines
3.3 KiB
Plaintext
33 lines
3.3 KiB
Plaintext
Информация о компиляции ядра 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 |