Skip to content

回合QEMU fw_cfg对RISC-V架构的支持 #106

Description

@MahnoKropotkinvich

环境信息

【OS版本】openEuler-24.03-SP2

【内核版本】OLK-6.6

【硬件平台】qemu

【问题背景】

以openEuler为基座专门面向云原生应用开发的操作系统NestOS,在移植到riscv qemu虚拟化平台上时遇到了关键组件无法正常启动的问题。

经排查,是用于系统首次启动初始化组件ignition无法读取配置文件导致的,此配置文件的传入需要使用qemu_fw_cfg功能。进一步深入调查后,发现系统没有打开对应的配置项CONFIG_FW_CFG_SYSFS,而此配置项在riscv架构下使用menuconfig亦无法找到,最终发现这是因为qemu_fw_cfg功能在6.6版本下并没有对riscv架构进行适配。

通过从上游版本回合qemu_fw_cfg对riscv架构的适配,问题得以解决。

【新特性描述】

qemu_fw_cfg 是 QEMU 虚拟化环境中的一个设备,它允许虚拟机与宿主机之间进行配置和通信。用于在宿主机(Host)与虚拟机(Guest)之间传递配置数据。

cloud-initignition等云原生初始化工具依赖此功能来读取宿主机传递的元数据(如网络配置、用户数据等)来自动配置虚拟机。

此功能的回合使openEuler RISC-V在云原生场景中具备与x86_64、AArch64等架构一致的自动化初始化能力,支持在无网络条件下完成虚拟机的首启配置,提升了在云环境中的部署效率和可用性,为RISC-V架构在云原生生态中的落地奠定基础。

【实际结果】
在RISC-V qemu虚拟机中进行测试,能正常启动,对qemu fw_cfg有依赖的功能得以正常运行。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions