跳转至

如何使用OCS RISCV

一、OCS RISC-V版本技术全解析

OCS RISC-V 版本基于 OCS 操作系统根社区源码进行构建,仅针对性地进行上游补丁回合与移植,因此软件包版本整体上和OC Stream版本保持一致。OCS RISC-V 版本当前包含超过 2,450软件包(覆盖OCS BaseOS + AppStream列表下99%软件包),支持C/C++、Golang、Python、Java等主流编程语言。不同架构下二进制软件包数量对比如下表所示:

架构 BaseOS Appstream
X86 743 6254
AArch 724 6178
LoongArch 753 6143
RISC-V 663 6144

OCS RISC-V版本的主要软件包功能如下:

1.1 内核、系统启动与系统服务

  • 内核:OCS RISC-V版本采用6.6.68版本内核基线,并移植了算能芯片原厂驱动以支持在对应芯片上启动。
  • 启动:在qemu环境中,采用opensbi+uboot固件拉起内核,随后配合systemd拉起操作系统各个服务;在实际物理机器(SG2042芯片,ip为玄铁C920)上,支持linuxboot和uefi两种启动方式拉起内核。
  • 系统服务:采用systemd管理操作系统服务;支持NetworkManager、 openssl、openssh等网络组件

1.2 开发与调测工具

  • gcc采用12.3,默认启用c++17,完善C++20支持,部分支持C++23标准;RISC-V下添加对 zba、zbb、zbc、zbs的新 ISA扩展支持;
  • clang/llvm版本为17.0.6、 boost升级至1.82.0,支持C++20标准;
  • 提供主流编程语言支持,支持Python3.11、Rust1.78、 Golang1.24、Php8.3;同时原生支持KonaJDK17;
  • bcc升级至0.29,支持kernel 6.6;新增rdmaucma、f2fs、futexctn调测工具。

二、如何使用RISC-V版本镜像

qemu软件包能够提供跨架构虚拟 RISC-V 芯片的能力,仅需短短的3条命令即可启动 OCS RISC-V 镜像,具体操作步骤如下:

  1. 安装qemu
dnf install qemu-system-riscv
  1. 下载镜像及启动固件(包含opensbi和uboot)
wget -r -np -nH --cut-dirs=6 -P ocs-riscv --reject="index.html*" https://mirrors.opencloudos.tech/opencloudos-stream/releases/23/images/riscv64/img/ && cd ocs-riscv
  1. qemu启动操作系统:
qemu-system-riscv64 \
  -machine virt \
  -smp 4 \
  -m 4G \
  -bios fw_payload.bin \
  -nographic \
  -object rng-random,filename=/dev/urandom,id=rng0 \
  -device virtio-rng-device,rng=rng0 \
  -drive file=ocs23-riscv64-developer-23-1-sda.qcow2,id=hd0 \
  -device virtio-blk-device,drive=hd0 \
  -netdev user,id=usernet,hostfwd=tcp::10000-:22 \
  -device virtio-net-device,netdev=usernet \
  -cpu rv64,sv39=on

等待systemd拉起各服务后,通过用户的账号密码进行登录(账号:root,密码:riscv666!),即可使用OCS-RISCV镜像。