RISC-V支持

简介

oepkgs.net 作为通用的软件分发平台,提供了包括 RISC-V 的比较完整的构建支持。

工程师可以使用此平台构建 Fedora 33 和 openEuler (oe1)的 RPM 以及发行版镜像(Image)。

编译方法简介

对于编译 RISC-V 的 RPM 包以及发行版镜像(Image)与 x86_64 及 aarch64 是一样的,唯一的不同 在与build_tag。

主要参考工程师操作指南

  • 完成注册流程

  • 通过任务管理文档管理自己的仓库和任务。

    • 在用户工程仓库中,创建任务管理 JSON 文件

    • RISC-V 支持要点:使用正确的 “build_tag”.

    • build_tag: 当前任务在koji系统上编译时使用的tag,目前有:

      • oe1-rv64: for openEuler RPM and Image

      • f33: for Fedora 33 RPM and Image

  • 根据 Gitee Webhook 配置指南设置Webhook触发。

  • 在配置完成后,就可以根据构建流程触发编译了。

  • Image 的编译请参考 发行版镜像

Image 编译成功范例

openEuler

Fedora

SD Image 使用方法

由于开发板的Image都是直接可用的,基本只需要“dd”到 SD 卡,插卡上电即可。 下面以 Allwinner D1 Nezha 为例,而 StarFive Starlight 的 Image 使用方法相同。

  • 解压镜像文件
unzstd  Fedora-riscv64-d1-developer-xfce-with-esp-Rawhide-latest-sda.raw.zst
  • 写入一个TF卡 (必须大于或等于16GB)
sudo wipefs -a /dev/sdX
sudo dd if=Fedora-riscv64-d1-developer-xfce-with-esp-Rawhide-latest-sda.raw of=/dev/sdX status=progress bs=4M

请在烧录前一定要使用'‘‘wipefs'‘‘清理备份的GPT分区表,否则会出现内核无法访挂载rootfs的问题。

对于dd命令,有一个GUI工具:balena-etcher-electron,简单好用,但wipefs依然是必须在之前执行,切记!

RAW Image 使用方法

预编译QEMU固件: fw_payload-uboot-qemu-virt-smode.bin

对于 Fedora 用户, 安装 qemu-system-riscv:

sudo dnf install qemu-system-riscv

启动 QEMU,不同的 RAW Image 只需要替换 “file=Fedora-Developer-Rawhide-20200108.n.0-sda.raw,“中的文件。

qemu-system-riscv64 \
-smp 8 -m 2G  -machine virt -nographic \
-bios fw_payload-uboot-qemu-virt-smode.bin \
-device virtio-blk-device,drive=hd0 \
-drive file=Fedora-Developer-Rawhide-20200108.n.0-sda.raw,format=raw,id=hd0 \
-object rng-random,filename=/dev/urandom,id=rng0 \
-device virtio-rng-device,rng=rng0 \
-device virtio-net-device,netdev=usernet \
-netdev tap,id=usernet,ifname=tap0,script=no,downscript=no \
-serial telnet:localhost:7000,server

Copyright © oepkgs.net All rights reserved.

版权所有 © oepkgs.net 保留所有权利

中国科学院软件研究所openEuler 社区共同发起并提供支持

京ICP备05046678号-13

Email: support(at)oepkgs.net