Bug 41184

Summary: update-grub: механизм для передачи ядру device tree
Product: Sisyphus Reporter: Alexey Sheplyakov <asheplyakov>
Component: grub-commonAssignee: Николай Костригин <nickel>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: nickel, placeholder, rider
Version: unstable   
Hardware: aarch64   
OS: Linux   

Description Alexey Sheplyakov 2021-10-21 15:06:22 MSK
По мотивам https://lists.altlinux.org/pipermail/arm64-baikalm/2021-October/000111.html

Иногда при заргузке на ARM системах (с UEFI, но без ACPI) нужно передать ядру device tree.
Например, когда 
- firmware передаёт неправильный/неполный dtb
- нужно отключить устройство (status = "disabled"), потому что драйвер этого устройства вызывает kernel panic (а отключить драйвер другим способом не выходит, например, драйвер вкомпилен в ядро, и modprobe.blacklist не сработает)

grub это поддерживает (директива "devicetree"). Не хватает только способа указать
(в /etc/sysconfig/grub2, например), какой dtb нужно использовать в автоматически
созданном /boot/grub.cfg
Comment 1 Николай Костригин 2021-10-21 15:51:42 MSK
Возможно Вы захотите ознакомиться с предыдущим заходом на цель:

https://lists.altlinux.org/pipermail/devel-distro/2019-December/001849.html

Что-то принципиально поменялось с тех времен?
Comment 2 Николай Костригин 2021-10-21 15:51:53 MSK
Возможно Вы захотите ознакомиться с предыдущим заходом на цель:

https://lists.altlinux.org/pipermail/devel-distro/2019-December/001849.html

Что-то принципиально поменялось с тех времен?
Comment 3 Alexey Sheplyakov 2021-11-19 11:22:36 MSK
(In reply to Николай Костригин from comment #2)
> Возможно Вы захотите ознакомиться с предыдущим заходом на цель:
> 
> https://lists.altlinux.org/pipermail/devel-distro/2019-December/001849.html

Уже знаком.

> Использование же grub предполагает наличие UEFI, 

Верно.

> и вся эта машинерия просто не нужна 

Утверждение не соответствует действительности.

> как правило, devicetree там опционален, поскольку используется ACPI;

Утверждение не соответствует действительности.

- BE-M1000 без device tree не загрузится (от слова "совсем")
- raspberry pi 3/4 с UEFI: без device tree - не работает 3d ускорение, WiFi, bluetooth.
 

> но даже в том случае, когда используется devicetree, он уже есть в памяти,

*может* быть в памяти. А может и не быть.

> и незачем его подгружать откуда-то извне.

Утверждение не соответствует действительности.
Часто бывает, что device tree, переданный через UEFI таблицы, неполный и/или неправильный.
Из-за чего система либо вовсе не грузится, либо часть устройств не работает.


> Что-то принципиально поменялось с тех времен?

Ничего. Пользователи по-прежнему сами пересобирают grub, либо программатором перепрошивают UEFI.


P.S. Предлагаю Вам ещё раз перечитать описание этого бага.