[d-kernel] [PATCH] arm64: dts: rockchip: fix compatible string for Repka Pi 5
Мишаня Бессонов
heliumium1997 на gmail.com
Пн Авг 17 14:39:17 MSK 2026
1. Как compatible влияет на загрузчик:
Современные версии U-Boot (включая 2025.10) используют FIT-образ
(Flattened Image Tree) для мультиплатформенных сборок. При старте загрузчик
считывает строку compatible из системного дерева устройств платы
(или DTB, вшитого в SPL) и сопоставляет её со списком поддерживаемых
конфигураций.
Если строки не совпадают (например, загрузчик ищет "repka,repka-pi5",
а в переданном
ядром DTS написано "repka,pi5"), механизм автоматического
сопоставления FIT и валидации
fdtfile может не отработать корректно без жесткого ручного
переназначения переменных окружения.
2. Откуда взялась строка:
Признаю, что в первоначальном патчсете строка "repka,pi5" была указана
мной ошибочно
(в качестве заглушки при адаптации под mainline-интерфейсы 6.18).
При финальном тестировании сборки официального загрузчика
u-boot-2025-10 для Repka Pi 5 из
репозитория производителя, анализ итогового бинарного артефакта
u-boot-rockchip.bin с помощью
утилиты strings показал, что загрузчик жестко завязан на токен
"repka,repka-pi5":
$ strings u-boot-rockchip.bin | grep repka
fdt-rockchip/rk3588-repka-pi5
repka,repka-pi5
rockchip/rk3588-repka-pi5.dtb
fdtfile=rockchip/rk3588-repka-pi5.dtb
repka,repka-pi5
Данный токен генерируется на этапе сборки загрузчика из
конфигурационных параметров дефконфига
платы (параметры CONFIG_DEFAULT_DEVICE_TREE и CONFIG_OF_LIST).
Предлагаемый патч устраняет это рассогласование между актуальным
деревом устройств в
ядре ALT и ожиданиями собираемого загрузчика, обеспечивая старт
системы "из коробки". Что касается
каноничности строки у производителя — в их текущих репозиториях ядра и
загрузчика присутствует
рассинхронизация префиксов, но данный патч приводит DTS ядра к
фактическому общему
знаменателю с их же бинарником U-Boot.
Подробная информация о списке рассылки devel-kernel