RaspberryPi and UEFI

Материал из ALT Linux Wiki

Введение

Использование UEFI для одноплатных компьютеров позволит их рассматривать как полноценную альтернативу PC, снизит порог вхождения для пользователей. В данной статье описывается текущий статус поддержки дистрибутивов Альт на UEFI для Raspberry Pi 3 и 4.

Установка UEFI

Необходимо скачать архив RPi_EFI.zip

Этот архив содержит в себе UEFI (edk2) для Raspberry Pi 3B, 3B+ и 4B из пакета edk2-rpi

Порядок установки:

1. Отформатируйте microSD-карту c таблицей разделов ms-dos (MBR). GPT не поддерживается!!!

2. Создайте первым раздел с типом FAT16 (0x0f) или FAT32 (0x0c). Загрузка с ESP-раздела невозможна.

3. Распакуйте на созданный раздел этот архив.

4.1 Для загрузки на Raspberry Pi 3 (B и B+) переименуйте config_RPi3.txt в config.txt

4.2 Для загрузки на Raspberry Pi 4B (4 ГБ ОЗУ) переименуйте config_RPi4_ACPI.txt в config.txt

4.3 Для загрузки на Raspberry Pi 4B (1-2 ГБ ОЗУ) переименуйте config_RPi4.txt в config.txt

5. Безопасно извлеките micro-SD карту и вставьте в целевую плату.

Особенности UEFI для Raspberry Pi 3:

1. На Raspberry Pi 3 поддерживается загрузка как с SD-карты, так и с USB. В initrd должны быть модули ядра: dwc2 и bcm2835.

Проблемы:

1. На Raspberry Pi 4 с 4 ГБ ОЗУ объём доступной оперативной памяти ограничен 3 ГБ, т.к. используется неполное ACPI (параметр сборки edk2: -D ACPI_BASIC_MODE_ENABLE=1). Иначе не работает USB.

2. На Raspberry Pi 4 загрузка работает только с USB. Поэтому сценарий использования такой: micro-SD карта минимального объёма, которая форматируется в MBR FAT32, на неё распаковывается этот архив, а уже операционная система устанавливается на USB-накопитель. Для загрузки с USB накопителя в initrd должны быть модули ядра: xhci-plat-hcd и bcm2835.

3. На Raspberry Pi 4 wi-fi и ethernet не работают.

4. Общая проблема: при загрузке Linux не загружается drm-модуль, аппаратное ускорение не доступно. Разрешение экрана доступно только одно - то, которое было у grub. Поэтому в /etc/sysconfig/grub2 пропишите:

GRUB_GFXMODE=auto

Или же конкретное разрешение экрана.

И обновите конфиг grub:

update-grub

Для того, чтобы изображение выводилось на весь экран в config.txt уже прописан параметр:

disable_overscan=1

Доступные сборки

Доступны регулярные сборки (гибридные ISO-образы) на базе репозитория Сизиф для записи на USB-flash.

Ссылки

1. Raspberry Pi на пути к ARM ServerReady: представлена бета-версия прошивки UEFI+ACPI

2. UEFI для Raspberry Pi 3 и 4

3. regular-server.iso для Raspberry Pi 3 (4)