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/

相关推荐
XUE-521131418 分钟前
路由策略与路由控制实验
运维·网络·网络协议·智能路由器
BullSmall1 小时前
linux zgrep命令介绍
linux·运维
A9better1 小时前
嵌入式开发学习日志36——stm32之USART串口通信前述
stm32·单片机·嵌入式硬件·学习
思诺学长2 小时前
BMS(电池管理系统)的主要功能和架构简述
单片机·嵌入式硬件
emma羊羊2 小时前
【文件读写】图片木马
linux·运维·服务器·网络安全·靶场
你疯了抱抱我3 小时前
【SSH】同一局域网下windows使用Xshell SSH连接另一台 ubuntu 22.04 电脑
运维·ubuntu·ssh
2301_818411553 小时前
Ubuntu之apt更新源
linux·运维·ubuntu
CS Beginner4 小时前
【Linux】Mysql的基本文件组成和配置
linux·运维·mysql
iconball5 小时前
个人用云计算学习笔记 --20 (Nginx 服务器)
linux·运维·笔记·学习·云计算
Wang's Blog5 小时前
Linux小课堂: 在 VirtualBox 虚拟机中安装 CentOS 7 的完整流程与关键技术详解
linux·运维