K3 平台 Yocto BSP 现已上线 —— 进展同步与上手指南

K3 平台 Yocto BSP 现已上线 —— 进展同步与上手指南

各位 K3 社区的开发者好,

我们基于上游 meta-riscv(commit 41a010a)扩展出了一套 K3 平台完整支持的 Yocto BSP,目前已合入并随 spacemit-yocto 仓库的 k3 分支发布。本贴同步当前进展、构建方式与镜像下载,方便大家快速上手。

一、项目简介

本层是面向 RISC-V 架构的 Yocto/OpenEmbedded BSP overlay,在上游 meta-riscv 基础上新增了对 SpacemiT K3 平台的完整适配。

核心特性:

  • 完整支持 K3 SoC 及多款板型(COM260、Pico-ITX 等)

  • 单一 MACHINE=k3 目标即可构建,多个板型共用同一镜像,对应设备树自动打包进 bootfs(详见 conf/machine/k3.conf

  • 提供两类开箱即用的镜像 target:

  • core-image-minimal:最小化 Linux 系统,适合快速启动、串口调试与基础网络测试

  • core-image-weston:Weston (Wayland) 图形环境,支持简单 GUI 应用,K3 GPU 加速可用

  • 每次构建同时输出两种烧录格式:

  • WIC 镜像.wic):可直接 dd 烧录到 SD 卡启动

  • Titan 分区镜像.ext4 + 固件二进制):配合 SpacemiT Titan 工具通过 USB 烧录

Yocto 兼容性说明:

当前基于 openembedded-corebitbakemaster 分支开发(Scarthgap 5.0 之后,朝 Styhead 5.1 方向),暂未在 stable release 分支上做兼容性测试。

二、支持的硬件

  • K3-Pico-ITX
  • K3-Com260

三、预编译固件下载

如果不想自行构建,可直接下载我们发布的预编译镜像:

Releases - K3_support_v1.0

四、构建环境要求

  • 推荐系统:Ubuntu 22.04 / 24.04,或 WSL2 等等价 Linux 环境

  • 基础工具:gitbashpython3,以及 Yocto 官方主机依赖

  • 我们内部基于 Ubuntu 24.04 LTS(x86_64) Docker 容器构建

容器内额外安装的依赖包:


sudo apt update

sudo apt install gawk wget git git-lfs diffstat unzip texinfo gcc g++ build-essential \

chrpath cpio python3 python3-pip python3-pexpect python3-git python3-jinja2 \

python3-subunit xz-utils zstd liblz4-tool lz4 lzop file locales curl make \

binutils cpp dosfstools iproute2 iputils-ping mesa-common-dev rpcsvc-proto \

subversion ssh sudo vim p7zip-full netcat-openbsd

sudo locale-gen en_US.UTF-8

五、快速上手(K3 平台)

1. 初始化工作区

使用 repo 工具拉取源码:


mkdir riscv-yocto && cd riscv-yocto

repo init -u https://github.com/yingjie-liu-spacemit/spacemit-yocto.git -b k3 -m tools/manifests/riscv-yocto.xml

repo sync

repo start work --all

2. 配置构建环境


. layers/meta-riscv/tools/envsetup.sh

3. 构建镜像

两种 target 均会同时产出 .wic(SD 卡镜像)与 .ext4 + Titan 分区镜像。

最小化 Linux —— 适合快速启动、串口调试与基础网络测试:


MACHINE=k3 bitbake core-image-minimal

Weston 图形环境 —— 基于 Wayland,可运行简单 GUI 应用,K3 GPU 加速可用:


MACHINE=k3 bitbake core-image-weston

4. 默认登录信息

用户名: root

密码 : bianbu

5. 镜像烧录与使用

构建产物位于 build/tmp/deploy/images/k3/

方式一:SD 卡烧录

/dev/sdX 替换为你的实际设备节点:


sudo dd if=core-image-minimal-k3.rootfs.wic of=/dev/sdX bs=4M conv=fsync status=progress

sudo sync

如果构建的是 core-image-weston,将文件名替换为对应镜像即可。

方式二:Titan 工具烧录

Titan 是 SpacemiT 自研的 USB 烧录工具,构建过程会同时产出兼容 Titan 的分区镜像(bootfs.ext4、rootfs.ext4 及固件二进制)。


六、依赖项目

七、参与贡献 & 反馈

  • 代码贡献:通过 GitHub Pull Request 提交补丁

  • 问题反馈:欢迎在 GitHub Issues 提交 Bug 或建议,也可以直接在本贴下回复交流

八、维护者

  • liuyingjie <yingjie.liu@spacemit.com>

后续我们会持续跟进 Yocto 上游分支演进,以及 K3 板型扩展、内核版本更新等工作,欢迎大家试用并反馈使用中遇到的问题。

1 个赞