Instalasi Software

Radxa Rock 5B+ Ubuntu 22.04 & Hailo Setup


Table of Contents


Overview

Panduan ini menjelaskan cara melakukan instalasi Ubuntu 22.04 pada Radxa Rock 5B+ menggunakan NVMe SSD.

Metode instalasi dilakukan melalui beberapa tahap:

  1. Boot awal menggunakan SD Card
  2. Instal U-Boot ke SPI Flash
  3. Instal Ubuntu ke NVMe SSD
  4. Boot sistem langsung dari NVMe

Radxa Rock 5B+ menggunakan Rockchip RK3588 yang memiliki beberapa media boot seperti:

  • SPI Flash
  • SD Card
  • NVMe SSD
  • USB

Agar sistem dapat melakukan boot dari NVMe, diperlukan instalasi U-Boot pada SPI Flash terlebih dahulu.

Alur instalasi yang benar adalah:

Boot SD Card
      ↓
Install U-Boot ke SPI
      ↓
Install Ubuntu ke NVMe
      ↓
Boot langsung dari NVMe

Requirements

Sebelum memulai instalasi, siapkan perangkat berikut:

  • Radxa Rock 5B+
  • NVMe SSD M.2 (minimal 128GB)
  • Micro SD Card (minimal 16GB)
  • SD Card Reader
  • Monitor HDMI
  • Power Supply Radxa
  • Keyboard dan mouse

1. Download Ubuntu Image

Download Ubuntu image khusus Rockchip RK3588 dari repository berikut:

https://github.com/Joshua-Riek/ubuntu-rockchip

Atau langsung melalui link berikut:

https://github.com/Joshua-Riek/ubuntu-rockchip/releases/download/v2.4.0/ubuntu-22.04-preinstalled-desktop-arm64-rock-5b-plus.img.xz

Setelah selesai download, ekstrak file .xz sehingga menjadi:

ubuntu-22.04-preinstalled-desktop-arm64-rock-5b-plus.img

2. Membuat Bootable SD Card

Download software Balena Etcher:

https://etcher.balena.io/

Langkah-langkah:

  1. Klik Flash from file
  2. Pilih file .img Ubuntu
  3. Klik Select Target
  4. Pilih SD Card
  5. Klik Flash

Tunggu hingga proses selesai.


3. Boot Awal Menggunakan SD Card

  1. Masukkan SD Card ke Radxa Rock 5B+
  2. Hubungkan:

  3. Monitor HDMI

  4. Keyboard
  5. Mouse
  6. Nyalakan board

Disarankan melepas NVMe terlebih dahulu untuk menghindari konflik boot.

Radxa akan melakukan boot dari SD Card.

Setelah Ubuntu berhasil masuk ke desktop, lanjut ke langkah berikutnya.


4. Install U-Boot ke SPI Flash

Langkah ini sangat penting agar Radxa dapat melakukan boot langsung dari NVMe.

Buka terminal dan jalankan perintah berikut:

sudo u-boot-install-mtd

Jika berhasil akan muncul pesan:

Installing U-Boot to SPI Flash...
Done.

5. Pasang NVMe SSD

Setelah instalasi U-Boot selesai, matikan board:

sudo poweroff

Kemudian:

  1. Pasang NVMe SSD pada slot M.2 Radxa
  2. Nyalakan kembali board
  3. Tetap boot menggunakan SD Card

6. Instalasi Ubuntu ke NVMe

Setelah masuk kembali ke Ubuntu yang booting dari SD Card, buka terminal.

Cek storage device:

lsblk

Biasanya akan terlihat seperti berikut:

nvme0n1    → NVMe SSD
mmcblk1    → SD Card

Install Ubuntu ke NVMe dengan perintah:

sudo ubuntu-rockchip-install /dev/nvme0n1

Perintah ini akan:

  • Menyalin sistem Ubuntu
  • Mengatur konfigurasi boot
  • Sinkronisasi dengan U-Boot pada SPI Flash

Proses biasanya memakan waktu sekitar 5–10 menit.


7. Boot Menggunakan NVMe

Setelah instalasi selesai, matikan board:

sudo poweroff

Lakukan langkah berikut:

  1. Lepaskan SD Card
  2. Pastikan NVMe tetap terpasang
  3. Nyalakan kembali board

Radxa sekarang akan melakukan boot dengan urutan:

SPI Flash
   ↓
NVMe SSD
   ↓
Ubuntu 22.04

Ubuntu sekarang booting langsung dari NVMe SSD.


8. Instalasi Dependencies dan Setup Hardware Overlays

Update sistem terlebih dahulu:

sudo apt update && sudo apt upgrade -y

Install Python pip:

sudo apt install python3-pip

Edit file konfigurasi berikut:

sudo nano /etc/default/u-boot

