OrangePi 5
2.1. 전원인가
2.2. sd card
3. OS 설치
3.1. microSd Card 에 ubuntu 설치
3.2. ssd에 ubuntu 설치
3.3. usb 드라이브에 ubuntu 설치
3.4. ssd에 promox 설치
4. wifi 설정
5. portainer 설치
6. 각종 팁
6.1. USB 연결
6.2. ssh 접속 오류 해결 방법
7. 유용한 링크
8. 벤치마크 ( 이건 그냥 따로 빼놓은 페이지로 이동 시키자 한군데서 보는게 낳을듯 )
8.1. 디스크 벤치마크
8.2 CPU 벤치 마크
1. 공식자료
![](https://blog.mnkserver.com/content/images/2024/05/image.png)
![](https://blog.mnkserver.com/content/images/2024/05/image-1.png)
![](https://blog.mnkserver.com/content/images/2024/05/image-2.png)
SoC | Rockchip RK3588S (8nm LP process) |
CPU | • 8-core 64-bit processor • Big.Little Architecture: 4xCortex-A76 and 4xCortex-A55, Big core cluster is 2.4GHz, and Little core cluster is 1.8GHz frequency. |
GPU | • Arm Mali-G610 MP4 “Odin” GPU • Compatible with OpenGL ES1.1/2.0/3.2, OpenCL 2.2 and Vulkan 1.2 • 3D graphics engine and 2D graphics engine |
NPU | Built-in AI accelerator NPU with up to 6 TOPS, supports INT4/INT8/INT16 mixed operation |
PMU | RK806-1 |
RAM | 4GB/8GB/16GB(LPDDR4/4X) |
Memory | • QSPI Nor FLASH 16MB • MicroSD (TF) Card Slot • M.2 M-KEY Socket |
USB | USB3.0 × 1 USB2.0 × 2 Type-C (USB3.1) ×1 |
Video Output | • HDMI2.1, up to 8K @60Hz • DP1.4 (DisplayPort), DP1.4 and USB3.1 ports are multiplexed, and the port is shared with Type-C • 2 * MIPI D-PHY TX 4Lane, configurable up to 4K @60Hz |
Camera | • MIPI CSI 4Lane • 2 * MIPI D-PHY RX 4Lane |
Audio | CODEC: ES8388 • 3.5mm headphone jack audio input/output • Input: Onboard MIC • HDMI 2.1 eARC |
Ethernet | 10/100/1000Mbps Ethernet |
Expansion Port | For extending UART, PWM, I2C, SPI, CAN and GPIO interfaces. |
M.2 M-KEY Socket Expansion Slot | Support PCIe NVMe SSD Support custom PCIe Wi-Fi6+BT5.0 module |
Button | 1×MaskROM key 1×Recovery key 1×On/Off key |
Power Source | Support Type-C power supply, 5V @ 4A |
LED | Power indicator: red Status indicator: green |
Debugging | 3 Pin debug serial port (UART) |
Supported OS | Orangepi OS(Droid)、Orangepi OS(Arch)、Ubuntu、Debian、Android12 |
![](http://www.orangepi.org/img/logo.png)
2. 주의 사항
2.1 전원인가
개발 보드에는 동일하게 보이는 두 개의 Type-C 포트가 있습니다. 오른쪽에 있는 것이 전원 포트 입니다. 개발 보드의 Type-C 전원 인터페이스는 PD negotiation 기능을 지원하지 않으며 고정 5V 전압 입력만 지원합니다. 따라서 PD 충전 기능을 사용하면 5V 보다 큰 전압이 인가 되어 보드가 고장 납니다.
![](https://blog.mnkserver.com/content/images/2024/04/image.png)
2.2 SD카드
일부 메이커의 경우 이미지를 생성하는 것 까진 가능한데 보드에서 부팅 시 인식 하지 않는 경우가 있다. 이런 경우 Sandisk Exream microSD Card 로 테스트 해보면 정상 작동 여부를 확인 할 수 있다.
3. OS 설치
3.1. microSd Card 에 ubuntu 설치
공식 홈페이지 에서 설치 용 이미지 파일 다운로드
SD Card Formatter 로 SD Card 초기화
balenaEtcher 또는 Win32 Disk Imager 사용 해서 이미지 writing
! sd card에 종류에 따라 부팅이 안되는 경우도 있음
3.2. ssd에 ubuntu 설치
![](https://blog.mnkserver.com/content/images/2023/03/image-1.png)
NVME PCIe2.0를 지원하고 있어 2230이나 2242 사이즈의 SSD를 연결해 사용이 가능하다.
먼저 SSD를 사용하기 위해서는 SD카드에 우분투 OS 이미지를 넣어서 부팅을 먼저 시켜야 한다. SD카드로 부팅이 완료되었다면 이제 SPI 플래시에 u-boot 이미지를 복사한다. SPI 플래시에 uboot 이미지 복사하는 명령은 다음과 같다.
$ sudo nand-sata-install
![](https://blog.mnkserver.com/content/images/2023/03/image-2.png)
위와 같은 화면이 나타나면 7번 [Install/Update the bootloader on SPI Flash]를 선택한다. 그다음 [Yes]를 선택하고 좀 기다려보자. 한 5분 정도 기다린 후 Enter를 치면 Done 메시지를 확인할 수 있다.
SSD에 우분투를 설치하기 위해선 오렌지파이에 SD카드에 설치한 [우분투 이미지] 파일이 있어야 한다. SD카드에 설치할 때 사용한 오렌지파이의 [우분투 이미지] 파일 위치로 이동하자. 여기서 현재 원격 제어(ssh) 상태라면 터미널(파워쉘)을 열어 아래와 같이 scp 명령으로 우분투 이미지를 오렌지파이의 home/orangepi에 복사한다.
scp [오렌지파이 OS 이미지파일].img orangepi@[ip주소]:/home/orangepi/
scp .\Orangepi5_1.0.6_ubuntu_jammy_desktop_xfce_linux5.10.110.img [email protected]:/home/orangepi/
scp Orangepi5_1.1.8_ubuntu_jammy_server_linux6.1.43.img [email protected]:/home/orangepi/
연결된 ssd 정보를 확인한다. SSD 모델명을 확인 할 수 있다.
$ sudo fdisk -l | grep "nvme0n1"
$ sudo lspci
![](https://blog.mnkserver.com/content/images/2023/03/image-3.png)
![](https://blog.mnkserver.com/content/images/2023/03/image-4.png)
다음 명령으로 SSD를 초기화 한다.
$ sudo dd bs=1M if=/dev/zero of=/dev/nvme0n1 count=2000 status=progress
아래의 명령으로 우분투 이미지를 SSD에 복사한다.
$ cd ~
$ ls
$ sudo dd bs=1M if=[우분투 이미지].img of=/dev/nvme0n1 status=progress
$ sudo dd bs=1M if=Orangepi5_1.1.8_ubuntu_jammy_server_linux6.1.43.img of=/dev/nvme0n1 status=progress
이제 복사가 끝났으니 시스템을 종료하고 sd card를 제거 한다..
$ sudo shutdown now
이제 SPI 플래시 + SSD 카드로 OS가 부팅되는 것을 볼 수 있을 것이다.
3.3. emmc에 ubuntu 설치
먼저 sd 카드에 ubuntu를 설치한다. sd 카드에 emmc에 설치하려는 img 파일을 전송한다.
scp xxx.img [email protected]:/home/orangepi
emmc 모듈 정보를 확인한다.
$ ls /dev/mmcblk*boot0 | cut -c1-12
/dev/mmcblk0
dd 명령어로 emmc 모듈을 초기화 하고 img 파일을 emmc에 쓴다
sudo dd bs=1M if=/dev/zero of=/dev/mmcblk0 count=1000 status=progress
sudo sync
sudo dd bs=1M if=Orangepicm4.img of=/dev/mmcblk0 status=progress
sudo sync Note
sd카드를 제거 하고 부팅하면 emmc로 부팅된다.
3.4. usb 드라이브에 ubuntu 설치
USB SSD를 사용하는 경우 지침에 /dev/nvme0n1이라고 표시된 곳이 있으면 /dev/sda를 사용해야 하거나 USB를 통해 드라이브를 연결할 때 할당된 드라이브를 사용해야 한다는 점을 명심하세요. 아래 방법은 orangepi-config로 SSD 인식이 불가능 한 경우에 적용 할 수 있습니다.
부팅용 microSd 카드를 준비하고 ssd 드라이브에서 모든 파티션을 완전히 제거하여 완전히 공백으로 만듭니다. 드라이브는 일반적으로 /dev/nvme0n1이어야 합니다.
sudo gdisk /dev/nvme0n1
이제 장치에서 모든 파티션을 제거하십시오. "p"를 누르면 파티션이 인쇄됩니다. 런 다음 "d"를 사용하여 삭제할 수 있습니다.
root@orangepi5:~# sudo gdisk
GPT fdisk (gdisk) version 1.0.6
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/nvme0n1: 250069680 sectors, 119.2 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): E3017ECA-4571-4F62-A39F-4BA2A4323BD8
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 250069646
Partitions will be aligned on 64-sector boundaries
Total free space is 8350 sectors (4.1 MiB)
Number Start (sector) End (sector) Size Code Name
1 64 8063 3.9 MiB 0700 loader1
2 16384 24575 4.0 MiB 0700 loader2
3 24576 32767 4.0 MiB 0700 trust
4 32768 1081343 512.0 MiB EF00 boot
5 1081344 250069646 118.7 GiB 8300 rootfs
Command (? for help): d
모든 파티션이 삭제될 때까지 d를 계속 누릅니다. 그것들이 사라지면 'w' 명령을 사용하여 변경 사항을 기록하십시오.
이제 다음 명령을 사용하여 드라이브를 SSD에 복사할 수 있습니다.
sudo cat /dev/mmcblk1 > /dev/nvme0n1
작업이 완료될 때까지 기다립니다. 출력은 없지만 커서 가 다시 나타나 새 명령을 입력할 수 있습니다. 작업에는 약 30~45분이(64GB SD 카드 사용 시) 걸립니다.
SD 카드에서 부팅을 시도하지 않도록 UUID를 변경해야 합니다. 다음 명령을 사용하여 random으로 설정할 수 있습니다.
sudo tune2fs -U random /dev/mmcblk1p2
csums와 관련된 이전 명령에서 오류가 발생하면 대신 다음 명령을 시도해 보십시오.
sudo tune2fs -O metadata_csum_seed -U random /dev/mmcblk1p2
blkid를 사용하여 다음과 같이 변경되었는지 확인할 수 있습니다.
root@orangepi5:~# sudo blkid
/dev/nvme0n1p1: SEC_TYPE="msdos" LABEL_FATBOOT="opi_boot" LABEL="opi_boot" UUID="0257-2A31" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="bootfs" PARTUUID="0a65713b-d4b4-0642 -a3a4-ebc357e507a1"
/dev/nvme0n1p2: LABEL="opi_root" UUID="ae948e48-3646-4f5c-be01-73168e079bc8" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="7490e84a-f585-944e-9ce6-f275f067a023"
/dev/mmcblk1p1: SEC_TYPE="msdos" LABEL_FATBOOT="opi_boot" LABEL="opi_boot" UUID="0257-2A31" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="bootfs" PARTUUID="0a65713b-d4b4-0642 -a3a4-ebc357e507a1"
/dev/mmcblk1p2: LABEL="opi_root" UUID="37a6ee0a-e61d-470a-9e53-eaf51726942c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="4f32d51c-0523-1248-9bc3-092d1f11c594"
/dev/nvme0n1p2 및 /dev/mmcblk1p2에는 더 이상 일치하는 UUID가 없습니다. 이것이 바로 우리가 원하는 것입니다.
다음으로 SSD에서 부팅 파티션의 UUID를 변경하겠습니다. 이렇게 하면 운영 체제 내부에 마운트된 /boot 폴더가 실제로 SD 카드(이 구성에서는 실제 부트 로더)를 마운트하게 됩니다.
먼저 다음을 갖춘 mtool이 있는지 확인하세요.
sudo apt install mtools -y
이제 다음을 사용하여 UUID를 변경할 수 있습니다.
sudo mlabel -N aaaa1111 -i /dev/nvme0n1p1 ::
이전 섹션과 동일한 sudo blkid 명령을 사용하여 이것이 다른지 확인할 수 있습니다.
재부팅하기 전에 다음과 같이 드라이브에서 fsck를 실행하십시오.
sudo fsck -yf /dev/nvme0n1p2
이렇게 하면 처음 부팅을 시도할 때 CLI에서 fsck를 실행할 필요가 없습니다. 이제 다음을 사용하여 Orange Pi 5를 재부팅하십시오.
sudo reboot
SSD를 사용하여 부팅 되었는지 mount 명령을 사용하여 이를 확인할 수 있습니다.
root@orangepi5:~# mount
/dev/nvme0n1p2 on / type ext4 (rw,noatime,errors=remount-ro,commit=600)
/dev/mmcblk1p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=936,iocharset=utf8,shortname=mixed,errors=remount-ro)
/dev/nvme0n1p2 on /var/log.hdd type ext4 (rw,noatime,errors=remount-ro,commit=600)
여기서 루트 파티션(/)이 실제로 /dev/mmcblk0p2가 아닌 /dev/nvme0n1p2에 있음을 알 수 있습니다. 또한 내 /boot 폴더가 /dev/mmcblk0p1(부트 로더 역할을 하는 SD 카드)로 올바르게 마운트되었음을 확인할 수 있습니다. 성공!
공식 운영 체제 중 하나를 사용하는 경우 Orange Pi에 내장된 크기 조정 응용 프로그램을 사용할 수 있습니다.
sudo /usr/lib/orangepi/orangepi-resize-filesystem start
가이드에는 SSSTC 128GB 2230 M.2 NVMe 드라이브를 사용했습니다. 다음 명령을 사용하여 Pi 벤치마크에서 드라이브 성능을 확인할 수 있습니다 .
sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash
Category Test Result
HDParm Disk Read 375.32 MB/s
HDParm Cached Disk Read 381.15 MB/s
DD Disk Write 234 MB/s
FIO 4k random read 47080 IOPS (188321 KB/s)
FIO 4k random write 35128 IOPS (140514 KB/s)
IOZone 4k read 75628 KB/s
IOZone 4k write 67285 KB/s
IOZone 4k random read 35874 KB/s
IOZone 4k random write 70620 KB/s
Score: 17,718
3.5. ssd에 promox 설치
4. wifi 설정
4.1. 드라이버 자동 인식 가능한 경우
드라이버가 자동으로 인식된다면 orangepi-config를 사용하여 바로 설정 하면된다.
4.2. 드라이버 인식 안되는 경우
미정리
mokutil --sb-state
sudo add-apt-repository ppa:kelebek333/kablosuz
sudo apt-get update
sudo apt-get install rtl8188fu-dkms
test 중 - 이건 안되는거 같음
이것도 에러가 나긴하는데
리눅스 에서 드라이버 컴파일 하기
sudo apt install linux-generic -y
sudo apt install --reinstall linux-image-$(uname -r) -y;
sudo apt install --reinstall linux-modules-$(uname -r) -y;
sudo apt install --reinstall linux-modules-extra-$(uname -r) -y;
일단 라이브러리 헤더 설치하고 make 빌드 해야됨
cd ~/rtl8188fu
make clean
make all
sudo make install
modprobe -r 8188fu
modprobe 8188fu
sudo mkdir -p /etc/modprobe.d/
sudo touch /etc/modprobe.d/rtl8188fu.conf
echo "options rtl8188fu rtw_power_mgnt=0 rtw_enusbss=0 rtw_ips_mode=0" | sudo tee /etc/modprobe.d/rtl8188fu.conf
옵션값 설정은 이게 맞는거 같음
이거도 확인해봐야될듯
![](https://gohugo.io/featured.png)
이거 꼭 한번 따라 해보자
....https://www.baeldung.com/linux/realtek-wifi-driver-installation
드라이버 빌드 시 필요한 소스코드 이지 않을까 확인 해봐야됨
orangepi@orangepi:~$ git clone --depth=1 -b orange-pi-6.1-rk35xx https://github.com/orangepi-xunlong/linux-orangepi
5. portainer 설치
docker 먼저 설치 해야됨
##1
sudo apt-get update
##2
sudo apt-get install apt-transport-https \
ca-certificates \
curl \
software-properties-common
##3
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
##4
sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
##5
sudo apt-get update
##6
sudo apt-get install docker-ce
sudo apt-get install docker-compose
하고나서 portainer container 실행 도커로
docker volume create portainer_data
# docker run -d -p 5555:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --restart=always portainer/portainer
yml 파일로 만들어서 실행
version: '3'
services:
portainer:
# Portainer 컨테이너에 사용할 이미지 (portainer-ce의 최신 버전)
image: portainer/portainer-ce:latest
container_name: portainer # 컨테이너의 이름을 지정
# 컨테이너가 호스트 시스템의 모든 권한을 얻을 수 있도록 허용 (주의: 보안상의 이유로 사용에 주의가 필요)
privileged: true
ports:
- "55555:9000" #port 설정 외부:55555(본인이설정), 내부:9000(portainer port)
volumes:
- "./portainer:/data" # 호스트의 ./portainer 디렉토리를 컨테이너 내부의 /data 디렉토리에 마운트 (Portainer 데이터를 저장하기 위해)
- "/var/run/docker.sock:/var/run/docker.sock" # 호스트의 Docker 소켓을 컨테이너 내부의 Docker 소켓에 마운트 (Docker API에 접근하기 위해)
restart: always # 컨테이너가 종료될 때 항상 재시작
volumes:
portainer_data:
#이후 콘솔에서
docker-compose up -d
여러개 관리하기 귀찮으면 하나로 묶어서 관리 할 수 도 있음
Tips!
Linux USB 저장 장치 연결
usb 연결 후 다음 명령을 실행합니다. sdX의 출력이 보이면 U 디스크가 성공적으로 인식되었음을 의미합니다.
orangepi@orangepi:~$ cat /proc/partitions | grep "sd*"
major minor #blocks name
8 0 30044160 sda
8 1 30043119 sda1
mount 명령을 사용하여 스크를 /mnt에 마운트하면 디스크에 있는 파일을 볼 수 있습니다.
orangepi@orangepi:~$ sudo mount /dev/sda1 /mnt/
orangepi@orangepi:~$ ls /mnt/
다음 명령을 사용하여 Linux 시스템에서 디스크를 exfat 형식으로 마운트할 수 있습니다.
orangepi@orangepi:~$ sudo apt-get install exfat-utils exfat-fuse
orangepi@orangepi:~$ sudo mount -t exfat /dev/sda1 /mnt/
마운트 후 df -h 명령을 통해 U 디스크의 용량 사용량 및 마운트 지점을 볼 수 있습니다.
orangepi@orangepi:~$ df -h | grep "sd"
/dev/sda 129G 208K 29G 1% /mnt
Linux SSH 접속 오류 (ECDSA host key 에러) 해결법
SSH 접속 시 서버의 아이피가 변경되면 다음과 같이 ECDSA host key 에러가 발생 한다. ssh-keygen을 사용해서 이전에 캐시된 정보를 삭제해준 후 다시 접속한다.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The ECDSA host key for ***.com has changed,
and the key for the corresponding IP address ***.***.***.***
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:bS3YVX************************************
Please contact your system administrator.
Add correct host key in /Users/******/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /Users/******/.ssh/known_hosts:37
ECDSA host key for seoirim.com has changed and you have requested strict checking.
Host key verification failed.
ssh-keygen -R 111.222.333.444
or
ssh-keygen -R yourdomain.com
Realtek RTL8188FTV WiFi adapter on Linux - 미확인
이거 pc 버전에서 usb 드라이버 리 빌드 한곳에서 실행되는지 확인먼저 해보고 실행이 된다면 오렌지파이에서도 실행이 되는지 다시한번 확인해야됨. 해보고 안되면 해당 드라이버 버전의 동글은 그냥 사용 안하는걸로 하는게 정신건강에 좋을듯
ip a
or
lsusb
Realtek Semiconductor Corp. RTL8188FTV 802.11b/g/n 1T1R 2.4G WLAN Adapter 이라는 장치를 찾을 수 있다. 드라이버 업데이트 전 OS 최신 업데이트 및 네트워크 관련 툴을 설치 한다.
sudo apt update
sudo apt upgrade
sudo apt install net-tools
드라이버 git을 추가하고 드라이버 파일을 업데이트 후 드라이버 파일을 설치 한다.
sudo add-apt-repository ppa:kelebek333/kablosuz
sudo apt-get update
sudo apt-get install rtl8188fu-dkms
# 해당 드라이버를 제거 하고 싶을 때
# sudo apt purge rtl8188fu-dkms
# 아래 config 수정하는 부분은 뭔지 확인 해봐야 될것 같음
echo “options rtl8188fu rtw_ips_mode=0” | sudo tee /etc/modprobe.d/rtl8188fu.conf
sudo modprobe -rv rtl8188fu && sudo modprobe -v rtl8188fu
!! 설정 변경이 적용 안될 경우 UEFI/BIOS settings에서 Secure Boot이 disabled 되어 있는지 확인
mokutil --sb-state
#해제 후 다시 시도한다.
sudo add-apt-repository ppa:kelebek333/kablosuz
sudo apt-get update
sudo apt-get install rtl8188fu-dkms
관련 링크
orangepi 5 관련 자료
![](https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Ft1.daumcdn.net%2Ftistory_admin%2Fstatic%2Fmanage%2Fimages%2Fr3%2Fdefault_L.png)
![](https://ubuntuforums.org/images/ubuntu-VB4/ubuntulogo-o-small.png)
그냥 orangepi-config로 설정하는게 쉽다.
wifi 연결 방법
![](https://blogthumb.pstatic.net/MjAxNzAyMjVfNjkg/MDAxNDg4MDEwNDA1NzAy.vt0SRUP_LROCDGcPCjrSt65sytjABnHymVD2hYrrPGwg.QrZWRIRVBEfVFRKeyVFut4BoKNn1j8LF3AhOtBvTJfIg.PNG.cyonlee0/image.png?type=w2)
이게 더나은듯
![](https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIeOLf%2Fbtqvce2vIxp%2F4ukzuDk4kanTz0SGX9mmyK%2Fimg.png)
스왑메모리 설정 제로
![](https://1.bp.blogspot.com/-UrNuxiH3rg4/XW4sCUGMSoI/AAAAAAAAOjI/0bTkpmY3yvosgkbOPd-aaR4kSzkZ8R3xACLcBGAs/s72-c/image2019-9-3%2B11_13_36.png)
아래 에러 발생 시 조치 방법
error during container init: unable to apply apparmor profile: apparmor failed to apply profile: write /proc/self/attr/apparmor/exec: no such file or directory:
도커 공식문서
해결방법
sudo apt-get purge apparmor apparmor-profiles apparmor-utils
sudo apt-get install apparmor-utils apparmor-profiles apparmor-profiles-extra vim-addon-manager
reboot
아래도 해주라고 하는데 안하고 해결했다.
?? apparmor_parser -r -W docker.profile
ssd 인식하기
ssd는 처음에는 그냥 인식이 되지 않는다. ssd를 사용하기 위해서는 설정을 해줘야 한다.
//우분투 버전확인
uname -r
//ssd 찾기
sudo fdisk -l | grep "nvme0n1"
lspci
//ssd 초기화 p누르고 d로 삭제 w로 저장하고 나오기
sudo gdisk /dev/nvme0n1
$ sudo fdisk /nvme0n1
Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xc5f98d9f.
Command (m for help): p
Disk /dev/nvme0n1: 1.86 TiB, 2048408248320 bytes, 4000797360 sectors
Disk model: SPD SP300-2TNV3
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc5f98d9f
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-4000797359, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-4000797359, default 4000797359):
Created a new partition 1 of type 'Linux' and of size 1.9 TiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
$ sudo mkfs.ext4 /dev/nvme0n1p1
mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 500099414 4k blocks and 125026304 inodes
Filesystem UUID: 778898e3-0688-4c90-88b1-a8e8c9e24129
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done
$ sudo mount /dev/nvme0n1p1 /mnt/
$ mount | grep nvme
/dev/nvme0n1p1 on /mnt type ext4 (rw,relatime)
$ df -h | grep nvme
/dev/nvme0n1p1 1.9T 28K 1.8T 1% /mnt
# Check UUID
$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 15 Jun 20 22:37 1d503487-9341-4440-a0a9-2677d1a862f1 -> ../../mmcblk0p2
lrwxrwxrwx 1 root root 15 Jun 20 22:37 46D0-DBDB -> ../../mmcblk0p1
lrwxrwxrwx 1 root root 15 Jun 21 12:05 778898e3-0688-4c90-88b1-a8e8c9e24129 -> ../../nvme0n1p1
# Adding UUID
$ sudo vim /etc/fstab
(omit)
/dev/disk/by-uuid/778898e3-0688-4c90-88b1-a8e8c9e24129 /media ext4 defaults 0 0
(reboot)
# To assure if this is mounted
$ mount | grep nvme
/dev/nvme0n1p1 on /media type ext4 (rw,relatime)
//속도 테스트
sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash
ssd에 설치
..https://jamesachambers.com/orange-pi-5-ssd-boot-guide/
...https://aeong-dev.tistory.com/11
벤치마크 microSD lexar ssd
Category Test Result
HDParm Disk Read 63.09 MB/sec
HDParm Cached Disk Read 64.48 MB/sec
DD Disk Write 51.6 MB/s
FIO 4k random read 3045 IOPS (12181 KB/s)
FIO 4k random write 1258 IOPS (5032 KB/s)
IOZone 4k read 16387 KB/s
IOZone 4k write 4727 KB/s
IOZone 4k random read 11622 KB/s
IOZone 4k random write 3744 KB/s
Score: 1826
삼성 ssd
Category Test Result
HDParm Disk Read 363.02 MB/sec
HDParm Cached Disk Read 366.09 MB/sec
DD Disk Write 276 MB/s
FIO 4k random read 73405 IOPS (293620 KB/s)
FIO 4k random write 49349 IOPS (197397 KB/s)
IOZone 4k read 135107 KB/s
IOZone 4k write 110405 KB/s
IOZone 4k random read 43974 KB/s
IOZone 4k random write 99745 KB/s
Score: 24885
오렌지파이5플러스 운영체제
- Joshua Riek's ubuntu-rockchip - 링크
- 추천 - 오렌지파이 기본 이미지보다 쓰기 좋음
- 기본 id / password - ubuntu / ubuntu
- 현재 24.04 Noble numbat으로 버전업된 것 같다. 커널은 rockchip-linux bsp 6.1
실제로 ssd 에 설치해서 부팅까지 해보자
orangepi promox 설치
Proxmox ARM running on the Orange Pi 5 with NVMe!
by u/TheWingsOfWar in Proxmox
참고하면 좋을 링크 확인해보고 자료 정리하기
![](https://github.githubassets.com/assets/gist-og-image-54fd7dc0713e.png)
참고 사이트
![](https://jamesachambers.com/wp-content/uploads/2019/03/15236457.jpg)
![](https://blog.mnkserver.com/content/images/2024/05/-----------2024-05-16------11.21.19.png)
하드웨어 벤치마크 점수 비교 필요
orangepi 5
orangepi 5b
orangepi cm4
orangepi zero2
orangepi zero3
sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash
orangepi cm4
메모리 2g emmc 32g
이모델은 고스트 2개 돌리면 더이상은 무리일것 같다. 억지로 3개 까지?
고스트 300M 디비 500M 총 800M 정도 메모리 사용
CPU 성능은 제로3 보다는 좋은것 같은데... SSD 도 사용가능 해서 달았지만 메모리 때문에 용량이 의미가 없을것 같다.
emmc 130mb/s 정도 sd 카드 20mb/s 정도 nvme 350mb/s
나중에 다른 곳을 옮기자
장비 싱글 멀티
ODROID-N2L 409 1261
OrangePi Zero3 154 417
OrangePi Zero2 (추정) 88 260
Orange Pi CM4 206 507
Orange Pi 5B 803 3064
Orange Pi 5 841 2886
Intel N95 1214 3046
Intel N100 1187 3174
Intel N6000 532 1410
Intel N5105 486 1416
Intel N5095 391 1238
AMD 7730U 1867 6379
AMD 7530U 1875 4688
AMD 5800U 1805 6044
AMD 5625U 1120 4546
AMD 5500U 690 4783
..http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=3619&extra=
드라이버 빌드 위한 커널 헤더 소스코드 받아서 넣기
메뉴얼 참조 464 부터
..https://github.com/orangepi-xunlong/orangepi-build/tree/next
..https://github.com/orangepi-xunlong/linux-orangepi
각종 SBC용 유용한 OS 이미지 모음
...https://wiki.radxa.com/Rock5/downloads
커널헤더 공부
..https://m.blog.naver.com/moonysl/140136883605
..https://yohda.tistory.com/entry/LINUXKERNEL-Linux-kernel-headers
커널헤더추출
...https://codingsmith.tistory.com/entry/리눅스-커널-헤더-추출glibc-with-headers
어렵게 하지 말고 실치 sd 카드에서 찾아보자 거기 소스가 있을지도?
드라이버 컴파일 성공 버전 - 실제 드라이버는 빌드 중 오류가 난다. 일단포기
git clone -b orange-pi-6.1-rk35xx https://github.com/orangepi-xunlong/linux-orangepi.git
cp 폴더 /lib/modules/6.1.43-rockchip-rk3588
cd /lib/modules/6.1.43-rockchip-rk3588
mv 폴더 build
#usr/src에 넣고 ln으로 연결하는게 정석인거 같은데....
#Creating symlink /var/lib/dkms/rtl8188fu/1.0/source -> /usr/src/rtl8188fu-1.0 이런식으로
su root
make oldconfig && make prepare
git clone https://github.com/kelebek333/rtl8188fu
sudo dkms install ./rtl8188fu
### 다른 방법
sudo apt update
sudo apt install dkms
git clone https://github.com/kelebek333/rtl8188fu
sudo dkms add ./rtl8188fu
sudo dkms build rtl8188fu/1.0
sudo dkms install rtl8188fu/1.0
sudo cp ./rtl8188fu/firmware/rtl8188fufw.bin /usr/lib/firmware/rtlwifi/Reboot를