ITX-RK3588J在Ubuntu22.04上进行SDK编译与烧写

2023-11-07

一、SDK下载

在Window上下载好最新的SDK,并把他放拉到虚拟机里的Ubuntu22.04上

 二、搭建编译环境

Firefly维基教程上,需要安装编译环境,直接使用 sudo apt-get install 软件名,安装全部软件。  

sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool \
expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \
qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib
unzip \
device-tree-compiler ncurses-dev \

 三、SDK初始化与更新

重点看:README-IMPORTANT.md  这个文件夹的教程

3.1 SDK初始化

 下载rk3588_repo_sdk_v0.1.0a.7z、bundle文件夹和md5sum.txt等SDK所在文件夹中的所有文件。将该大小约为12GB的资源移动至虚拟机ubuntu内后,输入以下命令计算MD5码,并对比所给md5sum.txt内的完整文件的MD5码。

md5sum rk3588_repo_sdk_v0.1.0a.7z 

 确保该文件在下载和传输的过程中未损坏后,解压该文件,并进入解压得到的文件夹rk3588中,使用repo工具 链接Firefly仓以进行SDK的初始化。

cd rk3588 
.repo/repo/repo sync -l 
.repo/repo/repo start rk3588/firefly --all

文件夹前面是.在ubuntu是看不到的,要用命令查看,如果不是最新版的SDK可能会报错,记得找最新的SDK。

3.2 SDK更新

检查当前SDK的版本,以内核版本为例,进入rk3588中的kernel文件夹,使用"git tag"命令即可查看当前版本号。使用以下命令将先前下载得到的bundle文件夹里的文件拷贝至rk3588文件夹中后,执行更新脚本。

