Single-board computer software development discussions
 help / color / mirror / Atom feed
* [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