From: "Alexey V. Vissarionov" <gremlin@altlinux.org> To: Single-board computer software development discussions <devel-sbc@lists.altlinux.org> Subject: Re: [devel-sbc] UEFI и Raspberry Pi Date: Mon, 11 May 2020 13:53:38 +0300 Message-ID: <20200511105337.GL24180@altlinux.org> (raw) In-Reply-To: <CAGvFrt3-2OrietggQ_b8uKhLVrV_Uhxx4_oMCELwcSm92TcONA@mail.gmail.com> On 2020-05-11 11:48:36 +0300, Aleksey Novodvorsky wrote: >> Через u-boot можно загрузиться только с SD-карты. Через edk2 >> можно загрузиться только через USB. >> >> Это совершенно разные загрузчики. u-boot предоставляет >> минимальную совместимость с UEFI, только чтобы grub-efi >> загрузить. >> edk2 - это полноценный UEFI, который позволяет грузить с >> флешки гибридные ISO-образы. А это полноценные live, >> инсталляторы, rescue. Все эти "полноценные live, инсталляторы, rescue" можно сделать просто на базе USB-флешки, безо всяких ISO-образов. Но тут, как всегда, "есть нюансы". >> Чем и интересен. > +1 -1 Вероятность того, что кто-то подключит сидюк к мелкому компутеру, пренебрежимо мала (хотя на том же BPi-R1 есть SATA прямо на плате). Вероятность того, что этот сидюк будет использоваться в качестве загрузочного накопителя - еще меньше. Даже на писюшатине они практически вымерли. Вот захожу я по адресу https://www.citilink.ru/catalog/mobile/notebooks/ и среди параметров поиска вижу прекрасное соотношение вариантов: Оптический привод: DVD - 73, без привода 1020. Крупный ретейлер что-то знает о предпочтениях покупателей? :-) Это именно ноутбучная категория, причем есть еще две: ультрабуки и трансформеры (у которых сидюков не бывает в принципе). Поэтому остаются флешки - как SD/MMC, так и USB. И тут начинается самое интересное. > Честно говоря, загрузка с USB мне кажется плюсом. Это серьезный > шаг к унификации и пользовательских свойств, и технологии > разработки/сборки. Вопрос только в выравнивания сборки RPI 4 > по багам. Далеко не только. Дело в процессе загрузки. Когда процессор стартует, ему доступны только те устройства, которые есть у него на борту (процессоров как таковых уже давно нет, они все в той или иной мере SoC, System on Chip) - это немного ПЗУ, немного ОЗУ (килобайты), интерфейсы I2C и SPI, ногодрыжество (GPIO)... и все. Про внешние устройства ничего не известно, и как с ними работать - в общем случае непонятно. Однако "есть один нюанс", который сильно упрощает жизнь: почти все современные ПЗУ умеют работать по SPI, а реализовать его предельно просто - по одному проводу отправляем (или, наоборот, принимаем) синхроимпульс, по второму передаем один бит данных, по третьему принимаем один бит встречных данных. Провода и сигналы называются, соответственно, SCK (clock), SDO (data out; также MOSI) и SDI (data in; также MISO); добавляем питание (VCC), общий (GND) и выбор устройства (CS, chip select) - все, можно работать. А самое главное, в таком режиме умеют работать и SD/MMC-флешки: пусть медленно, зато единообразно. В общем, есть место, где хранится информация о том, что у нас есть и как с ним работать. А вот USB-хосты унифицированы только с одной стороны - той, куда подключается периферия. Там все хорошо: более 20 лет существует стандарт https://www.usb.org/sites/default/files/usbmassbulk_10.pdf Но нам-то интересна та часть, которая находится со стороны SoC... и там полнейший зоопарк. Соответственно, для EFI-загрузки с USB нужна унификация содержимого ПЗУ на платах (пусть хотя бы на уровне "найти USB-флешку, найти на ней активный раздел с типом 0xEF и файловой системой FAT32, прочитать в память файл EFI/Boot/bootaa64.efi и передать ему управление"). Кто этим будет заниматься - я не знаю: производителям железяк это не нужно, производителям SoC тем более. -- Alexey V. Vissarionov gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
next prev parent reply other threads:[~2020-05-11 10:53 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-05-08 16:07 ` Антон Мидюков 2020-05-08 17:20 ` Сергей Бессонов 2020-05-11 8:01 ` Антон Мидюков 2020-05-11 8:07 ` Сергей Бессонов 2020-05-11 8:19 ` Антон Мидюков 2020-05-11 10:53 ` Alexey V. Vissarionov [this message] 2020-05-11 11:24 ` Антон Мидюков 2020-05-12 13:51 ` Alexey V. Vissarionov 2020-05-12 14:31 ` Антон Мидюков 2020-05-11 7:50 ` Антон Мидюков 2020-05-11 8:23 ` Антон Мидюков 2020-05-11 8:53 ` Alexey V. Vissarionov 2020-05-11 9:12 ` Антон Мидюков 2020-05-11 10:10 ` Дмитрий Терехин 2020-05-11 11:11 ` Alexey V. Vissarionov 2020-05-11 10:16 ` Антон Мидюков 2020-05-11 20:25 ` Сергей Бессонов 2020-05-12 8:39 ` Сергей Бессонов 2020-05-12 8:23 ` Антон Мидюков 2020-05-12 14:14 ` Alexey V. Vissarionov 2020-05-11 11:07 ` Alexey V. Vissarionov 2020-05-11 9:01 ` Denis Pynkin 2020-05-11 9:16 ` Антон Мидюков
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200511105337.GL24180@altlinux.org \ --to=gremlin@altlinux.org \ --cc=devel-sbc@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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