cp bundle/* rk3588/ 
./update.sh 

直接执行脚本可能报错,要用 chmod 777 文件名  给脚本可执行权限。

四、固件编译

4.1 下载Ubuntu根文件系统

 参考Firefly提供的Wiki教程进行Ubuntu固件的编译。 由于是交叉编译,在编译固件之前需要下载根文件并放在SDK路径下。

 在ITX-3588J官方资料下载页内可以找到下载链接。完成下载后拉到虚拟机ubuntu22.04上,使用以下命令进行解压和重命名

7z x Ubuntu20.04-Gnome_RK3588_v2.11-52a_20220421.img.7z 
mkdir ubuntu_rootfs 
mv Ubuntu20.04-Gnome_RK3588_v2.11-52a_20220421.img ubuntu_rootfs/rootfs.img 

确保进入rk3588目录下,使用以下命令根据板子型号选择配置文件,并直接编译完整的固件。各种型号板子的配置文件都存在于SDK内,比如该配置文件在device/rockchip/rk3588/目录下。

./build.sh itx-3588j-ubuntu.mk 
./build.sh 

编译生成的固件会部分以链接的形式保存在rockdev目录中,可以通过"ls -l"命令查看链接指向的情况。 完整的Ubuntu固件会在rockdev/pack/中。如果只需要进行部分固件编译,请参考Wiki教程中的"部分编译"部分调整编译命令。

五、烧写固件

编译生成的完整固件会保存到 rockdev/pack/ 目录。

把生成的文件拉回Window电脑上用瑞微芯开发工具烧写,或直接在ubuntu下用官方提供的linux软件烧写。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ITX-RK3588J在Ubuntu22.04上进行SDK编译与烧写 的相关文章

  • 卷曲选项 -:未知

    我运行此命令在 ubuntu 18 04 上安装更新版本的 nodejs curl sL https deb nodesource com setup 12 x sudo E bash 我收到错误 curl 选项 未知 我在多个系统上尝试过
  • Ubuntu 12.10 libgtk-3-0 缺少符号

    我正在运行 Ubuntu 12 10 不知何故我的 libgtk 3 0 搞砸了 当尝试运行许多不同的应用程序时 我收到如下错误 gedit symbol lookup error usr lib libgtk 3 so 0 undefin
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 有谁知道在哪里定义硬件、版本和序列号。 /proc/cpuinfo 的字段?

    我想确保我的 proc cpuinfo 是准确的 目前它输出 Hardware am335xevm Revision 0000 Serial 0000000000000000 我可以在代码中的哪里更改它以给出实际值 这取决于 Linux 的
  • 为什么我可以直接从 bash 执行 JAR?

    我是一个长期从事 Java 工作的人 并且知道运行带有主类的 JAR 的方法MANIFEST MFJar 中的文件很简单 java jar theJar jar 我用它来启动 Fabric3 服务器 包含在bin server jar在其标
  • 为arm构建WebRTC

    我想为我的带有arm926ej s处理器的小机器构建webrtc 安装 depot tools 后 我执行了以下步骤 gclient config http webrtc googlecode com svn trunk gclient s
  • PHP 无法打开流:是一个目录

    非常简单的 PHP 脚本 我在我亲自设置的 Ubuntu Web 服务器上的 EE 模板中运行 我知道这与权限有关 并且我已经将我尝试写入的目录的所有者更改为 Apache 用户 我得到的错误是 遇到 PHP 错误 严重性 警告 消息 fi
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • 查找哪些页面不再与写入时复制共享

    假设我在 Linux 中有一个进程 我从中fork 另一个相同的过程 后forking 因为原始进程将开始写入内存 Linux写时复制机制将为进程提供与分叉进程使用的不同的唯一物理内存页 在执行的某个时刻 我如何知道原始进程的哪些页面已被写
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • Gtk-ERROR **:检测到 GTK+ 2.x 符号

    我正在使用 gcc 编译我的 c 应用程序 并使用以下标志 gcc evis c pkg config cflags libs gtk 2 0 libs clutter gtk 1 0 libs gthread 2 0 Wall o evi
  • 我不明白 execlp() 在 Linux 中如何工作

    过去两天我一直在试图理解execlp 系统调用 但我还在这里 让我直奔主题 The man pageexeclp 将系统调用声明为int execlp const char file const char arg 与描述 execl exe
  • waitpid() 的作用是什么?

    有什么用waitpid 它通常用于等待特定进程完成 或者如果您使用特殊标志则更改状态 基于其进程 ID 也称为pid 它还可用于等待一组子进程中的任何一个 无论是来自特定进程组的子进程还是当前进程的任何子进程 See here http l
  • Docker 错误绑定:地址已在使用中

    当我跑步时docker compose up在我的 Docker 项目中 它失败并显示以下消息 启动用户层代理时出错 监听 tcp 0 0 0 0 3000 绑定 地址已在使用中 netstat pna grep 3000 显示这个 tcp
  • Linux:如何设置进程的时区?

    我需要设置在 Linux 机器上启动的各个进程的时区 我尝试设置TZ变量 在本地上下文中 但它不起作用 有没有一种方法可以使用与系统日期不同的系统日期从命令行运行应用程序 这可能听起来很愚蠢 但我需要一种sandbox系统日期将被更改的地方
  • 子目录中的头文件(例如 gtk/gtk.h 与 gtk-2.0/gtk/gtk.h)

    我正在尝试使用 GTK 构建一个 hello world 其中包括以下行 include
  • C++ Boost ASIO 简单的周期性定时器?

    我想要一个非常简单的周期性计时器每 50 毫秒调用我的代码 我可以创建一个始终休眠 50 毫秒的线程 但这很痛苦 我可以开始研究用于制作计时器的 Linux API 但它不可移植 I d like使用升压 我只是不确定这是否可能 boost
  • Fortran gfortran linux 中的“分段错误(核心转储)”错误

    我正在创建一个程序 该程序将分析目录中的文件 fits 然后它将在另一个目录中创建另一个文件 txt 它只是一个转换器 当我尝试执行该程序 编译正常 时 它给了我一条错误消息 程序收到信号 SIGSEGV 分段错误 无效的内存引用 此错误的
  • 如何查看 Ubuntu 上的 Binutils 版本?

    我已经搜索过 但没有找到一个选项来告诉我我的 Ubuntu 上有哪个版本的 binutils 或者至少我不知道如何解释它 gcc v 没有透露任何有关 binutils 的信息 ld v 告诉我GNU ld GNU Binutils for
  • Pycharm 中的 Traitlets.traitlets.TraitError

    我是Python的初学者 我面临以下问题 每当我启动 pycharm 社区版 版本 5 0 3 时 Python 控制台无法启动并显示以下错误 usr bin python2 7 usr lib pycharm community help

随机推荐

  • Docker 安装hadoop

    一 实验环境 实验设备 硬件 单核CPU 内存1G 软件 Ubuntu 16 04操作系统 Docker Hadoop 二 实验原理及内容 1 在Ubuntu系统中安装Docker Apt install docker 复制代码 Apt g
  • Kendo UI开发教程(9): Kendo UI Validator 概述

    Kendo UI Validator 支持了客户端校验的便捷方法 它基于HTML 5 的表单校验功能 支持很多内置的校验规则 同时也提供了自定义规则的便捷方法 完整的Kendo UI 的Validator可以参见API 文档 HTML 5
  • SQL优化

    1 应尽量避免在 where 子句中使用 或 lt gt 操作符 否则将引擎放弃使用索引而进行全表扫描 2 对查询进行优化 应尽量避免全表扫描 首先应考虑在 where 及 order by 涉及的列上建立索引 3 应尽量避免在 where
  • Java 集合 (Set, TreeSet, HashSet)

    目录 1 Set 2 TreeSet 2 1 自然排序 2 2 比较器排序 2 3 两种比较方式小结 3 HashSet 3 1 哈希值 3 2 底层原理 4 小结 1 Set Set 集合特点 可以去除重复 存取顺序不一致 没有带索引的方
  • 手机快充协议

    高通 QC2 0 QC3 0 QC3 5 QC4 0 QC5 0 FCP SCP AFC SFCP MTKPE1 1 PE2 0 PE3 0 TYPEC PD2 0 PD3 0 3 1 VOOC 支持 PD3 0 PD2 0 支持 QC3
  • UML用例图的作用、功能模块图作用与数据库设计三者关系

    这周周一 我们导师要求小组成员开会 我们分别汇报自己的工作 在会中 谈到了用例图 于是我们开始对大家熟悉的用例图进行探讨 经过探讨与自己的思考 我认为应该从以下几个问题来弄清楚用例图的作用 1 用例图由谁来做 为谁做 做完了有什么用途 用例
  • Java8 stream 根据对象字段去重

    public class Java8StreamTest public static class Book private String id private String name public Book String id String
  • attention注意力机制学习

    参考资料 目前主流的attention方法都有哪些 JayLou娄杰的回答 知乎 目前主流的attention方法都有哪些 张戎的回答 知乎 Attention机制解读 高峰OUC的文章 知乎 Transformer详解 一 Attenti
  • linux:filezilla连接ubuntu失败,提示 状态:尝试连接“ECONNREFUSED - 连接被服务器拒绝”失败。

    问题 如上 解决办法 发现ping的通 说明是别的问题 可能是端口号不对 sftp与ftp是否没有区别 超级向向阳的回答 知乎 ftp和sftp有什么区别 ftp和sftp哪个速度快 贝锐花生壳官网 ps 如果是连接超时 注意是否开启了防火
  • 记一次sqlmap的--os-shell的实战

    一 站点内容获取 描述 一个后台管理界面 通常我们会尝试使用弱口令爆破 sql注入 万能密码等 在这个站点我们尝试了弱口令爆破没有成功 但尝试sql注入成功了 并且发现了一系列的struts2框架漏洞 并成功接管了站点的数据库等等 二 站点
  • 2023华为OD机试真题【统一限载最小值】【2023.Q1】

    题目描述 火车站附近的货物中转站负责将到站货物运往仓库 小明在中转站负责调度2K辆中转车 K 辆干货中转车 K 辆湿货中转车 货物由不同供货商从各地发来 各地的货物是依次进站 然后小明按照卸货顺序依次装货到中转车上 一个供货商的货只能装到一
  • 如何在 Linux 中将文件编码转换为 UTF-8

    转自 https linux cn article 7959 1 html 在这篇教程中 我们将解释字符编码的含义 然后给出一些使用命令行工具将使用某种字符编码的文件转化为另一种编码的例子 最后 我们将一起看一看如何在 Linux 下将使用
  • Supermap聚合服务

    大家好 下面呢 我们来学习supermapserver的聚合服务 我们主要学习三个方面的内容 首先呢 我们来了解一下什么是聚合服务 它的一个含义那么其次呢 我们来了解一下聚合服务的原理啊 最后呢 我们来学习一下 如何去创建 聚合服务创建聚合
  • 使用Mathjax网页插入公式

    本文关于 想在网页里面插入公式 找到了 Mathjax 这里说怎么设置 具体来说是怎么在博客园设置 以及一点点如何使用 设置方法 需要开通js的权限 进入 设置 在页脚Html代码输入
  • eggjs中使用jwt

    开发接口时需要生成token 和校验token egg jwt就是一个很不错的插件 下边就教大家如何使用 废话不多说 先看效果 开始教程 安装包 yarn add egg jwt 全局引入jwt config plugin js modul
  • 真正的小说 真正的生活 真正的蜕变 真正的品味

    记得以前曾经看过这篇文章 但是没有看完全 今天蓦然在杜的空间再次看到这 篇文章 决定再看一次 而且 很认真的看完了 感觉现在的自己跟以前又不一样了 很 多的感触只是埋在心里 慢慢消融 慢慢体味 同时慢慢成长着 从他的字里行间我看得 到他是用
  • 计算机网络八和ctf做题七

    计算机网络学习了一段时间 因为里面有很多要记住的东西 而且还有很多协议有的还比较抽象 所以学着学着发现把那些协议都搞混了 所以这篇文章将要讲一些重要协议 点对点协议 点对点协议 点对点协议简称PPP协议 工作在数据链路层 设计目的主要是用来
  • linux下查看磁盘空间

    突然系统不能使用了 可以看一下是不是磁盘占满 了 首先登录到服务器 我的是mac 直接登录 使用ssh登录ssh t root 104 224 166 36 p27988 windows系统也可以使用 xshell来登录 命令行 df df
  • Debian下安装中文包和输入法【解决无法显示中文问题】

    以前一直用的都是ubuntu 输入法之类的点点鼠标就 了 最近需要使用debian了 安装了一个桌面版 vim写代码感觉有点恶心 安装的时候全部选择英文 运行起来发现竟然无法显示中文 输入法也没找到在哪里设置 我是在虚拟机下安装的 可能会有
  • ITX-RK3588J在Ubuntu22.04上进行SDK编译与烧写

    一 SDK下载 在Window上下载好最新的SDK 并把他放拉到虚拟机里的Ubuntu22 04上 二 搭建编译环境 Firefly维基教程上 需要安装编译环境 直接使用 sudo apt get install 软件名 安装全部软件 su