[devel] [#299892] EPERM (try 5) bootloader-utils.git=0.5.4-alt1

Антон Мидюков midyukov-anton на ya.ru
Чт Май 19 16:40:00 MSK 2022


11.05.2022 17:45, Антон Мидюков пишет:
> Здравствуйте
> 
> В задании 298796 подготовил обновление bootloader-utils со следующими изменениями:
> - kernel.filetrigger: опция --u-boot добавляется, если обнаружен /sys/firmware/devicetree, не взирая
>   на наличие /sys/firmware/efi (Closes: 42039)
>   Нужен прежде всего для того, чтобы при установке с iso на систему с u-boot, создавался симлинк /boot/dtb.
>   u-boot может быть пропатчен для загрузки dtb из /boot/dtb в режиме EFI (сделано у нас на riscv64)
>   Актуально именно для этого случая. Кроме того, полезно для переносных систем кочующих из одноплатника в
>   одноплатник. Установил ядро в режиме EFI, добавилась запись в extlinux.conf и можно грузиться при помощи него
>   вместо EFI; 
> - installkernel: Добавлена возможность загрузки с отдельно /boot раздела при использовании extlinux.conf
>   (Closes: 41140). Для этого:
>   - определяется местоположение devicetree в /boot или, как раньше, в /lib
>   - используются относительные пути в extlinux.conf (для /lib/devicetree/, как и раньше, абсолютный)
>   - симлинк /boot/dtb указывает на относительный путь, если devicetree ядра находится на разделе /boot, а не в /lib 
>   - и, соответственно, devicetree ядра должно быть в /boot, а не /lib (ядра std-def и un-def в Сизифе).
> 
> Прошу высказать замечания по реализации, а мантейнеров пакета выдать аппрув, если не будет замечаний.
> 

Теперь в задании 299892. Отменено изменение:

> - kernel.filetrigger: опция --u-boot добавляется, если обнаружен /sys/firmware/devicetree, не взирая
>   на наличие /sys/firmware/efi (Closes: 42039)

так как наличие /sys/firmware/devicetree не является достаточным условием, чтобы считать что система запущена на u-boot.
asheplyakov@ убедил меня в этом.
Вместо этого:
- Симлинк /boot/dtb создаётся при наличии devicetree у ядра
- /boot/extlinux/extlinux.conf обновляется, если он существует
- директива fdtdir добавляется в /boot/extlinux/extlinux.conf, только если у ядра есть devicetree. Например, у специального
  ядра mcom02 devicetree нет, оно грузится из spi-flash вместе с u-boot.

И вновь прошу высказать замечания по реализации, а мантейнеров пакета выдать аппрув, если не будет замечаний.

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


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