Как стать автором
Обновить

Комментарии 35

А что с драйверами для видеокарты?

4х канала только на pciex3. Для запуска видеокарты надо от 8 каналов и выше. В инструкции на сайте всё написано.

В Thunderbolt 4 pci линии, но как-то через него подключают egpu к ноутбукам.

Майнеры подключают видеокарты через переходники на pci x1 вообще (потому что на материнских платах часто только один слот x8-x16, а они пихают в одну дешевую материнку 3-6 видеокарт).

Просто производительность в задачах где нужно гонять много данных между cpu и gpu страдают. Типа в играх будет больше прогрузок. Но видеокарте не нужны все линии pci, которые у неё есть, чтобы работать.

8 каналов это ограничение дистрибутива или что ?

Так как rx6400 и rx6500 имеют только 4 линии, m2/oculink egpu переходники - только 4 линии, майнеры (и gpgpu энтузиасты раньше) подключают карты одной линией и ничего

Дело не в Mesa. Нужен kernel driver gpu/drm/pancsf https://www.collabora.com/news-and-blog/news-and-events/pancsf-a-new-drm-driver-for-mali-csf-based-gpus.html https://lore.kernel.org/dri-devel/20230201084832.1708866-1-boris.brezillon@collabora.com/

Но его backport-ом в ядро 5.10.110 заниматься ни кто не будет по тому, что ядро старое и регуляторы там инициируются совершенно иначе чем в 6.6.y.

А поддержка RK3588 в 6.6.y тоже будет не скоро ,так как там еще нет даже dw_hdmi от rockchip, то есть на данный момент только vt100 и никаких мониторов [https://gitlab.collabora.com/hardware-enablement/rockchip-3588/notes-for-rockchip-3588/-/blob/main/mainline-status.md].

Поэтому все дистрибьюторы остаются на ядре 5.10 и ждут Joshua Riek-а.

В соседнем репозитарии у Joshua Riek заявлено "3D video hardware acceleration support via panfork"

Вот тут представлена попытка понять, почему мы не скоро увидим rk3588 на mainline-ветках ядра: https://www.youtube.com/watch?v=uLUstGlIzRA

Стоит ожидать от mainline kernel 6.10 поддержку rk3588? В том числе на существующих однаплатниках типа orange pi 5? Цитата
Panthor open-source driver for Arm Mali-G310, Mali-G510, Mali-G610, and Mali-G710 GPUs to be part of Linux 6.10)
Panthor open-source driver for Arm Mali-G310, Mali-G510, Mali-G610, and Mali-G710 GPUs to be part of Linux 6.10

Да, прочитал эту новость. Через год посмотрим.

На мой взгляд, статье сильно не хватает введения.

Нас заинтересовал первый образец серии 5/5B/5+, а именно Orange Pi 5, на предмет того, как на данном устройстве поведет себя EDK II и можно ли его использовать так, как мы привыкли работать с обычными ПК.

  • Кто такие "мы"? Статья в личном блоге, а не в корпоративном.

  • Что такое EDK II, зачем он нужен и какие проблемы решает?

  • Аналогично и с toolchain - начинаем установку с него, но для чего он нужен - непонятно.

И в конце-концов, так и не раскрыта тема - можно ли использовать Orange Pi 5 в роли обычного ПК, как мы привыкли работать с обычными ПК? Самый интересный вопрос на самом деле...

Что такое EDK II

Это кроссплатформенная имплементация UEFI.

Нужен чтобы уйти от U-boot, в перспективе и заменить описание железа через dtb на описание через ACPI что даст полную свободу в установке дистрибутивов, ОС, гипервизоров

можно ли использовать Orange Pi 5 в роли обычного ПК

Под linux - да, и даже без EDK II, с оговоркой про сценарии использования

Аналогично и с toolchain - начинаем установку с него, но для чего он нужен - непонятно

Необходим для сборки на другой платформе, например x86-64. Все таки rk3588 - arm (если точнее aarch64)

можно ли использовать Orange Pi 5 в роли обычного ПК

Цена обессмысливает. Времена "компьютера, размером с кредитку и за 20 долларов" давно кончились.

В статьях принято вести диалог не от себя лично, а говорить мы (это ГОСТ и мировая практика).

EDK II (Tianocore) - знают все (мы давали ссылку на сайт). Можете считать, что это замена проприетаного EFI BIOS. Именно его наличие позволяет работать и инсталлировать различные ОS так же как на обычном ПК.

Перегружать статью большим количеством технических характеристик мы не стали по тому, что их и так полно в сети Internet.

Здесь же Туториал среднего уровня для быстрого прочтения и добавления в закладки (чтобы потом можно было быстро найти репозитории исходников и вспомнить как собрать EDK2).

