Armbian 系统定制¶
Note
K2B V1 使用 Kickpi-k2b-v1 镜像,K2B V2 使用 Kickpi-k2b-v2 镜像!
目前已适配 Armbian 系统的主板如下:
| 主板 | SOC | 平台 | 系统 |
|---|---|---|---|
| K2B | H618 | Allwinner | Ubuntu24.04 xfce、Ubuntu24.04 minimal |
| K2C | H618 | Allwinner | Ubuntu24.04 xfce、Ubuntu24.04 minimal |
| K7 | RK3576 | Rockchip | Ubuntu24.04 gnome、Ubuntu24.04 server |
| K7C | RK3576 | Rockchip | Ubuntu24.04 gnome、Ubuntu24.04 server |
| K7S | RK3576 | Rockchip | Ubuntu24.04 gnome、Ubuntu24.04 server |
Rockchip 系列¶
MIPI 显示屏配置¶
主板中已存在 dtbo 文件:
/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
操作示例(连接 MX080B2140 8寸屏):
$ 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
Armbian 镜像导出与修改¶
1. 导出文件系统至 U 盘:
2. 确认镜像大小,若导出镜像大于原镜像容量,需扩容:
sudo fallocate -l 9G armbian.img
sudo losetup -P /dev/loop777 ./armbian.img
sudo parted /dev/loop777
# (parted) print free
# (parted) resizepart 1 100%
# (parted) quit
sudo e2fsck -f /dev/loop777p1
sudo resize2fs /dev/loop777p1
3. 挂载并替换文件系统:
sudo mount /dev/loop777p1 orgin/
sudo mount ext4.img copy/
sudo cp -rfp copy/* orgin/
sudo umount copy/ orgin/
sudo losetup -d /dev/loop777
RK RKNN 部署¶
Rockchip 系列主板 Armbian 系统支持部署 rknn-toolkit2 和 rknn_model_zoo,详细步骤见 NPU 开发。
Allwinner 系列¶
GPU 测试¶
GLmark2 性能测试(连接 HDMI-1080P 显示器)
# 安装 GLmark2 工具
sudo apt install glmark2 glmark2-es2 -y
kickpi@kickpi-k2b-v2:~$ glmark2-es2
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: Mesa
GL_RENDERER: Mali-G31 (Panfrost)
GL_VERSION: OpenGL ES 3.1 Mesa 25.2.8-0ubuntu0.24.04.1
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 800x600 windowed
=======================================================
...
=======================================================
glmark2 Score: 216
=======================================================
GLmark2 性能测试(串口终端测试)
# 安装 GLmark2 工具
sudo apt install glmark2-es2-drm -y
kickpi@kickpi-k2b-v2:~$ glmark2-es2-drm
Warning: DRM_CAP_ASYNC_PAGE_FLIP not supported, falling back to 'mailbox' mode for SwapInterval(0).
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: Mesa
GL_RENDERER: Mali-G31 (Panfrost)
GL_VERSION: OpenGL ES 3.1 Mesa 25.2.8-0ubuntu0.24.04.1
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 1920x1080 fullscreen
=======================================================
[build] use-vbo=false:Error: Failed to become DRM master (hint: glmark2-drm needs to be run in a VT)
FPS: 278 FrameTime: 3.598 ms
=======================================================
glmark2 Score: 277
=======================================================
测试结果:外接显示屏可查看GPU渲染图形(得分约216),调试串口可查看GPU渲染日志(得分约277)
VPU 测试¶
# 安装GStreamer
sudo apt install -y gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad ffmpeg
ffmpeg -decoders 2>/dev/null | grep -E "v4l2|cedrus"
# 生成原始 YUV 源
ffmpeg -f lavfi -i testsrc=duration=5:size=1920x1080:rate=30 \
-pix_fmt yuv420p -f rawvideo temp.yuv -y
H.264 硬件解码测试
# 编码 H.264 (2Mbps CBR)
ffmpeg -s 1920x1080 -r 30 -pix_fmt yuv420p -i temp.yuv \
-c:v libx264 -b:v 2M -maxrate 2M -bufsize 4M \
-preset medium -x264-params "nal-hrd=cbr" test_h264.mkv -y
# 使用 GStreamer 强制 VPU 硬解
time gst-launch-1.0 filesrc location=test_h264.mkv \
! matroskademux ! h264parse ! v4l2slh264dec ! fakesink -t
Execution ended after 0:00:04.852539138
real 0m5.170s
user 0m4.379s
sys 0m0.160s
H.265 硬件解码测试
# 编码 H.265 (2Mbps CBR)
ffmpeg -s 1920x1080 -r 30 -pix_fmt yuv420p -i temp.yuv \
-c:v libx265 -b:v 2M -maxrate 2M -bufsize 4M \
-preset medium -x265-params "hrd=1" test_h265.mkv -y
# 使用 GStreamer 强制 VPU 硬解
time gst-launch-1.0 filesrc location=test_h265.mkv \
! matroskademux ! h265parse ! v4l2slh265dec ! fakesink -t
Execution ended after 0:00:04.438429614
real 0m4.684s
user 0m4.528s
sys 0m0.113s
测试结果:目前系统默认的软件版本无法支持FFmpeg硬件编解码;GStreamer 硬解码测试可行
通用修改¶
Chromium 浏览器¶
FireFox 浏览器¶
firefox 存在 profile 问题,重启后无法打开: