当前位置: 首页 > news >正文

基于 Rockchip 开发板的 openEuler 镜像的构建

目录
  • 一次构建
    • 自己实验

一次构建

参考流程:https://gitee.com/guningbo__buaa/rockchip/tree/master#rockchip

构建镜像需执行命令:

sudo bash build.sh -n NAME -k KERNEL_URL -b KERNEL_BRANCH -c BOARD_CONFIG -r REPO_INFO -d DTB_NAME -s SPEC

各个参数意义:

1.-n, --name IMAGE_NAME

构建的镜像名称,例如:openEuler-20.03-LTS-Firefly-RK3399-aarch64-alpha1 或 openEuler-21.09-Firefly-RK3399-aarch64-alpha1。

2.-k, --kernel KERNEL_URL

内核源码仓库的项目地址,默认为 https://gitee.com/openeuler/rockchip-kernel.git。可根据需要设置为 git@gitee.com:openeuler/rockchip-kernel.git 或 git@gitee.com:openeuler/kernel.git。

3.-b, --branch KERNEL_BRANCH

内核源码的对应分支,默认为 openEuler-20.03-LTS。下图是可选的:

截图 2025-09-09 15-13-20

4.-c, --config BOARD_CONFIG

开发板对应的 defconfig 的文件名称,对应 u-boot/configs 下 BOARD_CONFIG 文件,默认为 firefly-rk3399_defconfig;如需在 RK3588 开发板上使用预编译的 u-boot,可以将此项设置为 none。

5.-r, --repo REPO_INFO

开发源 repo 文件的 URL 或者路径,也可以是开发源中资源库的 baseurl 列表。

6.-d, --device-tree DTB_NAME

内核设备树中的设备名称,和开发板名称有一点区别,对应 kernel/arch/arm64/boot/dts/rockchip 下的 DTB_NAME.dts 文件,默认为 rk3399-firefly。

下面是一些 rk3588 的设备名称:

截图 2025-09-09 15-18-19

7.-s, --spec SPEC

构建的镜像版本:

  • headless,无图形界面版的镜像。
  • xfce,带 Xfce 桌面以及中文字体、输入法等全部配套软件。
  • ukui,带 UKUI 桌面及必要的配套软件(不包括中文字体以及输入法)。
  • dde,带 DDE 桌面及必要的配套软件(不包括中文字体以及输入法)。
  • rpmlist 文件路径,其中包含镜像中要安装的软件列表,内容参考 rpmlist。

默认使用 headless 选项。

8.-h, --help

显示帮助信息。

自己实验

自己试验阶段:

进入服务器 root@192.168.1.46 ,进入 /home/fan/rockchip/scripts 目录下,执行下面的指令:

[root@localhost scripts]# sudo bash build.sh -n openEuler-22.03-LTS-Station-M3-aarch64-alpha1 -k https://gitee.com/openeuler/rockchip-kernel.git -b openEuler-22.03-LTS-RK3588 -c none -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS-SP3/generic.repo -d rk3588s-roc-pc -s headless

在当前路径下新生成了 build 目录:

[root@localhost scripts]# ll
总用量 64
drwxr-xr-x 6 root root  4096  9月  9 14:09 bin
drwxr-xr-x 6 root root  4096  9月  9 15:03 build         //时间晚于其他,是新生成的
-rwxr-xr-x 1 root root  7811  9月  9 14:09 build_boot.sh
-rwxr-xr-x 1 root root 13682  9月  9 14:09 build_rootfs.sh
-rwxr-xr-x 1 root root  4919  9月  9 14:09 build.sh
-rwxr-xr-x 1 root root  4397  9月  9 14:09 build_u-boot.sh
drwxr-xr-x 2 root root  4096  9月  9 14:09 configs
-rwxr-xr-x 1 root root  7479  9月  9 14:09 gen_image.sh
-rw-r--r-- 1 root root  2122  9月  9 14:09 gen_image-x86_64.sh

build 目录下面内容如下:

[root@localhost build]# ls
2025-09-09  boot.img  kernel  log  rootfs.img  u-boot

其中 2025-09-09 中有压缩后的镜像文件:

[root@localhost build]# ls 2025-09-09/
openEuler-22.03-LTS-Station-M3-aarch64-alpha1.img.xz     //想要烧录到板子上需要解压缩
openEuler-22.03-LTS-Station-M3-aarch64-alpha1.img.xz.sha256sum

其中 kernel 目录就是内核源码目录,这里为了与板子设备树对应,现在有从其他机器上下载来的对应板子的设备树压缩包,将其解压并到 /home/fan/rockchip/scripts/build/kernel/arch/arm64/boot/dts/rockchip 目录下,之前的目录树文件目录先删除。

[root@localhost dts]# rm -rf rockchip/
[root@localhost dts]# cd /home/fan/
[root@localhost fan]# ls
rockchip  rockchip.tar.gz
[root@localhost fan]# tar -xzf rockchip.tar.gz -C /home/fan/rockchip/scripts/build/kernel/arch/arm64/boot/dts/
http://www.hskmm.com/?act=detail&tid=121

相关文章:

  • 【API接口】应用商店接口
  • MySQL锁
  • 异步电机的无速度传感器的矢量控制
  • 打包好dist文件 本地如何测?
  • 日期函数(mysql和oracle)
  • 图灵因果测试是由本框架(ECT-OS-JiuHuaShan)定义的下一代智能评估范式
  • QOJ 5357 芒果冰加了空气
  • AI智能体(Agent)开发实战:工业级项目案例驱动课
  • 易路联合智享会权威发布,2025《AI技术如何重构人才获取全链路》
  • java 开发中VO、PO、DO、DTO、BO、QO、DAO、POJO
  • Typora--Markdown语法
  • Perfetto数据流架构故障分析:带你研究 trace 为何丢失
  • 记一次 .NET 某中医药附属医院门诊系统 崩溃分析
  • 个人使用IDEA经验总结
  • JDK 24软件介绍
  • 【LangChain 核心模块 01】
  • 数据跨境学习笔记
  • NOIP 模拟赛十三
  • PageHelper
  • MathType7 功能分析
  • 低版本 Linux【16.04】如何安装 claude code
  • Redis数据持久化方案与集群部署
  • 什么,以太网能传CAN报文?
  • 物业管理小程序系统介绍
  • 阿里云文件上传oss存储
  • 快照同步思想
  • Windows-系统自动切换IPv4地址
  • 目录导航
  • sql嵌套查询
  • archlinux gnome48 顶部托盘选择