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有依赖的功能得以正常运行。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions