[devel-distro] Политика упаковки devicetree в ядрах

Антон Мидюков midyukov-anton at ya.ru
Mon Oct 4 09:42:04 MSK 2021


Здравствуйте, коллеги

Хотел бы обсудить два вопроса упаковки devicetree в наших ядрах

1. devicetree у нас располагаются в одном каталоге /lib/devicetree/<ядро>/
без распределения по подкаталогам на каждого вендора. В других дистрибутивах
(например, Armbian) devicetree распределены по вендорам (allwinner/ nvidia/ rockchip/
и т.д.).
Хотелось бы иметь совместимость со сторонними u-boot, так как это позволит,
не записывать u-boot, а использовать уже имеющийся в eMMC или SPI flash.
Причина такого желания состоит в том, что пользователи могут желать сохранить
в eMMC Armbian или другой дистрибутив.
Замена штатного u-boot на u-boot Альта в свою очередь приведёт к тому, что не загрузятся
другие дистрибутивы, использующие распределение dtb по вендорам.

Для достижения совместимости с другими дистрибутивами достаточно создать
симлинки с именами вендоров на текущий каталог в каталоге /lib/devicetree/<ядро>/
ln -s . <имя_вендора>

Подойдёт ли такая реализация? Если да, то как бы её лучше реализовать?

2. Другая проблема - невозможность использования зашифрованного корня при выделенном
незашифрованном разделе /boot. Для того, чтобы это было возможно, необходимо
наличие devicetree в /boot.
Предлагаю начать паковать devicetree в /boot/devicetree/<ядро>/, и создавать для
обратной совместимости симлинк:
ln -s /boot/devicetree/<ядро> /lib/devicetree/<ядро>

devicetree не сильно много места занимают, так что /boot не разбухнет слишком сильно:
du -h lib/devicetree/5.10.70-std-def-alt1
8,7M	lib/devicetree/5.10.70-std-def-alt1

du -h lib/devicetree/5.14.9-un-def-alt1/
14M	lib/devicetree/5.14.9-un-def-alt1/

Но тенденция к разрастанию, конечно, заметная.

-- 
С уважением, Антон Мидюков <antohami �� altlinux.org>


More information about the devel-distro mailing list