ArmSoM-W3之RK3588 Debian11详解

2023-09-13 15:50:41

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根目录下直接运行编译脚本

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

4.2 Debian编译方式2:

  • 进⼊ debian/ ⽬录:

    cd debian/
    
  • 第1步:构建64 位的基础 Debian 系统

    RELEASE=bullseyeTARGET=desktop ARCH=arm64 ./mk-base-debian.sh
    

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

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

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

    ./mk-image.sh
    

4.3 build_debian函数

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

    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 系统版本

root@linaro-alip:~# cat /etc/debian_version 
11.6

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

在X11系统上:

$ echo $XDG_SESSION_TYPE
x11

Wayland系统上:

$ echo $XDG_SESSION_TYPE
wayland

5.3 如何查看系统分区情况

parted -l

在这里插入图片描述

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

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

更多推荐

华为数通方向HCIP-DataCom H12-831题库(单选题:81-100)

第81题关于结构化的网络故障排除流程中的确认故障阶段的描述,正确的是?A、应关注如何更好的解决故障而不论该故障是否属于自己的负责范围。B、应重视用户的意见,以用户的判断为依据来判断故障问题C、应使影响最小化,尽量不让其他人知道网络出现了故障。D、应确认排障工作是否属于自己的负责范围答案:D解析:当网络出现故障时,首先应

iOS技术博主指南:填写苹果应用上架中的隐私政策信息

摘要:本文将详细介绍iOS技术博主在苹果应用上架过程中如何填写隐私政策信息。博主可以通过AppStoreConnect为应用程序提供隐私政策网址和用户隐私选项网址,并了解如何填写隐私政策文本。本文将提供步骤和注意事项,帮助博主顺利完成隐私政策信息的填写。引言:为了保护用户的隐私权益,苹果要求所有上架的应用程序必须提供隐

计算机视觉与深度学习-全连接神经网络-训练过程-欠拟合、过拟合和Dropout- [北邮鲁鹏]

目录标题机器学习的根本问题过拟合overfitting泛化能力差。应对过拟合最优方案次优方案调节模型大小约束模型权重,即权重正则化(常用的有L1、L2正则化)L1正则化L2正则化对异常值的敏感性随机失活(Dropout)随机失活的问题欠拟合机器学习的根本问题机器学习的根本问题是优化与泛化问题。优化:是指调节模型以在训练

Arcgis提取每个像元的多波段反射率值

Arcgis提取每个像元的多波段反射率值数据预处理数据预处理阶段需要对遥感图像进行编辑传感器参数、辐射定标、大气校正、正射校正,具体流程见该文章裁剪研究区对于ENVI处理得到的tiff影像,虽然是经过裁剪了,但是还存在黑色的背景值,此时需要用按掩膜提取的方法删除研究区以外的部分。该方法的具体流程在文章中提到然后还需要对

【C++】map,set简单操作的封装实现(利用红黑树)

文章目录一、STL中set与map的源码二、红黑树结点的意义三、仿函数的妙用四、set,map定义迭代器的区别五、map,set迭代器的基本操作:1.begin()end()2.operator++3.operator--六、迭代器拷贝构造特殊处理7.源码RBTree.h2.MyMap.h3.MySet.h一、STL中

贝叶斯人工智能大脑与 ChatGPT

文章目录一、前言二、主要内容🍉CSDN叶庭云:https://yetingyun.blog.csdn.net/一、前言论文地址:https://arxiv.org/abs/2308.14732这篇论文旨在研究ChatGenerativePre-trainedTransformer(ChatGPT)在贝叶斯推理情况下解

List与ArrayList

目录一、List及其使用1.1List的概念1.2常见接口的介绍1.3List的使用二、线性表和顺序表2.1线性表2.2顺序表三、ArrayList介绍四、ArrayList的使用4.1ArrayList构造4.2ArrayList的常用方法4.3ArrayList的遍历4.4ArrayList的扩容机制五、Array

三分钟图解事务隔离级别

详细见:三分钟图解事务隔离级别,看一遍就懂数据库中事务指的是什么“锁"是数据库系统区别于文件系统的一个关键特性,其对象是事务,用来锁定的是数据库中的对象,如表、页、行等。锁确实提高了并发性,但是却不可避免地存在一些潜在的并发一致性问题。不过好在锁只会带来四种问题(丢失更新、脏读、不可重复读、幻读),如果可以防止这四种情

项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域)

优质项目专栏:提升自身的硬实力:汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用CSDN平台,自主完成项目设计升级,提升自身的硬实力。专栏订阅:项目大全提升自身的硬实力资料合集更优惠第一期资料合集:https://download.csdn.net/download/sinat_39620217/8

一文详解 requests 库中 json 参数和 data 参数的用法

在requests库当中,requests请求方法,当发送post/put/delete等带有请求体的请求时,有json和data2个参数可选。众所周知,http请求的请求体格式主要有以下4种:application/jsonapplicaiton/x-www-from-urlencodedmultipart/form

03-JavaScript-函数

函数就是将特定功能的代码封装起来,当需要实现特定功能时,直接调用函数实现即可。一、函数定义和使用1.1定义函数语句式命名函数functionsum(a,b){returna+b;}变量函数表达式是一个匿名函数,它没有函数名letsum=function(a,b){returna+b;};1.2调用函数按顺序传入参数co

热文推荐