[devel-distro] grub и devicetree
Антон Мидюков
midyukov-anton at ya.ru
Thu Dec 19 11:16:47 MSK 2019
19.12.2019 3:28, Sergey Bolshakov пишет:
> > 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 лучше?
>
> Собственно, что за проблема таким образом решается ?
Решаем возможность нормального обновления grub на системе с EFI, которая
не имеет ACPI и не предоставляет devicetree при загрузке.
Иначе, прописав в grub.cfg devicetree, после обновления его там уже не
будет.
Хорошенько подумав, я решил, что не стоит трогать installkernel, всё
можно сделать и в grub.
Так как я добавил ранее поиск devicetree в /boot/dtb для vmlinuz, то
пришлось отказаться от дефолтного значения, которое теперь стало ломать
загрузку на нормальных EFI.
Собран новый вариант, который ничего ломать не должен:
[#243217] [test-only] EPERM (try 5) grub.git=2.02-alt21
Ещё несколько слов. У нас поиск devicetree добавлялся ранее патчем от
2014 года
grub-2.02-sb-0005-Make-10_linux-work-with-our-changes-for-linux16-and-.patch
Но использоваться фактически не мог, так как мы не делаем симлинки:
boot/dtb-%version-%flavour-%release ->
/lib/devicetree/%version-%flavour-%release
--
С уважением, Антон Мидюков <antohami �� altlinux.org>
More information about the devel-distro
mailing list