Cari baris berikut:

#U_BOOT_FDT_OVERLAYS=""

Hilangkan tanda # lalu ubah menjadi:

U_BOOT_FDT_OVERLAYS="device-tree/rockchip/overlay/rk3588-i2c7-m3.dtbo device-tree/rockchip/overlay/rk3588-uart2-m0.dtbo"

Update konfigurasi:

sudo u-boot-update

Cek file tersebut untuk memastikan kernel benar-benar akan meload overlay-nya saat booting nanti dengan cara:

cat /boot/extlinux/extlinux.conf | grep fdtoverlays

pastikan isi dari output command diatas adalah:

fdtoverlays  /lib/firmware/5.10.0-1012-rockchip/device-tree/rockchip/overlay/rk3588-i2c7-m3.dtbo /lib/firmware/5.10.0-1012-rockchip/device-tree/rockchip/overlay/rk3588-uart2-m0.dtbo

fdtoverlays

Reboot sistem:

reboot

Setelah reboot, cek koneksi I2C

sudo i2cdetect -y 7

Note: Jika ingin deteksi i2c pastikan sama alamat i2c nya dengan settingan hardware overlays uart dan i2c yang ditulis di /etc/default/u-boot tadi Contoh Anda menulis alamat i2c nya di file u-boot tadi adalah rk3588-i2c3-m3, maka untuk cek koneksinya adalah:

sudo i2cdetect -y 3

Cek koneksi UART

ls /dev/ttyS*

Note: Jika Anda menulis alamat uartnya rk3588-uart2-m0 maka keluaran ouput dari terminal Ketika anda cek koneksi uart adalah

/dev/ttyS2

dev/ttyS2


9. Instalasi Hailo-8 AI Accelerator

Bagian ini menjelaskan cara melakukan instalasi Hailo-8 AI Accelerator pada Radxa Rock 5B+ yang sudah menjalankan Ubuntu 22.04 dari NVMe.

Tahapan instalasi meliputi:

  1. Memastikan device Hailo terdeteksi oleh sistem
  2. Instalasi dependencies
  3. Instalasi driver HailoRT
  4. Instalasi Python SDK (.whl)
  5. Verifikasi device

Requirements

Pastikan:

  • Modul Hailo-8 sudah terpasang pada slot M.2 PCIe pada board radxa
  • Sistem sudah boot dari NVMe SSD

Update sistem:

sudo apt update
sudo apt upgrade -y

1. Verifikasi PCIe Device

Cek apakah perangkat Hailo terdeteksi:

lspci

Jika berhasil:

Processing accelerators: Hailo Technologies Ltd. Hailo-8 AI Processor

2. Instalasi Dependencies

sudo apt install -y \
python3-pip \
python3-dev \
build-essential \
cmake \
git \
pkg-config

Cek versi Python:

python3 --version

3. Download Software Hailo

Login ke web Hailo dan download dari:

https://hailo.ai/developer-zone/software-downloads/

File yang diperlukan:

hailort_<version>_arm64.deb
hailort-<version>-cp310-cp310-linux_aarch64.whl

Contoh:

hailort_4.18.0_arm64.deb
hailort-4.18.0-cp310-cp310-linux_aarch64.whl

4. Instalasi Driver HailoRT

Masuk ke folder download:

cd ~/Downloads

Install driver:

sudo dpkg -i hailort_*.deb

Jika ada error dependency:

sudo apt -f install

5. Verifikasi Driver Kernel

lsmod | grep hailo

Output yang akan muncul:

hailo_pci
hailo

Cek device node:

ls /dev/hailo*

Jika berhasil:

/dev/hailo0

6. Instalasi Python SDK Hailo (.whl)

Install Python SDK Hailo:

Jika file .whl berada di folder Downloads, jalankan perintah berikut:

cd ~/Downloads
pip3 install hailort-4.23.0-cp310-cp310-linux_aarch64.whl

Verifikasi Instalasi

Cek apakah modul Python berhasil terpasang.

Jalankan Python:

python3

Kemudian import library Hailo:

import hailo_platform

Jika tidak muncul error, berarti instalasi berhasil.


7. Verifikasi Instalasi Hailo

Identifikasi device:

hailortcli fw-control identify

Output normal:

Device: Hailo-8
Firmware Version: xxxx
Status: OK

Scan device:

hailortcli scan

Output:

Device 0
Hailo-8
PCIe

8. Lakukan Pengujian Python

Buka Python:

python3

Kemudian jalankan:

import hailo_platform

Jika tidak error berarti instalasi berhasil.

Keluar dari Python:

exit()

Referensi

https://docs.radxa.com/en/rock5/rock5b
https://github.com/Joshua-Riek/ubuntu-rockchip
https://github.com/Joshua-Riek/ubuntu-rockchip/releases
https://hailo.ai/developer-zone/software-downloads/

