[d-kernel] [PATCH] arm64: dts: rockchip: fix compatible string for Repka Pi 5

Мишаня Бессонов heliumium1997 на gmail.com
Ср Авг 19 12:45:01 MSK 2026


Я думал когда U-Boot не сможет загрузить DTB для ядра он передаёт свой
DTB и смотрит совместима ли конкретная плата с встроенным DTB, но я
не учёл тот факт что если не удалось загрузить DTB то неоткуда брать
строку compatible для проверки

On Tue, Aug 18, 2026 at 12:01 AM Ivan A. Melnikov <iv на altlinux.org> wrote:
>
> On Mon, Aug 17, 2026 at 03:39:17PM +0400, Мишаня Бессонов wrote:
> > 1. Как compatible влияет на загрузчик:
> > Современные версии U-Boot (включая 2025.10) используют FIT-образ
> > (Flattened Image Tree) для мультиплатформенных сборок. При старте загрузчик
> > считывает строку compatible из системного дерева устройств платы
> > (или DTB, вшитого в SPL)
>
> Именно из DTB, "вшитого" в u-boot. C тем, что прописано в DTB ядра
> это никак не связано, на этом этапе DTB ядра ещё не прочитано
> из файловой системы. SPL обычно даже не в курсе, что на свете
> существуют файловые системы.
>
> > и сопоставляет её со списком поддерживаемых
> > конфигураций.
>
> > Если строки не совпадают (например, загрузчик ищет "repka,repka-pi5",
> > а в переданном ядром DTS
>
> Это загрузчик передаёт DTS ядру, а не наоборт.
>
> > написано "repka,pi5"), механизм автоматического
> > сопоставления FIT и валидации
> > fdtfile может не отработать корректно без жесткого ручного
> > переназначения переменных окружения.
>
> Я буквально посмотрел в исходники вендорского U-Boot (а Вы?)
> и не увидел там ничего такого. Однако я не могу быть на 100%
> уверен, что это *те самые* исходники, и что я ничего не опустил.
> Поэтому я вполне открыт к техническому диалогу.
>
> Покажите код (например, из вендорского репозитория U-Boot)
> или отрывки логов загрузки, которые убедительно
> демонстрируют, что Вы правильно интерпретируете поведение
> U-Boot. Написанные с помощью LLM общие слова не принимаются
> в качестве аргумента в технической дискуссии.
>
> Вы тестировали этот патч? Вы сравнивали логи U-Boot до и после?
> Покажите разницу. Не описывайте, а покажите. Даже
> включите её самую релевантную чать в commit message.
>
> > 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.dt
> > fdtfile=rockchip/rk3588-repka-pi5.dtb
> > repka,repka-pi5
>
> Естественно там будет "repka,repka-pi5", оно же прописано в собственном
> DTB U-Boot'а.
>
> > Данный токен генерируется на этапе сборки загрузчика из
> > конфигурационных параметров дефконфига
> > платы (параметры CONFIG_DEFAULT_DEVICE_TREE и CONFIG_OF_LIST).
>
> Эти CONFIG'и задают имена файлов и никак не связаны
> c compatible-строками.
>
> > Предлагаемый патч устраняет это рассогласование между актуальным
> > деревом устройств в
> > ядре ALT и ожиданиями собираемого загрузчика, обеспечивая старт
> > системы "из коробки". Что касается
> > каноничности строки у производителя — в их текущих репозиториях ядра и
> > загрузчика присутствует
> > рассинхронизация префиксов, но данный патч приводит DTS ядра к
> > фактическому общему
> > знаменателю с их же бинарником U-Boot.
>
> Если эта "рассинхронизация" не мешает работать вендрскому ядру,
> то и нашему не должна мешать.
>
> Какую проблему Вы пытаетесь решить?
>
> --
>   wbr,
>     iv m.


Подробная информация о списке рассылки devel-kernel