Skip to content

Armbian Common Customization

Note

Symbol explanation:
SDK$: Refers to the source code path
console$: Refers to the motherboard's command line console.
ADB$: Android Debug Bridge command-line tool, generally refers to an environment where ADB can be run.

Mirror Source Replacement

  • armbian official mirror source
console$ cat /etc/apt/sources.list.d/armbian.sources 
Types: deb
URIs: https://apt.armbian.com
Suites: noble
Components: main noble-utils noble-desktop
Signed-By: /usr/share/keyrings/armbian-archive-keyring.gpg
  • Ubuntu official mirror source
console$ cat /etc/apt/sources.list.d/ubuntu.sources 
Types: deb
URIs: http://ports.ubuntu.com/
Suites: noble noble-security noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Startup Script

KICKPI runs the kickpi.sh script by default. Scripts (or other services) that need to run at startup can be added to the kickpi.sh script.

console$ cat /etc/init.d/kickpi.sh 
#!/bin/sh

LOG_FILE=/tmp/kickpi.log
depmod
dmesg -n 1
echo " kickpi.sh run finish !" >> $LOG_FILE

Serial Port Auto Login

# serial-getty auto login
sed -i "s~\(^ExecStart=.*\)~# \1\nExecStart=-/sbin/agetty --autologin $RealUserName --keep-baud 115200,57600,38400,9600 %I \$TERM~" /usr/lib/systemd/system/serial-getty@.service

MIPI Display

dtbo files already exist on the motherboard

/boot/dtb-6.1.115-vendor-rk35xx/rockchip/overlay/rk3576-kickpi-lcd-mipi-AT101DS40I.dtbo
/boot/dtb-6.1.115-vendor-rk35xx/rockchip/overlay/rk3576-kickpi-lcd-mipi-MX101BA1340.dtbo
/boot/dtb-6.1.115-vendor-rk35xx/rockchip/overlay/rk3576-kickpi-lcd-mipi-MX080B2140.dtbo
/boot/dtb-6.1.115-vendor-rk35xx/rockchip/overlay/rk3576-kickpi-lcd-mipi-F050008M01.dtbo

Operation example: Connect an 8-inch screen with model MX080B2140, add the corresponding overlays (overlays=rk3576-kickpi-lcd-mipi-MX080B2140 add the corresponding dtbo name).

$ vim /boot/armbianEnv.txt 
verbosity=1
bootlogo=true
console=both
overlay_prefix=rk35xx
fdtfile=rockchip/rk3576-kickpi-k7.dtb
rootdev=UUID=389fa6c5-33a8-4653-99ec-f532b9d5a742
rootfstype=ext4
overlays=rk3576-kickpi-lcd-mipi-MX080B2140
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

4G/5G Modules

When a 4G/5G module is detected, /usr/bin/quectel-CM is executed at boot for dial-up internet access. The 4G/5G module software functions can be customized via Quectel's official Linux software.

GCC Toolchain

  • Installation command
apt update && apt install -y build-essential manpages-dev

Chromium Browser

The Chromium browser is recommended. Test results show good video playback performance and smooth operation.

  • Installation method
console$ sudo apt update
console$ sudo apt install chromium

FireFox Browser

The firefox browser has a profile issue and cannot be opened after a device reboot.

  • Installation method
console$ sudo apt update
console$ sudo apt install firefox
  • Profile issue

Method One

Enter the command in the Linux terminal to start Firefox's profile management interface, delete the faulty profile, and create a new profile to start firefox.

$ firefox -profilemanager

Method Two

$ rm ~/.mozilla/firefox/ -rfv

Armbian Image Export and Modification

1. Export the root filesystem image to storage media such as USB drive, SD card, etc.

sudo ./ff_export_rootfs /mnt/ -t ext4

2. Check the root filesystem image size

// Check and compare the image size. The exported ext image is close to 7G, larger than the original armbian image.
$ ls -lh *.img
-rwxr--r--  1 hcm  hcm  6.9G Jun 12 16:18 Armbian-unofficial_25.08.0-trunk_noble_ext4_202506121342.img
-rw-rw-r--  1 hcm  hcm  6.3G Jun 12 16:22 armbian.img

3. If the root filesystem image is larger than the original image capacity, adjust the original armbian image capacity

Resize the Armbian image to 8G

$ sudo fallocate -l 9G armbian.img

Confirm the loop device is created

$ sudo losetup -P /dev/loop777 ./armbian.img

Use the parted tool to resize the partition

$ sudo parted /dev/loop777
# Execute within parted:
# Fix # Choose fix
# (parted) print free  # View current partitions and free space
# (parted) resizepart 1 100% # Choose to resize the first partition
# (parted) print         # Confirm partition information
# (parted) quit          # Exit

Resize the filesystem

 # Check the filesystem (optional but recommended)
$ sudo e2fsck -f /dev/loop777p1 
# Expand the filesystem to maximum
$ sudo resize2fs /dev/loop777p1  

4. Mount the armbian image filesystem

$ sudo mount /dev/loop777p1 orgin/  

5. Mount the exported filesystem

$  sudo mount ext4.img copy/

6. Replace the filesystem

$ sudo cp -rfp copy/* orgin/

7. Unmount

sudo umount copy/
sudo umount orgin/
sudo losetup -d /dev/loop777

8. The image modification is complete. The above steps can also be performed using the rootfs.sh script for updating.

RKNN Deployment

The system supports deploying rknn-toolkit2 and rknn_model_zoo. Click to go to the Rockchip official documentation.