---

Jetson Xavier NX - Ubuntu 20.04


1. Instalasi dependencies package

Update system sebelum melakukan install package dan dependencies

sudo apt update && sudo apt upgrade -y

Install Python PIP

sudo apt install python3-pip

Install jtop untuk pengaturan internal jetson

sudo pip3 install -U jetson-stats

Reboot jetson

sudo reboot

Setting Fan Speed Jetson

jtop

Buka menu control atau ctrl lalu atur putaran kipas menjadi manual dan konfigurasikan kecepatan kipas hingga mencapai maksimal

Terminator

sudo apt update && sudo apt install terminator

Konfigurasi di Jetson

  1. Buka bagian setting pada ubuntu 20.04
  2. Masuk ke bagian power dan pastikan mode sleep nonaktif atau mode never sleep
  3. Kemudian masuk ke bagian sharing dan pastikan bagian sharing monitor aktif dan tanpa password encription
  4. Kemudian masuk ke bagian privacy dan pastikan bagian black screen turn off, nonaktifkan screen lock dan suspend lock, dan turn off automatic screen lock delay
  5. Masuk ke bagian user dan pastikan bahwa pengaturan login tidak membutuhkan password
  6. Restart device

2. Setup LXDE Desktop Environment

sudo apt install lxde
  • Pastikan memilih mode lightdm
  • Restart device
  • Pada saat tampilan memasukkan password, pilih tampilan utama lxde
  • Setelah itu, masuk ke pengaturan xscreensaver di sebelah kiri bawah, pastikan mode screenxsaver berada pada posisi disable

3. Konfigurasi NoMachine pada Jetson

Install No Machine

sudo apt update && sudo apt upgrade
sudo apt install wget
wget https://www.nomachine.com/free/arm/v8/deb -O nomachine.deb
sudo dpkg -i nomachine.deb
  • Jika bagian baris terakhir gagal dijalankan, maka masuk ke direktori Downloads dan masukkan command sebelumnya
  • Install nomachine di perangkat pc/laptop anda
  • Jika sudah selesai, matikan device dan pasang ke dalam tubuh robot
  • Jika sudah terinstall di tubuh robot, nyalakan jetson dan sambungkan kabel lan pada laptop/pc ke jetson
  • Buka terminator dan ketik perintah berikut

Pengaturan WiFi

sudo nmtui
  • Masuk ke bagian edit connection dan konfigurasi pengaturan wired connection menjadi statis dengan ip 192.168.123.xx, nilai xx bergantung pada nomor robot
  • Pastikan anda sudah konfigurasi ip untuk ethernet pada pc/laptop anda. Caranya pergi ke menu Control Panel\Network and Internet\Network and Sharing Centre, lalu klik kanan pada bagian ethernet dan pilih properties, kemudian pilih ipv4 control dan klik properties, dan selanjutnya masukkan ip statis yang memiliki class yang sama dengan ip robot nantinya. Lalu save pengaturan anda
  • Buka nomachine di pc/laptop anda dan masukkan ip robot pada koneksi baru, lalu coba sambungkan. Jika gagal maka ada kesalahan di konfigurasi nmtui pada robot. Ulang lagi step 8

3. Setup Driver Video

sudo apt update && sudo apt upgrade
sudo apt install nano
sudo apt-get install xserver-xorg-core
sudo apt-get install xserver-xorg-video-dummy
sudo apt-get install --reinstall xserver-xorg-input-all
sudo nano /usr/share/X11/xorg.conf.d/xorg.conf

Masukkan baris program berikut

Section "Module"

    Disable     "dri"
        SubSection  "extmod"
            Option  "omit xfree86-dga"
        EndSubSection
    EndSection

    Section "Device"
        Identifier  "Tegra0"
        Driver      "nvidia"
        Option      "AllowEmptyInitialConfiguration" "true"
    EndSection

    Section "Monitor"
       Identifier "DSI-0"
       Option    "Ignore"
    EndSection

    Section "Screen"
       Identifier    "Default Screen"
       Monitor        "Configured Monitor"
       Device        "Default Device"
       SubSection "Display"
           Depth    24
           Virtual 1280 720 #optional resolution
       EndSubSection
    EndSection

Restart Jetson

4. Install Dependencies & Library

Install Packages

sudo apt-get install libncurses5-dev screen
sudo apt-get install build-essential wget subversion cmake swig libreadline6-dev g++ lua5.1 libboost-all-dev 

Install Boost

sudo apt update
mkdir BarelangFc_Library && cd BarelangFc_Library
wget https://archives.boost.io/release/1.85.0/source/boost_1_85_0.tar.gz
tar -xvf boost_1_86_0.tar.gz
sudo mv boost_1_86_0 /usr/local/
cd /usr/local/include
sudo ln -s /usr/local/boost_1_86_0/boost boost 
cd –

