Инструменты пользователя

Инструменты сайта


rk3568:uefi

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
rk3568:uefi [2024/05/02 11:34] Alex A. Mihaylovrk3568:uefi [2024/05/27 14:08] (текущий) Alex A. Mihaylov
Строка 1: Строка 1:
 ====== UEFI загрузчик для RK3568 ====== ====== UEFI загрузчик для RK3568 ======
 +
 +===== Использование сборки на базе Quartz-64 UEFI для платы RHOS-RK3568 =====
 +
 +==== Подготовка к сборке ====
 +
 +Клонируем локально репозитарий [[https://github.com/MinimumLaw/rhos-rk3568-uefi.git | RHOS-RK3568]]
 +<code>
 +$ git clone https://github.com/MinimumLaw/rhos-rk3568-uefi.git
 +</code>
 +
 +Инициализируем необходимые подмодули, для этого переходим в созданный каталог
 +<code>
 +$ cd rhos-rk3568-uefi/
 +</code>
 +
 +и запускаем
 +<code>
 +$ git submodule update --init --recursive
 +</code>
 +
 +Дожидаемся завершения синхронизации субмодулей. Все готово для сборки EDKII.
 +
 +==== Сборка прошивки EDKII ====
 +
 +Для сборки отладочной версии необходимо запустить
 +<code>
 +$ ./build-debug-rk3568-rhos.sh
 +</code>
 +
 +Для сборки релизной версии необходимо запустить
 +<code>
 +$ ./build-release-rk3568-rhos.sh
 +</code>
 +
 +В любом случае мы получим файл "RK3568-RHOS_EFI.img" в текущем каталоге. Это и есть итоговый файл прошивки.
 +
 +==== Загрузка прошивки в плату ====
 +
 +Загрузка собранной прошивки в плату осуществляется с помощью утилиты rkdeveloptools от RockChip. Последнюю версию утилиты всегда можно найти [[https://github.com/rockchip-linux/rkdeveloptool.git|в этом репозитарии]], так же для загрузки прошивки понадобятся двоичные компоненты от RockChip доступные [[https://github.com/rockchip-linux/rkbin.git|здесь]], а так же присутствующие в данной репозитарии по пути
 +<code>
 +edk2-rockchip-non-osi/rkbin
 +</code>
 +
 +Для облегчения процедуры прошивки можно уровнем выше склонировать данный репозитарий.
 +<code>
 +$ git clone git@github.com:MinimumLaw/rkbin.git
 +</code>
 +
 +Тогда заливку прошивки можно будет осуществлять путем перевода платы с помощью джампера в MaskRom режим и запуска скрипта
 +<code>
 +flash-rk3568-rhos.sh
 +</code>
 +
 +==== Некоторые комментарии о порте на плату RHOS-RK3568 ====
 +
 +В процессе порта был создан каталог
 +<code>
 +edk2-rockchip/Platform/Ravion
 +</code>
 +
 +За основу была взята платформа Firefly ROC-RK3568-PC (путь: edk2-rockchip/Platform/Firefly/ROC-RK3568-PC). По сути все, что сделано для данной платы было скопировано и отрезано лишнее. В частности отрезан за ненадобностью код, связанный с GMAC0 и GMAC1 и добавлен код для подмены логотипа при загрузке.
 +
 +Был добавлен код, ограничивающий тактовую частоту eMMC накопителя. В качестве конфигурационных параметров используются аналогичные для SD-карты.
 +
 +Так же поправлены DSL файлы таблицы DSDT (см. edk2-rockchip/Platform/Rockchip/Rk356x/AcpiTables/RK3568-RHOS.inf). В первую очередь ради возможности совместной работы обоих присутствующих на чипе PCIe контроллеров. Данная функциональность требует проверки и не гарантирована в части работоспособности.
 +
 +Так же были внесены необходимые правки в файлы "build.sh" и "Makefile" для иницирования процесса сборки прошивки. А еще добавлены предварительно собраные файлы с деревом устройств "rk3568-rhos-kitsbimx8.dtb" в каталог "dtb".
  
 ===== Использование Qurtz64 UEFI для платы Firefly ROC-RK3568-PC ===== ===== Использование Qurtz64 UEFI для платы Firefly ROC-RK3568-PC =====
  
-Клонируем локально репозитарий [[https://github.com/jaredmcneill/quartz64_uefi.git | Qurtz64 UEFFI]]+Клонируем локально репозитарий [[https://github.com/jaredmcneill/quartz64_uefi.git | Qurtz64 UEFI]]
  
 Для сборки, используется скрипт "build.sh" с параметрами тип_сборки и используемая_плата Для сборки, используется скрипт "build.sh" с параметрами тип_сборки и используемая_плата
Строка 30: Строка 97:
 На выходе получим файл с именем BOARD_EFI.img, например ROC-RK3568-PC_EFI.img пригодный для непосредственной записи на SD-карту или eMMC с использованием программ типа dd или [[https://sourceforge.net/projects/win32diskimager/ | win32disk image ]] На выходе получим файл с именем BOARD_EFI.img, например ROC-RK3568-PC_EFI.img пригодный для непосредственной записи на SD-карту или eMMC с использованием программ типа dd или [[https://sourceforge.net/projects/win32diskimager/ | win32disk image ]]
  
 +===== Добавление собственной платы в проект Quartz64 UEFI =====
 +
 +См. выше по поводу платы RHOS-RK3568
  
 Основные ссылки: Основные ссылки:
   * [[https://github.com/jaredmcneill/quartz64_uefi.git | Qurtz64 UEFFI]] - исходный базовый проект (Pine64 Quartz64, SOQuartz, PineTab2, Firefly ROC-RK3566-PC, ROC-RK3568-PC, OrangePI3B)   * [[https://github.com/jaredmcneill/quartz64_uefi.git | Qurtz64 UEFFI]] - исходный базовый проект (Pine64 Quartz64, SOQuartz, PineTab2, Firefly ROC-RK3566-PC, ROC-RK3568-PC, OrangePI3B)
rk3568/uefi.1714649687.txt.gz · Последнее изменение: Alex A. Mihaylov