* [devel-sbc] UEFI для Raspberry Pi 3 и 4
@ 2020-01-27 16:12 Антон Мидюков
2020-01-27 22:35 ` Alexey V. Vissarionov
2020-01-30 18:50 ` Павел Исопенко
0 siblings, 2 replies; 4+ messages in thread
From: Антон Мидюков @ 2020-01-27 16:12 UTC (permalink / raw)
To: devel-sbc
Доброго времени суток
Я собрал пакет с UEFI firmware (EDK2) для Raspberry Pi 3B, 3B+, 4B:
https://packages.altlinux.org/ru/sisyphus/srpms/edk2-rpi
EFI на Raspberry Pi запускается также как запускается ядро или u-boot
фирмварью Broadcom'а. Соответственно, сохраняются требования для
разметки файловой системы:
1. Таблица разделов MBR
2. Первый раздел FAT32 или FAT16, никакого ESP
3. На разделе с FAT размещается firmware и UEFI.
При использовании EFI добавляется ещё одно требование: загрузка EFI
должна осуществляться с micro-SD карты, так как на данный момент
загрузка с USB не поддерживается.
Для того, чтобы желающие могли попробовать я сделал zip-архив, который
необходимо распаковать на FAT-раздел micro-SD карты:
http://nightly.altlinux.org/sisyphus-aarch64/alpha/RPi_EFI.zip
После распаковки откройте Readme.ru и прочтите инструкцию.
Также я собрал два пробных образа для записи на флешку:
http://nightly.altlinux.org/sisyphus-aarch64/alpha/regular-jeos-systemd-efi-mbr-20200127-aarch64.img.xz
(без графики)
http://nightly.altlinux.org/sisyphus-aarch64/alpha/regular-lxqt-efi-mbr-20200127-aarch64.img.xz
(с рабочим столом LXQt)
Для Raspberry Pi 3 образ можно записать на micro-SD карту и затем
распаковать архив на раздел FAT.
Для Raspberry Pi 4 загрузка Linux с micro-SD происходит почему-то
катастрофически медленно, так что она почти всегда останавливается на
одном из ранних этапов. Поэтому на micro-SD нужно создать только раздел
FAT и распаковать туда RPi_EFI.zip
А сам образ записать на USB-флешку. Примечательно, что грузятся наши
стандартные ядра std-def, un-def, mp, lts, но не грузятся rpi-def и
rpi-un, собранные для Raspberry Pi 4 специально. Секрет, думаю, в том,
что в UEFI приходится вместо dtb использовать ACPI (для того, чтобы
заработал USB , которое совсем неполное). Использование ACPI также
ограничивает видимую зону оперативной памяти 3 ГБ.
При загрузке, что Raspberry Pi 3, что Raspberry Pi 4 наблюдается
проблема с KMS, так что не только 3D недоступно, но и хоть какие-то
приемлемые разрешения экрана.
На Raspberry Pi 4 этим проблемы не заканчиваются. Не заработали ни
Ethernet, ни wi-fi. Но зато работает перезагрузка и выключение,
благодаря EFI :-)
Так что для повседневного использования EFI не годится, но для
экспериментов вполне.
--
С уважением, Антон Мидюков <antohami@altlinux.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel-sbc] UEFI для Raspberry Pi 3 и 4
2020-01-27 16:12 [devel-sbc] UEFI для Raspberry Pi 3 и 4 Антон Мидюков
@ 2020-01-27 22:35 ` Alexey V. Vissarionov
2020-01-30 18:50 ` Павел Исопенко
1 sibling, 0 replies; 4+ messages in thread
From: Alexey V. Vissarionov @ 2020-01-27 22:35 UTC (permalink / raw)
To: Single-board computer software development discussions
On 2020-01-27 23:12:03 +0700, Антон Мидюков wrote:
> На Raspberry Pi 4 этим проблемы не заканчиваются. Не заработали
> ни Ethernet, ни wi-fi. Но зато работает перезагрузка и выключение,
> благодаря EFI :-)
Это не EFI, это DTB. Благодарю за "деление горизонта" - теперь можно
исключить сразу целый класс возможных корявостей с MXL7704.
--
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel-sbc] UEFI для Raspberry Pi 3 и 4
2020-01-27 16:12 [devel-sbc] UEFI для Raspberry Pi 3 и 4 Антон Мидюков
2020-01-27 22:35 ` Alexey V. Vissarionov
@ 2020-01-30 18:50 ` Павел Исопенко
2020-01-31 17:44 ` Антон Мидюков
1 sibling, 1 reply; 4+ messages in thread
From: Павел Исопенко @ 2020-01-30 18:50 UTC (permalink / raw)
To: devel-sbc
Добрый день всем.
27.01.2020 19:12, Антон Мидюков пишет:
>
> http://nightly.altlinux.org/sisyphus-aarch64/alpha/RPi_EFI.zip
>
> После распаковки откройте Readme.ru и прочтите инструкцию.
>
Не повторите моей ошибки: после записи образа на первом разделе, который
fat, будет одинокий каталог "EFI". Его трогать не надо, он нужен. В
архиве, напротив - подкаталог RPi_EFI. Файлы ИЗ него надо ДОписать в
корень раздела fat, рядом с каталогом EFI. И конечно, не забыть
переименовать один из файлов config*.txt в зависимости от вашей модели
RPi, как указано в инструкции.
Пробовал на RPi3B, подтверждаю, всё заявленное - работает. Перезагрузка,
выключение - ok. Что заявлено как (пока) неработающее - не работает, что
логично. Записал образ *jeos* на SD и *lxqt* на USB - грузятся оба на выбор.
Теперь бы с видеорежимами разобраться, затем с wi-fi и прочей
переферией. По-моему основа отличная, с ней можно работать.
--
С уважением, Павел Исопенко
тел. +79165329582
email: master@pauli.ru
XMPP: pavelri@jabber.credoaudit.ru
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel-sbc] UEFI для Raspberry Pi 3 и 4
2020-01-30 18:50 ` Павел Исопенко
@ 2020-01-31 17:44 ` Антон Мидюков
0 siblings, 0 replies; 4+ messages in thread
From: Антон Мидюков @ 2020-01-31 17:44 UTC (permalink / raw)
To: devel-sbc
31.01.2020 1:50, Павел Исопенко пишет:
> Добрый день всем.
>
> 27.01.2020 19:12, Антон Мидюков пишет:
>>
>> http://nightly.altlinux.org/sisyphus-aarch64/alpha/RPi_EFI.zip
>>
>> После распаковки откройте Readme.ru и прочтите инструкцию.
>>
> Не повторите моей ошибки: после записи образа на первом разделе,
> который fat, будет одинокий каталог "EFI". Его трогать не надо, он
> нужен. В архиве, напротив - подкаталог RPi_EFI. Файлы ИЗ него надо
> ДОписать в корень раздела fat, рядом с каталогом EFI. И конечно, не
> забыть переименовать один из файлов config*.txt в зависимости от вашей
> модели RPi, как указано в инструкции.
>
> Пробовал на RPi3B, подтверждаю, всё заявленное - работает.
> Перезагрузка, выключение - ok. Что заявлено как (пока) неработающее -
> не работает, что логично. Записал образ *jeos* на SD и *lxqt* на USB -
> грузятся оба на выбор.
> Теперь бы с видеорежимами разобраться, затем с wi-fi и прочей
> переферией. По-моему основа отличная, с ней можно работать.
>
На RPi3B+ wi-fi работает.
Проблема с видео и все другие проблемы заключаются в том, что в
bcm2710-rpi-*.dtb видео vc4 и многое другое (i2c, spi) выключено. При
помощи overlay'ев у меня ничего включить не получилось. Брал с
https://github.com/raspberrypi/firmware
Может проблема в том, что они 32-битные? Или битность на оверлеи не
распространяется?
Если в grub прописать:
devicetree /lib/devicetree/<конкретное_ядро>/bcm2835-rpi-3-b-plus.dtb
То грузится и работает. Но как-то нестабильно совсем. Также необходимо
иметь ввиду, что сообщения ядра будут сыпаться в UART, который согласно
bcm2835-rpi-3-b-plus.dtb подключен к bluetooth, поэтому в cmdline нужно
дописать
console=tty1
тогда пойдут на экран.
Пробовал подкладывать другой dtb, затем сохранял /proc/devicetree в dts
файл. Сохранённые dts выглядят одинаково.
Непонятно на кого грешить, то ли на EFI, то ли на grub.
Надо будет проверить прямую загрузку из EFI.
--
С уважением, Антон Мидюков <antohami@altlinux.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-01-31 17:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-27 16:12 [devel-sbc] UEFI для Raspberry Pi 3 и 4 Антон Мидюков
2020-01-27 22:35 ` Alexey V. Vissarionov
2020-01-30 18:50 ` Павел Исопенко
2020-01-31 17:44 ` Антон Мидюков
Single-board computer software development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel-sbc/0 devel-sbc/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel-sbc devel-sbc/ http://lore.altlinux.org/devel-sbc \
devel-sbc@lists.altlinux.org devel-sbc@lists.altlinux.ru devel-sbc@lists.altlinux.com
public-inbox-index devel-sbc
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel-sbc
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git