Всё-таки я не понимаю, зачем тут одновременно U-Boot и EDK. Хотите отдать в ось ACPI? Впишите эту функциональность в U-Boot или загрузите Линукс прямо из UEFI.

Сейчас у вас три загрузчика подряд выполняются, и это ещё без ARM trusted firmware. Куча работы, куча кода, и зачем?

Два загрузчика: EDK2 и GRUB. ARM Trusted Firmware (BL1 и ddr init) в составе U-Boot. TEE (BL2) мы не включили в U-Boot по тому, что с ним ядро не загружается и надо танцевать вокруг ядра (это может привести к несовместимости). Когда RKBIN будет доработан, то включим и TEE.

U-Boot нужен для первого старта, когда SPI Nor Flash пустая. Тогда с помошью U-Boot, на загрузочной SD-карте, мы можем записать EDK2 на flash XM25QU128C.

Эм... В научных работах возможно так и принято (но в них и понятен контекст для местоимения). А в статьях "для простых людей", на мой взгляд, должно более прозрачно прослеживаться местоимение из контекста, или вообще использоваться обезличенные выражения. Но да ладно, это так, скорее придирка была - особенность стилистики текста.

Я согласен, что тут туториал среднего уровня - быстро прочитал и в закладки (если надо, скорее всего, потом через поиск материал искаться будет). Но это справедливо только для людей "сильно в теме".
И на узкоспециализированном профильном ресурсе - я бы сказал "ОК, нет вопросов". Или для документации EDK II / Tianocore - отличная статья, спору нет.

Но в данном случае, для хабра... Не знаю, не знаю... Лично для меня, сработало введение - привлекло внимание, заставило пройти под кат... Интересно стало что за зверь такой "Orange Pi 5" и с чем его едят...
А внутри - просто инструкция "как установить EDK II" из множества консольных команд. Которые дают дают пример "как это сделать", но не дают понимания "что мы делаем" и "зачем мы это делаем".

И речь не о технических характеристиках (хотя и они были бы не лишними, если не хотите загромождать статью - их можно убрать под спойлер). Я именно про описание решаемой проблемы, подхода к решению проблемы и т.д. Тут достаточно было бы одного-двух предложений (или абзацев) просто для погружения в контекст.

Что значит "простые люди"? Неужели с ними надо вести себя по-другому? Я считаю наоборот. Люди учатся и учиться им надо на хороших примерах. Меня, например, учили достойные люди и ко мне как студенту обращались на ВЫ и прививали ответственность перед читателями.

Я не могу "Я-кать" в письменной форме!

"Простые люди" в данном случае - это не читатели научной литературы подразумеваются. Я-кать в письменной форме - зачастую не лучший вариант, согласен. Поэтому обезличенные обращения - рабочий выход, на мой взгляд. Но опять же - это особенности стилистики текста. Пишите как Вам удобно и привычно - в этом проблемы нет.

Про "мы" вопрос даже не к стилистике был, а чтобы понять "а кто такой автор статьи и с какой позиции эту статью следует рассматривать". Все-таки одно дело - личные впечатления о продукте, другое - статья в корпоративном блоге (или статья о своем же продукте).

Многие годы реклама, даже собственных разработок, здесь была запрещена. Да и я не собирался рекламировать себя и свою работу. Я просто хотел рассказать, что современные SBC уже почти готовы для Tianocore, дать источники кода и пример сборки для Orange Pi 5 на базе SoC RK3588s.

Рассчитывал я на то, что слова Toolchain, U-Boot, EDK2 понятны читателям и им не надо объяснять то, что они и так знают лучше меня. А те, кто еще не в курсе, могут записать готовые образы на SD-карту и посмотреть, как это работает, и быть может заинтересоваться загрузчиками и разработкой программ в среде GNU Linux (c практики начинается всё). Кроме того, я не скрываюсь и готов отвечать на любые вопросы, связанные с моей работой.

На вопрос "а кто такой автор и с каких позиций он здесь разговаривает" могу ответить вам лично. Я делаю RcL и стремлюсь к тому, чтобы он работал на множестве SBC от китайских производителей, чтобы пользователь имел возможность инсталлировать систему достаточно простым способом и, в тоже время был в курсе того, как работает система. Работаю один (в свободное от работы время).

"Лично для меня, сработало введение - привлекло внимание, заставило пройти под кат... Интересно стало что за зверь такой "Orange Pi 5" и с чем его едят..." - это хорошо! Заходите и ставьте систему RcL, там и посмотрите на практике.

Практически. Только я убрал лишнее, чтобы получилась простая инструкция и ссылки на память о том, где лучше брать код.

Спасибо! Лично мне статья по ссылке показалась намного более целостной.

