Bugzilla – Bug 1214773
ignition-fetch-offline failed on armv7l
Last modified: 2024-06-25 17:55:01 UTC
Hi, I am running openSUSE-MicroOS.armv7l-16.0.0-kvm-and-xen-Snapshot20230802.qcow2 image on armv7l KVM. I see that ignition-fetch-offline.service is failed (and whole the boot) in initrd due to the following: Aug 30 07:04:59 localhost ignition[427]: op(1): [started] loading QEMU firmware config module Aug 30 07:04:59 localhost ignition[427]: op(1): executing: "modprobe" "qemu_fw_cfg" Aug 30 07:04:59 localhost ignition[427]: op(1): [failed] loading QEMU firmware config module: exit status 1: Cmd: "modprobe" "qemu_fw_cfg" Stdout: "" Stderr: "modprobe: FATAL: Module qemu_fw_cfg not found in directory /usr/lib/modules/6.4.6-1-default\n" Aug 30 07:04:59 localhost ignition[427]: failed to fetch config: exit status 1: Cmd: "modprobe" "qemu_fw_cfg" Stdout: "" Stderr: "modprobe: FATAL: Module qemu_fw_cfg not found in directory /usr/lib/modules/6.4.6-1-default\n" Aug 30 07:04:59 localhost ignition[427]: failed to acquire config: exit status 1: Cmd: "modprobe" "qemu_fw_cfg" Stdout: "" Stderr: "modprobe: FATAL: Module qemu_fw_cfg not found in directory /usr/lib/modules/6.4.6-1-default\n" Aug 30 07:04:59 localhost ignition[427]: Ignition failed: exit status 1: Cmd: "modprobe" "qemu_fw_cfg" Stdout: "" Stderr: "modprobe: FATAL: Module qemu_fw_cfg not found in directory /usr/lib/modules/6.4.6-1-default\n" Aug 30 07:04:59 localhost systemd[1]: ignition-fetch-offline.service: Main process exited, code=exited, status=1/FAILURE Aug 30 07:04:59 localhost systemd[1]: ignition-fetch-offline.service: Failed with result 'exit-code'. Aug 30 07:04:59 localhost systemd[1]: Failed to start Ignition (fetch-offline). Aug 30 07:04:59 localhost systemd[1]: ignition-fetch-offline.service: Triggering OnFailure= dependencies. Issue here that qemu_fw_cfg.ko kernel module is missed on armv7l architecture. I've tried to enable it, but it seems that it is unsupported on armv7l architecture due to conflict with CONFIG_NO_IOPORT_MAP=y in the kernel config.
> I've tried to enable it, but it seems that it is unsupported on armv7l architecture due to conflict with CONFIG_NO_IOPORT_MAP=y in the kernel config. I think this can be avoided by just disabling non-MMIO ports if CONFIG_HAS_IOPORT_MAP=n. I'll try a patch.
You are right. qemu_fw_cfg module itself has runtime detection for MMIO vs IOMAP however both interfaces are required on compile time.
@kernel devs: I made a patch which I tested successfully and sent upstream: https://lkml.iu.edu/hypermail/linux/kernel/2308.3/07563.html (qemu-devel doesn't list it yet) Can you add this to the stable branch and set CONFIG_FW_CFG_SYSFS=m + CONFIG_FW_CFG_SYSFS_CMDLINE=y for armv7hl?
Could you give the lore URL to fetch the proper patch (or message-id to fetch)?
(In reply to Takashi Iwai from comment #4) > Could you give the lore URL to fetch the proper patch (or message-id to > fetch)? https://lore.kernel.org/lkml/2294036.ElGaqSPkdT@linux-e202.suse.de/
Thanks, now sent a PR to master branch. I backported to SLE15-SP6 branch, too.
I suppose the committed changes cover the problem. Feel free to reopen if the problem still persists.
(In reply to Fabian Vogt from comment #5) > (In reply to Takashi Iwai from comment #4) > > Could you give the lore URL to fetch the proper patch (or message-id to > > fetch)? > > https://lore.kernel.org/lkml/2294036.ElGaqSPkdT@linux-e202.suse.de/ It appears as uncommitted in upstream. Care to repost?