# orange pi

# Установка uefi на orangepi 5

### Загрузка нужных утилит

1) Необходимо загрузить утилиту RKdevTools для процессора RK3588, было найдено на сайте [radaxa](https://dl.radxa.com/rock_pro/tools/windows/), по документации orangepi обязательно версии 2.96 (файл RKDevTool_Release_v2.96-20221121.rar)

2) Необходимо загрузить прошивальщик, тоже у radaxa для версии [rock-5a](https://dl.radxa.com/rock5/sw/images/loader/rock-5a/) подошло, так как там тоже процессор rk3588s

3) Необходимо загрузить uefi(выбрал edk2), подходящий найден был [тут](https://github.com/edk2-porting/edk2-rk3588/releases), искать по релизам для orangepi 5, например релиз v0.12.1

4) необходимо загрузить драйвера для rockchip, было найдено на сайте [radaxa](https://dl.radxa.com/rock_pro/tools/windows/), файл DriverAssitant_v5.0.zip


### Прошивка устройства
Перейдите в папку RKDevTool и откройте файл config.ini. По умолчанию язык инструмента - китайский, а если вы читаете этот блог, то, скорее всего, вы предпочитаете английский. Поменяйте местами файлы Lang1file и Lang2file.

[![image-34.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/PJofsaJwEZJvmKIl-image-34.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/PJofsaJwEZJvmKIl-image-34.png)

Теперь откройте RKDevTool, и он должен выдать сообщение о том, что устройство не подключено.

[![Screenshot_3.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/swjBO5pJnQVHAztE-screenshot-3.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/swjBO5pJnQVHAztE-screenshot-3.png)

Нужно все отключить от девайса. И питание.

Подключить только один usb порт. Причем строго определенный, к компу (см инструкцию пользователя стр. 41). Тот, который НЕ подает питания.

[![55fe28614b38061a7f07d4c367678a28.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/bIbzvyAX1bSsmnbE-55fe28614b38061a7f07d4c367678a28.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/bIbzvyAX1bSsmnbE-55fe28614b38061a7f07d4c367678a28.png)

Нажать спец кнопку на нем недалеко от порта (см инструкцию пользователя стр. 41)

[![03c03b99b8655aa208a8b532452d901a.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/Vs3lZFnlbKDWz5mx-03c03b99b8655aa208a8b532452d901a.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/Vs3lZFnlbKDWz5mx-03c03b99b8655aa208a8b532452d901a.png)

Далее подключить питание, у меня это тоже usb порт.

Отпустить спец кнопку.

Щелкните правой кнопкой мыши в области таблицы и выберите пункт load config

Перейдите в папку miniloader и выберите файл config.cfg. Затем нажмите кнопку открыть.

[![image-38.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/PzvnUV2ndxc5aQB2-image-38.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/PzvnUV2ndxc5aQB2-image-38.png)

[![image-39.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/tJfLnzoXTTA4lHEl-image-39.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/tJfLnzoXTTA4lHEl-image-39.png)

После успешной записи конфига необходимо прописать соответствующие файлы в нужных полях из недавно скачанных.

[![image-40.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/AW5gnEcgHxYtGCb4-image-40.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/AW5gnEcgHxYtGCb4-image-40.png)

[![image-41.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/Pww5u8XK0seGG1hx-image-41.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/Pww5u8XK0seGG1hx-image-41.png)

Убедитесь, что поставили галочку напротив ```Write By Address```, затем нажмите Run. Прогресс можно наблюдать в меню справа.

[![image-42.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/FBs3UZWM4JEKJVFB-image-42.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/FBs3UZWM4JEKJVFB-image-42.png)

В окне состояния справа будут появляться обновления по мере установки, но на этапе загрузки образа уйдет довольно много времени. Если все прошло успешно, в последней строке должно появиться сообщение «Download image OK», и плата больше не будет подключена.

[![Screenshot_1.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/ACOde3TTn8l1t7ao-screenshot-1.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/ACOde3TTn8l1t7ao-screenshot-1.png)

Все, можно подключать все обратно к устройству и наблюдать за загрузкой, в том числе и UEFI интерфейс.


### источники

[статья с утсновкой из linux на orangepi 5b](https://habr.com/ru/articles/789654/)

[статья с работой в интерфейсе rkdevtool](https://3dpandme.com/2023/04/29/tutorial-orange-pi-5b-klipper-install/)

[образ uefi](https://github.com/edk2-porting/edk2-rk3588/releases/tag/v0.12.1)

[необходимые утилиты для windows](https://dl.radxa.com/rock_pro/tools/windows/)

[spi для rk3588s](https://dl.radxa.com/rock5/sw/images/loader/rock-5a/)

# Установка uefi на orangepi 5 plus

### Загрузка нужных утилит

1) Необходимо загрузить утилиту RKdevTools для процессора RK3588, было найдено на сайте [radaxa](https://dl.radxa.com/rock_pro/tools/windows/), по документации orangepi обязательно версии 2.96 (файл RKDevTool_Release_v2.96-20221121.rar)

2) Необходимо загрузить прошивальщик, тоже у radaxa для версии [rock-5b](https://dl.radxa.com/rock5/sw/images/loader/rock-5b/release/) подошло, так как там тоже процессор rk3588

3) Необходимо загрузить uefi(выбрал edk2), подходящий найден был [тут](https://github.com/edk2-porting/edk2-rk3588/releases), искать по релизам для orangepi 5, например релиз v0.12.2

4) необходимо загрузить драйвера для rockchip, было найдено на сайте [radaxa](https://dl.radxa.com/rock_pro/tools/windows/), файл DriverAssitant_v5.0.zip


### Прошивка устройства
Перейдите в папку RKDevTool и откройте файл config.ini. По умолчанию язык инструмента - китайский, а если вы читаете этот блог, то, скорее всего, вы предпочитаете английский. Поменяйте местами файлы Lang1file и Lang2file.

[![image-34.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/PJofsaJwEZJvmKIl-image-34.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/PJofsaJwEZJvmKIl-image-34.png)

Теперь откройте RKDevTool, и он должен выдать сообщение о том, что устройство не подключено.

[![Screenshot_3.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/swjBO5pJnQVHAztE-screenshot-3.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/swjBO5pJnQVHAztE-screenshot-3.png)

Нужно все отключить от девайса. И питание.

Подключить только один usb порт. Причем строго определенный, к компу (см инструкцию пользователя стр. 41). Тот, который НЕ подает питания.

[![55fe28614b38061a7f07d4c367678a28.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/bIbzvyAX1bSsmnbE-55fe28614b38061a7f07d4c367678a28.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/bIbzvyAX1bSsmnbE-55fe28614b38061a7f07d4c367678a28.png)

Нажать спец кнопку на нем недалеко от порта (см инструкцию пользователя стр. 41)

[![03c03b99b8655aa208a8b532452d901a.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/Vs3lZFnlbKDWz5mx-03c03b99b8655aa208a8b532452d901a.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/Vs3lZFnlbKDWz5mx-03c03b99b8655aa208a8b532452d901a.png)

Далее подключить питание, у меня это тоже usb порт.

Отпустить спец кнопку.

Щелкните правой кнопкой мыши в области таблицы и выберите пункт load config

Перейдите в папку miniloader и выберите файл config.cfg. Затем нажмите кнопку открыть.

[![image-38.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/PzvnUV2ndxc5aQB2-image-38.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/PzvnUV2ndxc5aQB2-image-38.png)

[![image-39.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/tJfLnzoXTTA4lHEl-image-39.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/tJfLnzoXTTA4lHEl-image-39.png)

После успешной записи конфига необходимо прописать соответствующие файлы в нужных полях из недавно скачанных.

[![image-40.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/AW5gnEcgHxYtGCb4-image-40.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/AW5gnEcgHxYtGCb4-image-40.png)

[![image-41.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/Pww5u8XK0seGG1hx-image-41.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/Pww5u8XK0seGG1hx-image-41.png)

Убедитесь, что поставили галочку напротив ```Write By Address```, затем нажмите Run. Прогресс можно наблюдать в меню справа.

[![image-42.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/FBs3UZWM4JEKJVFB-image-42.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/FBs3UZWM4JEKJVFB-image-42.png)

В окне состояния справа будут появляться обновления по мере установки, но на этапе загрузки образа уйдет довольно много времени. Если все прошло успешно, в последней строке должно появиться сообщение «Download image OK», и плата больше не будет подключена.

[![Screenshot_1.png](https://docs.resds.ru/uploads/images/gallery/2025-02/scaled-1680-/ACOde3TTn8l1t7ao-screenshot-1.png)](https://docs.resds.ru/uploads/images/gallery/2025-02/ACOde3TTn8l1t7ao-screenshot-1.png)

Все, можно подключать все обратно к устройству и наблюдать за загрузкой, в том числе и UEFI интерфейс.


### источники

[статья с утсновкой из linux на orangepi 5b](https://habr.com/ru/articles/789654/)

[статья с работой в интерфейсе rkdevtool](https://3dpandme.com/2023/04/29/tutorial-orange-pi-5b-klipper-install/)

[образ uefi](https://github.com/edk2-porting/edk2-rk3588/releases/tag/v0.12.2)

[необходимые утилиты для windows](https://dl.radxa.com/rock_pro/tools/windows/)

[spi для rk3588](https://dl.radxa.com/rock5/sw/images/loader/rock-5b/releases)

# Установка Armbian c grub

Установка Armbian с grub на систему с UEFI возможна на любой тип ностиеля, что избавляет от проблемы прошивки SPI для каждого из типа дисков, и возможные проблемы совместимости с другими дисками. <b>Возможно путь в данном руководстве не самый оптимальный но рабочий.</b>

В случае установки в данном примере понадобится:
1) SD карточка
2) образ Armbian
3) Микрокомпьютер с arm
4) Установленный целевой диск на микрокомпьютере(в моем случае это NVMe на 256gb)
5) интернет на миникомпьютере

### Подготовка SD карты
загрузить последний [образ Armbian](https://www.armbian.com/orangepi-5/) на компьютер для своей системы. В данном случае это образ Armbian для Orangepi 5

С помощью [BalenaEther](https://etcher.balena.io/) или любой удобной утилиты как Rufus или dd(можно и dc3dd, ставится через apt) записать образ на sd карту

Вставить эту карту в миникомпьютер, включить его

### Запись образа на диск
Подключиться к операционной системе миникомпьютера. Пройти первоначальный wizard для настройки пользователей и сети

Удобней будет по SSH подключиться к этому миникомпьютеру, и все дальнейшие действия выполнять по <b>SSH</b>

Первым делом на сам миникомпьютер скачать требуемый образ Armbian. В данном случае всегда будет скачиваться последний образ Armbian

Пофиксить проблему с DNS. Разбираться не стал, просто удаляю симлинк  /etc/resolv.conf```rm -rf /etc/resolv.conf``` и создаю новый с указанием своего DNS например: ```echo nameserver 192.168.1.1 > /etc/resolv.conf```

```
curl -o armbian_bookworm_minimal.img.xz -L https://dl.armbian.com/orangepi5/Bookworm_vendor_minimal
```
Установить dc3dd (работает сильно быстрее dd с дефолтными настройками, вероятно сам подбирает размер блока и параметры работы с кэшами)
```
apt install -y dc3dd
```
распаковать скачанный образ armbian:
```
xz -d armbian_bookworm_minimal.img.xz
```
раcпакованный образ записать на NVMe(полностью диск без разделов) с помощью dc3dd
```
dc3dd if=armbian_bookworm_minimal.img of=/dev/nvme0n1
```
Теперь на диске появился раздел /dev/nvme0n1p1. Надо заново записать его в образ(но теперь это будет образ партиции и не всего диска)
```
dc3dd if=/dev/nvme0n1p1 of=armbian_bookworm_minimal-part.img
```
Разбить диск с помощью fdisk(```fdisk /dev/nvme0n1```)
- 1 раздел - 512mb c типом раздела vfat. Он будет использован для uefi
- 2 раздел - все остальное, будет использовано для всего остального, в том числе и boot

Отформатировать первый раздел под vfat:
```
mkfs.vfat -F 32 /dev/nvme0n1p1
```
На второй раздел записать образ раздела armbian:
```
dc3dd if=armbian_bookworm_minimal-part.img of=/dev/nvme0n1p2
```
### Настройка Armbian для загрузки Grub
Можно сказать что образ Armbian установлен на диск, но его ещё надо настроить для корректной загрузки из grub
Для этого надо сделать chroot в этот диск:
```
mount /dev/nvme0n1p2 /mnt
mkdir /mnt/EFI
mount /dev/nvme0n1p1 /mnt/EFI
mount -t proc /proc /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
chroot /mnt
```
Внутри новой системы тоже пофиксить проблему с DNS. Разбираться не стал, просто удаляю симлинк  /etc/resolv.conf```rm
-rf /etc/resolv.conf``` и создаю новый с указанием своего DNS например: ```echo nameserver 192.168.1.1 > /etc/resolv.conf```

установить необходимые пакеты
```
apt update
apt install -y vim grub2-common grub-efi
```
Установить GRUB
```
grub-install --target=arm64-efi --efi-directory=/EFI --boot-directory=/boot --removable
```
В файле /etc/default/grub привести строку GRUB_CMDLINE_LINUX_DEFAULT к следующему виду:
```
GRUB_CMDLINE_LINUX_DEFAULT="rootwait rootfstype=ext4"
```
сохранить файл и создать файл grub:
```
grub-mkconfig -o /boot/grub/grub.cfg
```
Так как данная версия grub-mkconfig не поддерживает автоматическое создание devicetree, вписать это в grub самому. для этого открыть ```/boot/grub/grub.cfg``` и в нем добавить строку ```devicetree /boot/dtb/rockchip/rk3588s-orangepi-5.dtb``` в меню загрузки для orangepi 5, приведя его к виду как на изображении (<b>uuid разделов не менять, добавить только строку с devicetree</b>):
[![Screenshot_2.png](https://docs.resds.ru/uploads/images/gallery/2025-03/scaled-1680-/REOCxEvniJEhr2Jd-screenshot-2.png)](https://docs.resds.ru/uploads/images/gallery/2025-03/REOCxEvniJEhr2Jd-screenshot-2.png)

После этого необходимо выйти из chroot и отмонтировать все разделы:
```
exit
```
```
umount /mnt/EFI
umount /mnt/proc
umount /mnt/sys
umount /mnt/dev
umount /mnt
sync
```
Всё, теперь систему можно перезагружать, обязательно вынув sd карту и она загрузится в новую установленную систему.