[devel-distro] grub и devicetree
Sergey Bolshakov
sbolshakov at altlinux.ru
Wed Dec 18 23:28:58 MSK 2019
>>>>> "Антон" == Антон Мидюков <midyukov-anton �� ya.ru> writes:
> 18.12.2019 0:10, Антон Мидюков пишет:
>> Доброго времени суток!
>>
>> Существует задача прописать конкретный путь до devicetree в
>> конфигурации grub. Я так понимаю, что на данный момент devicetree
>> задаётся автоматом в /etc/grub.d/10_linux:
>>
>> [...]
> Я сделал тестовое задание:
> [#243217] [test-only] EPERM (try 2) grub.git=2.02-alt21
> Изменения следующие:
> 1. Появилась возможность в /etc/sysconfig/grub2 записать в переменную
> GRUB_FDT_LINUX имя необходимого dtb вместо умолчального
> foundation-v8.dtb, который во всех наших ядрах для aarch64 есть (но
> есть ещё и не совсем наши ядра). Возможно, стоит отказаться от этой
> возможности. А может и не стоит, удобная фича.
> 2. Добавил в качестве пути поиска dtb для симлинков vmlinuz и kernel:
> /boot/dtb
> Таким образом, для того, чтобы можно было задать devicetree, должны
> быть в наличии симлинки:
> /boot/dtb -> /lib/devicetree/%version-%flavour-%release
> /boot/dtb-%version-%flavour-%release ->
> /lib/devicetree/%version-%flavour-%release
> И в наличии должен быть
> /boot/dtb-%version-%flavour-%release/${GRUB_FDT_LINUX} и
> /boot/dtb/${GRUB_FDT_LINUX}
> Вопрос: их, видимо, должен создавать installkernel при наличии
> /lib/devicetree/%version-%flavour-%release?
> Получается, нужно ещё доработать bootloaders-utils. Или добавить в
> пути поиска /lib/devicetree/%version-%flavour-%release лучше?
Собственно, что за проблема таким образом решается ?
Напомню, что для варианта с загрузкой через u-boot,
по крайней мере mainline, имя файла с dtb уже наперёд известно
для каждого бинарника u-boot, так что достаточно указать путь
к директории со всеми известными dtb, что и делается симлинком
/boot/dtb для ядра по умолчанию либо полным версионированным
путём для каждого установленного ядра.
Использование же grub предполагает наличие UEFI, и вся эта
машинерия просто не нужна -- как правило, devicetree там
опционален, поскольку используется ACPI; но даже в том случае,
когда используется devicetree, он уже есть в памяти, и незачем
его подгружать откуда-то извне.
--
More information about the devel-distro
mailing list