Jika instalasi memiliki waktu tidak lebih dari 3 menit, maka dipastikan proses penginstalan anda telah gagal.

Jika gagal maka download secara manual file boost disini

Hapus folder boost yang ada di /usr/local dan pindahkan secara manual folder boost

Install Lua

cd BarelangFc_Library
wget http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar -xvf lua-5.1.4.tar.gz
cd lua-5.1.4
make clean
make linux
sudo make install
cd ..
sudo apt install git
sudo apt install luarocks
sudo luarocks install luasocket

Install Uppenalizers-framework

cd BarelangFc_Library
git clone https://github.com/BarelangFC/BarelangFC-Setup.git
sudo apt-get install unzip
unzip UPennalizers-master.zip
cd UPennalizers-master
cd Lib
make clean
make setup_op
sudo rm /lib/udev/rules.d/95-upower-wup.rules

5. Konfigurasi Persistance USB

Catatan : Pada bagian ini, semua sub-pengendali robot harus aktif dan harus terhubung ke komputer.

Identifikasi serial sub-pengontrol untuk setiap ttyUSB0 dan ttyUSB1:

udevadm info -a -n /dev/ttyUSB0 | grep '{serial}' | head -n1
udevadm info -a -n /dev/ttyUSB1 | grep '{serial}' | head -n1
cd /etc/udev/rules.d
sudo nano BarelangFC.rules

Tambahkan kode berikut ini:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="AH03PJVL", SYMLINK+="CM730" // all value is unique

SUBSYSTEM=="tty", ATTRS{serial}=="0000:00:14.0", SYMLINK+="strategyUSB" // all value is unique
sudo usermod -a -G dialout $USER
reboot

6. Konfigurasi Latency Timer

sudo su
cd /etc/udev/rules.d
touch BFCLatency.rules
echo ACTION==\"add\", SUBSYSTEM==\"usb-serial\", DRIVER==\"ftdi_sio\", ATTR{latency_timer}=\"1\" > BFCLatency.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --action=add

7. Setting Port UART Jetson

git clone https://github.com/JetsonHacksNano/UARTDemo
cd UARTDemo
systemctl stop nvgetty
systemctl disable nvgetty
udevadm trigger
sudo reboot or sudo shutdown -P now
sudo apt-get install python3-serial

8. Setting CPU Isolation

sudo nano /boot/extlinux/extlinux.conf

Lalu isi bagian yang sesuai dengan lingkaran di gambar

alt text

Selanjutnya, reboot jetson

Menjalankan program dengan prioritas CPU tertentu

taskset -c <core> program

Contohnya

taskset -c 0,1,2,3,4 ros2 run groot Groot

9. Install libzmq, zmqpp, dan libsodium

wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.18-stable.tar.gz
tar -xvzf libsodium-1.0.18-stable.tar.gz
cd libsodium-stable/
./configure 
make && make check
sudo make install
sudo ldconfig
cd

Jika ada terjadi error di awal, pindahkan terlebih dahulu file libsodium dari folder Downloads ke folder home

Buka terminal dan masukkan perintah berikut

git clone https://github.com/zeromq/libzmq
cd libzmq/
./autogen.sh && ./configure && make -j 4
sudo make check && sudo make install && sudo ldconfig
./autogen.sh ./configure -with-libsodium && sudo make
sudo make install
sudo ldconfig
cd
git clone https://github.com/zeromq/zmqpp.git
cd zmqpp/
sudo make
sudo make check
sudo make install
sudo make installcheck
cd

10. Install ROS2 Foxy dan Colcon

Untuk instalasi ROS2 Foxy silahkan merujuk ke web

Untuk instalasi colcon silahkan ke web

Instalasi ROS2 package usb_cam

Sudo apt install ros-foxy-usb-cam

Install library Adafruit-SSD1306

pip install Adafruit-SSD1306

Install image_pipeline

Sudo apt install ros-foxy-image-pipeline

11. Install BehaviorTreeV3_CPP dan Groot

sudo apt-get install libzmq3-dev libboost-dev
sudo apt-get install ros-foxy-behaviortree-cpp-v3
git clone --branch v3.8 https://github.com/BehaviorTree/BehaviorTree.CPP.git
cd BehaviorTree.CPP
mkdir build; cd build
cmake ..
make
sudo make install

Untuk menginstall groot, buka terminal dan masukkan perintah berikut

sudo apt install qtbase5-dev libqt5svg5-dev libzmq3-dev libdw-dev
git clone --recurse-submodules https://github.com/BehaviorTree/Groot.git
cd Groot
cmake -S . -B build
cmake --build build

Masukkan dua folder ini ke workspace ROS2 anda dan compile dengan colcon build