[devel] grub FDT patch (grub versus Baikal-M)

Alexey Sheplyakov asheplyakov на basealt.ru
Пт Апр 3 14:33:54 MSK 2020


On Wed, Apr 01, 2020 at 01:29:43PM +0300, Aleksey Novodvorsky wrote:

> Обсудил с sbolshakov на .
> Проблема в том, что в случае обновления bios с целью стандартизации, -- а
> оно вроде намечено БЭ, -- система не загрузится.

Не вполне верное утверждение. Если UEFI выдает такое же FDT, какое
записано на диске, никакой разницы нет, и система загрузится. Если UEFI
выдает несовместимое FDT, то ядро все равно не загрузится (независимо от
того, патчили grub или нет).

> Какие варианты я вижу:
> 1. Спросить у БЭ об их намерениях касательно прошивки этой платы при ее
> запуске в production. Будет стандартизация или нет.
> 2. Сейчас в любом случае собрать в стороне grub с предложенным патчем и
> использовать в сборках для этой платы с предупреждением на вики.

Он и так "собран в стороне", но после первого же обновления grub система
не загрузится (т.к. в grub.cfg не будет строчки `devicetree`).

> всего несколько десятков и релиза у нас нет, сильно не навредим.
> 3. Если стандартизации не будет и далее, то патчить  grub.
> 4. Если будет, то делать релизный образ с обычным grub
> 5. Что-то другое?

Патч сам по себе не приводит к появлению директивы `devicetree` в grub.cfg.
Для этого еще переменную GRUB_FDT_LINUX в /etc/sysconfig/grub2 задать надо.
Потому проще было бы смержить патч, а после "стандартизации" убрать эту
переменную (из соответствующего mkimage-profile).

Уже установленные системы (все 3) при любом варианте прийдется обновлять
особым образом.  При варианте 4):
 а) снять с hold и обновить grub
 б) запустить upgrade-grub

При варианте 5 (который я предлагаю):
 а) закомментировать GRUB_FDT_LINUX в /etc/sysconfig/grub2
 б) запустить update-grub



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