Linux,Unix,BSD

[Embedded] Orange Pi 5에 Armbian을 이용하여 USB memory 부팅 시도기 (실패)

채윤아빠 2023. 2. 14. 12:11
728x90
반응형

개요

작년에 구매해 놓았던 오렌지 파이 (Orange Pi) 5가 USB Memory로는 부팅이 안되고 SD card 만으로 되어서 방치해 두고 있다가 오랜만에 검색해 보니 "[Guide] How to boot Orange pi 5 from SATA m.2 SSD not NVME (for Orange pi OS and Armbian)" 과 같은 글이 올라와 있어서 USB memory로 부팅을 시도해 보았지만 실패하였습니다. 비록 실패했지만 그 과정을 정리해 둡니다.

  • SBC : 오렌지 파이 (Orange Pi) 5 4GB RAM 버전
  • OS : Armbian - 22.11.4
  • SD Card : Sandisk Ultra 16GB
  • USB Memory : Sandisk 32GB

Armbian을 이용하여 Orange Pi 5에 USB memory 부팅 시도 실패 과정

다음 사이트에서 오렌지 파이 (Orange Pi) 5에 맞는 OS 이미지를 다운로드 받습니다.

https://www.armbian.com/orangepi-5/

 

Orange Pi 5

Enable 3D Acceleration: sudo add-apt-repository ppa:liujianfeng1994/panfork-mesa sudo add-apt-repository ppa:liujianfeng1994/rockchip-multimedia sudo apt update sudo apt dist-upgrade sudo apt install mali-g610-firmware rockchip-multimedia-config

www.armbian.com


다운로드 받은 이미지를 SD card에 쓰고 오렌지 파이 (Orange Pi)를 부팅합니다. 저는 "Armbian Jammy XFCE desktop" 버전으로 설치하였습니다.

로그인 계정에 대한 설정을 마친 후, Armbian 데스크톱이 실행되면 터미널을 열어서 다음과 같이 SPI 메모리를 초기화합니다.

hanwh@orangepi5:~$ sudo dd if=/dev/zero of=/dev/mtdblock0 bs=1M count=1
[sudo] password for hanwh:
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 14.576 s, 71.9 kB/s

오렌지 파이 깃허브에서 "sata spi bootloader"를 다운로드 받습니다. (이 부트 로더는 M.2 SATA용 드라이버입니다. 그래서 USB memory로는 부팅이 안되는 것 같습니다.)

hanwh@orangepi5:~$ cd Downloads/
hanwh@orangepi5:~/Downloads$ wget https://github.com/orangepi-xunlong/orangepi-build/raw/next/external/packages/bsp/rk3588/usr/share/orangepi5/rkspi_loader_sata.img
--2023-02-14 11:19:38--  https://github.com/orangepi-xunlong/orangepi-build/raw/next/external/packages/bsp/rk3588/usr/share/orangepi5/rkspi_loader_sata.img
Resolving github.com (github.com)... 20.200.245.247
Connecting to github.com (github.com)|20.200.245.247|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/orangepi-xunlong/orangepi-build/next/external/packages/bsp/rk3588/usr/share/orangepi5/rkspi_loader_sata.img [following]
--2023-02-14 11:19:39--  https://raw.githubusercontent.com/orangepi-xunlong/orangepi-build/next/external/packages/bsp/rk3588/usr/share/orangepi5/rkspi_loader_sata.img
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.111.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16777216 (16M) [application/octet-stream]
Saving to: ‘rkspi_loader_sata.img’

rkspi_loader_sata.img         100%[=================================================>]  16.00M  8.64MB/s    in 1.9s

2023-02-14 11:19:42 (8.64 MB/s) - ‘rkspi_loader_sata.img’ saved [16777216/16777216]

다운로드 받은 "sata spi bootloader"를 SPI에 다음과 같이 적용합니다.

hanwh@orangepi5:~/Downloads$ sudo dd if=~/Downloads/rkspi_loader_sata.img of=/dev/mtdblock0 status=progress && sudo sync
9933312 bytes (9.9 MB, 9.5 MiB) copied, 1 s, 9.9 MB/s
32768+0 records in
32768+0 records out
16777216 bytes (17 MB, 16 MiB) copied, 235.546 s, 71.2 kB/s

부팅 환경설정 파일 (/boot/armbianEnv.txt)에 "overlays=opi5-sata" 내용을 추가하고 재부팅합니다.

hanwh@orangepi5:~/Downloads$ echo "overlays=opi5-sata"sudo tee -a /boot/armbianEnv.txt
overlays=opi5-sata
hanwh@orangepi5:~/Downloads$ cat /boot/armbianEnv.txt
verbosity=1
bootlogo=true
overlay_prefix=rockchip-rk3588
fdtfile=rockchip/rk3588s-orangepi-5.dtb
rootdev=UUID=428b077e-d44e-46bf-ac87-39c34c3122a1
rootfstype=ext4
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
overlays=opi5-sata

부팅된 후에 USB memory가 포함된 디스크 현황을 확인합니다.

hanwh@orangepi5:~$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda           8:0    1 28.7G  0 disk
├─sda1        8:1    1  256M  0 part
└─sda2        8:2    1 28.4G  0 part
mtdblock0    31:0    0   16M  0 disk
mmcblk0     179:0    0 14.8G  0 disk
├─mmcblk0p1 179:1    0  256M  0 part /boot
└─mmcblk0p2 179:2    0 14.4G  0 part /var/log.hdd
                                     /
zram0       254:0    0  1.8G  0 disk [SWAP]
zram1       254:1    0   50M  0 disk /var/log

SD card에 적용한 이미지를 그대로 USB 메모리에도 적용합니다.

hanwh@orangepi5:~$ sudo dd bs=1M if=~/Downloads/Armbian_22.11.4_Orangepi5_jammy_legacy_5.10.110_xfce_desktop.img of=/dev/sda status=progress && sudo sync
[sudo] password for hanwh:
8027897856 bytes (8.0 GB, 7.5 GiB) copied, 531 s, 15.1 MB/s
7660+0 records in
7660+0 records out
8032092160 bytes (8.0 GB, 7.5 GiB) copied, 590.572 s, 13.6 MB/s

작성이 끝난 USB 메모리의 부트 파티션을 마운트하고, 부팅 환경설정 파일 (/mnt/armbianEnv.txt)에 "overlays=opi5-sata" 내용을 추가하고 오렌지 파이의 전원을 종료합니다.

hanwh@orangepi5:~$ sudo mount /dev/sda1 /mnt/
hanwh@orangepi5:~$ echo "overlays=opi5-sata"sudo tee -a /mnt/armbianEnv.txt
overlays=opi5-sata
hanwh@orangepi5:~$ sudo umount /mnt/ && sudo sync
hanwh@orangepi5:~$ sudo poweroff

이후 SD card를 제거하고 USB memory만 장착한 상태에서 전원을 켜고 부팅을 시도합니다. 하지만 붉은색 LED만 켜져 있을 뿐 옆의 녹색 LED는 불이 켜지지 않고, 정상적으로 부팅이 이루어지지도 않았습니다.


결론

결론적으로 위 과정을 모두 거친 USB memory 만으로 부팅을 시도하였으나, 정상적으로 부팅되지 않았습니다.

참고자료의 제목에도 있듯이 M.2 SATA 형식의 드라이브만 정상적으로 지원하는 것 같습니다. 언제쯤 USB memory 부팅을 지원할지...


참고자료