Raxda даже RKDevTool запилили для прошивки SPI NOR flash(ROCK 5A-RK3588S, ROCK 5B-RK3588)
Install the bootloader to the SPI NOR flash. completely clear the spi flash - ценная инфа
https://wiki.radxa.com/Rock5/install/spi
Через USB OTG port на Linux/macOS/Windows. Не проверял. Возможно подойдет для Orange Pi 5/5 plus
https://wiki.radxa.com/Rock5/install/rockchip-flash-tools
Пилят для установки Windows 11 Arm:
https://worproject.com/guides/how-to-install/on-rockchip
https://github.com/worproject/Rockchip-Windows-Drivers#hardware-support-status

Да. EDK2 весьма актуален. Поэтому я старался дать людям информацию о том, как самостоятельно собрать образ EDK и прошить его безо всяких rkdeveloptool. Согласитесь, что работая в среде GNU Linux не каждому будет удобно пользоваться программами для Windows. А шить можно либо с помощью flashcp в /dev/mtd0, либо с помощью dd в /dev/mtdblock0.

Главное в том, что Radxa делает все для запуска Windows на RK3588!

Я еще не пробовал экспериментировать с образами Windows, может быть у Вас дойдут руки до такого рода экспериментов... ну или, хотябы попробовать с помощью EDK2 загрузить какой-нибудь сторонний образ LiveCD (Fedora, Debian, Ubuntu не важно) с USB-flash (главное, чтобы это был образ с EFI-загрузчиком, а не с U-Boot).

Только вот ROCK 5B стоит 25000 руб что дороговато для устройства которое не поддерживается в коде mainline-ядра и для которого еще не имплементировали свободный panfrost драйвер GPU Mali G610.

Вы используете для прошивки mtd-utils? Как грамотно сделать completely clear QSPI Nor FLASH 16MB на Orange Pi5. Не хочу граблей.(flash_eraseall)
ROCK 5B не интересует, но форум у них хороший.
Прицениваюсь к ORANGE PI 5 в комплекте: 8GB RAM, usb-свисток WiFi and BT4.0, Cooling and for Protection for Orange Pi 5, 64GB Card от 10-13 тыс. р. с бесплатной доставкой
M.2-SATA-2242 NVMe SSD на 128GB 1000-1200 р. с бесплатной доставкой

Свисток у них не берите, лучше ASUS BT500. Памяти берите 16G. SD-карту по возможности быструю, например Lenovo сейчас есть на 64g за 2000р. Теперь про очистку XM25QU128C:

Всю флешь чистить не обязательно. Если чистить с пом U-Boot то никаких проблем

sf erase 0 +${filesize}

вообще с завода идут платы с чистой флешкой. flash_eraseall - тоже можно, а можно приготовить пустой файл:

#!/bin/sh
#
# Create empty image:
#
image_file=spi-flash.image
image_size_kb=16384

dd if=/dev/zero bs=1k count=${image_size_kb} | tr '\000' '\377' > ${image_file}

и записать его на флешку любым способом. можно dd if=spi-flsh.image of=/dev/mtdblock0, можно flashcp spi-flash.image /dev/mtd0. Просто mtd0 - char device, a mtdblock0 - block device.

NVMe я беру самые дешевые китайские, например KingSpec на алибабе.

Спасибо! Ценная инфа. Был убийственный опыт с Mobile NAND Flash(старые мобильники)
Я за Orange Pi eMMC 32 ГБ/64 Гб(не рекламирую, для примера)
Несколько SDCard уже сдохло.
Для SDCard желательно - Minimizing disk access:
https://fenidik.blogspot.com/2010/03/ext4-disable-journal.html
mkfs.ext4 -O "^has_journal" /dev/sdXX
For more performance add fstab opions: data=writeback,noatime,nodiratime
Неплохо использовать - mkfs.f2fs make file system for f2fs NAND flash drive special
https://www.real-world-systems.com/docs/mkfs.f2fs.1.html

Так весь пост про то, что вам ни EMMC, ни SDCARD вообще не нужна!
Загрузчик в NOR Flash, а система на жёстком диске.
Как в PC

Офигеть конечно, 32ГБ, в то время пока некоторые даже приличные ноуты имеют распаянными лишь 16ГБ.

О, 16 это перебор. Вот к примеру макбук про за оверпрайс с 8 гигами

я тоже не понимал, но потом понял когда смог компилировать только третью ядер процессора.
Смысл в том что ядра не умеют делиться памятью. И каждый хочет все необходимое для работы. Например компилирование больших пакетов на С++ хочет 2ГБ на ядро. С java - 3ГБ на ядро.
То есть ноут с четырьмя ядрами без гипертрейдинга может более-менее жить с 8ГБ.
Здесь 8 ядер и памяти нужно больше 16ГБ.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации