ArmSoM-W3之RK3588 Debian11详解

1. 简介

  • RK3588从入门到精通
  • Debian 是⼀种完全⾃由开放并⼴泛⽤于各种设备的 Linux 操作系统。
  • Rockchip在官⽅Debian发⾏版的基础上构建和适配了相关硬件功能

2. 环境介绍

  • 硬件环境:

    ArmSoM-W3 RK3588开发板

  • 软件版本:

    OS:ArmSoM-W3 Debian11

3. Debian目录结构

debian

├── mk-base-debian.sh ##获取Debian基础包和编译

├── mk-rootfs-buster/bullseye.sh ##在Debian基础包的基础上适配Rockchip相关硬件加速包

├── mk-image.sh ##⽣成ext4的固件(生成linaro-rootfs.img)

├── mk-rootfs.sh ##指向具体Rootfs版本,⽬前有Buster、Bullseye两个版本。

├── overlay ##适配Rockchip平台共性配置⽂件。overlay目录会覆盖到根文件系统,来满足客制化的需求

├── overlay-debug ##系统常使⽤的调试⼯具

├── overlay-firmware ##⼀些设备firmware的存放,⽐如npu/dp等

├── packages ## 包含armhf arm64系统适配硬加速使⽤的预编译的包

├── packages-patches ##预编包,基于官⽅打上的补丁

├── scripts ## 编译,安装,打包的脚本

├── readme.md ## ⽂档指引

└── ubuntu-build-service ##从官⽅获取Debian发⾏版,可依赖包和定制安装相关包。

整个⽬录结构内容是通过Shell脚本来达到获取构建Linux Debian发⾏版源码,编译和安装适配Rockchip硬加速包的操作系统。

4. Debian编译和烧录

4.1 Debian编译方式1:

  • 最简单的方法就是SDK根目录下直接运行编译脚本

    bash 复制代码
    ./build.sh debian
  • 编译成功后会在rockdev目录下生成根文件镜像rootfs.img,用RKDevTool烧录即可。

4.2 Debian编译方式2:

  • 进⼊ debian/ ⽬录:

    bash 复制代码
    cd debian/
  • 第1步:构建64 位的基础 Debian 系统

    bash 复制代码
    RELEASE=bullseyeTARGET=desktop ARCH=arm64 ./mk-base-debian.sh

    编译完成会在 debian/ ⽬录下⽣成:linaro-bullseye-alip-xxxxx-1.tar.gz(xxxxx 表⽰⽣成时间戳)。

  • 第2步:构建 rk-debian rootfs (增加Rockchip相关配置适配包括相关硬件加速包)

    bash 复制代码
    VERSION=debug ARCH=arm64 ./mk-rootfs-bullseye.sh
  • 第3步:创建 ext4 镜像(linaro-rootfs.img),将编译后生成的binary根文件打包⽣成ext4的固件(生成linaro-rootfs.img)

    bash 复制代码
    ./mk-image.sh

4.3 build_debian函数

  • build.sh中的build_debian函数如下,可以看出是根据条件执行了mk-base-debian.sh和mk-rootfs-$RK_DEBIAN_VERSION.sh两个脚本,前者是Debian基础包和编译,后者是增加Rockchip相关配置适配。

    cpp 复制代码
    build_debian()
    {
    	ARCH=${RK_DEBIAN_ARCH:-${RK_KERNEL_ARCH}}
    	case $ARCH in
    		arm|armhf) ARCH=armhf ;;
    		*) ARCH=arm64 ;;
    	esac
    
    	echo "=========Start building debian ($ARCH) rootfs========="
    
    	cd debian
    	if [ ! -f linaro-$RK_DEBIAN_VERSION-alip-*.tar.gz ]; then
    		RELEASE=$RK_DEBIAN_VERSION TARGET=desktop ARCH=$ARCH ./mk-base-debian.sh
    		ln -rsf linaro-$RK_DEBIAN_VERSION-alip-*.tar.gz linaro-$RK_DEBIAN_VERSION-$ARCH.tar.gz
    	fi
    
    	VERSION=debug ARCH=$ARCH ./mk-rootfs-$RK_DEBIAN_VERSION.sh
    	./mk-image.sh
    
    	finish_build
    }

5. 系统基本信息查看

5.1 系统版本

cpp 复制代码
root@linaro-alip:~# cat /etc/debian_version 
11.6

5.2 如何查看Debian显⽰⽤X11还是Wayland?

在X11系统上:

bash 复制代码
$ echo $XDG_SESSION_TYPE
x11

Wayland系统上:

bash 复制代码
$ echo $XDG_SESSION_TYPE
wayland

5.3 如何查看系统分区情况

bash 复制代码
parted -l

ArmSoM 产品介绍: http://wiki.armsom.org/index.php/ArmSoM-w3

ArmSoM 技术论坛: http://forum.armsom.org/

相关推荐
Lupino7 小时前
我把 OpenClaw 装到服务器上后,才明白它真正该装在哪里(实战复盘)
运维
爱吃橘子橙子柚子3 天前
3CPU性能排查总结(超详细)【Linux性能优化】
运维·cpu
舒一笑5 天前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
NineData5 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
梦想很大很大6 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair6 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主6 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
甲鱼9297 天前
MySQL 实战手记:日志管理与主从复制搭建全指南
运维
碳基沙盒9 天前
OpenClaw 多 Agent 配置实战指南
运维
蝎子莱莱爱打怪12 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes