openKylin 正式推出 RISC-V 统一镜像烧录工具,破解镜像碎片化

目前,openKylin已支持多款RISC-V架构的硬件平台,但由于各RISC-V厂商硬件接口定义不统一,导致各RISC-V平台的img镜像分区格式及内容不一致,从而无法制作出统一的img镜像。

因此,为解决RISC-V镜像碎片化问题,openKylin社区RISC-V SIG团队开发了RISC-V统一镜像烧录工具,通过发布RISC-V统一镜像烧录工具以及RISC-V架构统一的iso镜像,用户可以使用烧录工具并基于统一iso镜像来构建和烧录适用于某款RISC-V硬件平台的img镜像。目前烧录工具支持VisionFive2LicheePi4aMilk-v-pioneer三款平台,后续还会增加支持更多的平台。下面,我们将针对此工具进行详细介绍。

一、技术框架

下图展示了RISC-V统一镜像烧录工具的工作流程,具体可分为构建镜像烧录镜像两部分。

  • 构建镜像部分首先构建出空镜像,根据选定的RISC-V硬件平台对镜像进行分区;并在镜像分区配置启动相关文件;而后,解压iso镜像文件并拷贝至img镜像rootfs分区,在boot分区中安装内核和设备树文件;最后在rootfs分区中安装该RISC-V平台独有的GPU、蓝牙、电池等模块的驱动,修改镜像中的部分系统配置并增加常用应用。

  • 烧录镜像部分需要使用构建的img镜像或下载的img镜像,首先读取并选择接入的存储介质,选择完毕后对存储介质进行格式化操作,之后分析img镜像适用的RISC-V硬件平台种类并将镜像烧录到选择的存储介质中,最后根据RISC-V硬件平台种类对烧录后的存储介质进行剩余空间分配操作。

二、功能介绍

1、构建镜像功能

目前烧录工具支持VisionFive2、LicheePi4a、Milk-v-pioneer三款硬件平台的镜像构建功能,之后社区RISC-V SIG团队会逐步对其他RISC-V硬件平台进行支持。下图分别为烧录工具首页以及构建功能界面。

2、烧录镜像功能

目前烧录工具支持烧录镜像到sd卡中,并通过sd卡启动RISC-V硬件平台。下图为烧录镜像功能界面。

三、未来展望

后续,RISC-V统一镜像烧录工具会发布在软件源中。社区用户当前可以在openKylin X86架构中从以下链接下载deb包:

https://gitee.com/openkylin/kylin-riscv-burner/blob/temp-deb/kylin-riscv-burner_1.0.0_amd64.deb

并执行以下命令进行安装:

sudo dpkg -i kylin-riscv-burner_1.0.0_amd64.deb

待烧录工具发布到软件源中之后,可执行以下命令安装烧录工具:

sudo apt install kylin-riscv-burner

同时,大家可以从openKylin官网下载RISC-V架构的iso配合烧录工具使用。后续社区将逐步对其他RISC-V硬件平台进行支持,并且会尝试在构建镜像功能中对精简桌面、全量桌面等多种桌面模式进行支持,以及尝试在烧录镜像功能中对烧录到板载emmc进行支持等。

四、关于RISC-V SIG

openKylin RISC-V SIG主要负责社区RISC-V架构开源软件包的维护,发布openKylin的RISC-V版本,进行软件包构建、系统构建等工作,欢迎所有对RISC-V开发平台技术方向感兴趣的爱好者加入到RISC-V SIG!

SIG主页:

https://gitee.com/openkylin/community/tree/master/sig/RISC-V