[PATCH 00/13] qemu: promote to first-class controller component
Daniel Gomez <[email protected]> Fri, 12 Jun 2026 14:36:38 +0200
| Newsgroups | dev.linux.lists.kdevops |
|---|---|
| Message-ID | <[email protected]> |
Promote the kdevops QEMU build from an inline build_qemu target fragment to a first-class qemu component with its own Kconfig, role with lint coverage, documentation, and a make chain (qemu-verify, qemu-fetch, qemu-configure, qemu-build, qemu-install) that stays off the default path so QEMU only builds when an operator asks for it. The component defaults to the upstream QEMU git tree at the latest stable release, installs under the controller data path, and leaves the developer's tree alone after the initial clone. Integrates with the nixosfi imageless backend: QSU_QEMU_BINARY follows QEMU_BIN_PATH when CONFIG_QEMU is set, the qemu role is added to NIXOSFI_BRINGUP_DEPS so make bringup builds QEMU before deploying the qsu units, and a new nixosfi-qemu-build defconfig exercises the integration end-to-end. Signed-off-by: Daniel Gomez <[email protected]> --- - Series depends on: [email protected] - Series depends on: 20260612-b4-bootlinux-direct-boot-followups-v1-0-c72537a65d08@samsung.com --- Daniel Gomez (13): qemu: rename the build_qemu component to qemu qemu: make the role a first-class lint pass qemu: give the component its own Kconfig qemu: default to the upstream QEMU git tree qemu: install under the controller data path qemu: document the component qemu: track the latest stable upstream release qemu: infer QEMU_USE_DEVELOPMENT_VERSION from CONFIG_QEMU qemu: split into verify, setup and a build chain qemu: leave existing tree alone after the initial clone qemu: add the nixosfi-qemu-build defconfig qsu: follow QEMU_BIN_PATH when QEMU is enabled qemu: note the build-output capture limitation MAINTAINERS | 12 +++ Makefile | 11 +- Makefile.build_qemu | 58 ---------- defconfigs/cxl-switch | 12 +-- defconfigs/nixosfi-qemu-build | 27 +++++ docs/qemu.md | 86 +++++++++++++++ kconfigs/Kconfig.bringup | 1 + kconfigs/Kconfig.libvirt | 102 ++---------------- kconfigs/Kconfig.libvirt.cxl | 2 +- kconfigs/Kconfig.qemu | 118 +++++++++++++++++++++ kconfigs/Kconfig.qsu | 19 +--- playbooks/{build_qemu.yml => qemu.yml} | 2 +- playbooks/roles/build_qemu/defaults/main.yml | 16 --- playbooks/roles/build_qemu/tasks/main.yml | 109 ------------------- playbooks/roles/{build_qemu => qemu}/README.md | 14 +-- playbooks/roles/qemu/defaults/main.yml | 12 +++ .../tasks/install-deps/debian/main.yml | 4 +- .../tasks/install-deps/fedora/main.yml | 2 +- .../tasks/install-deps/main.yml | 16 ++- .../tasks/install-deps/redhat/main.yml | 2 +- .../tasks/install-deps/suse/main.yml | 10 +- playbooks/roles/qemu/tasks/main.yml | 107 +++++++++++++++++++ scripts/gen-nodes.Makefile | 19 ---- scripts/infer_last_stable_qemu.sh | 31 ++++++ scripts/nixosfi.Makefile | 4 + scripts/qemu.Makefile | 56 ++++++++++ 26 files changed, 503 insertions(+), 349 deletions(-) --- base-commit: a81b18438512916a3cc01a8215442db855bb2bbb change-id: 20260612-b4-qemu-component-a22ea2b8958a prerequisite-change-id: 20260526-new-backend-nix-systemd-4acc8f6fda8a:v2 prerequisite-patch-id: 59bf251bcb2ac8d795dcbaecc2183fc08786b56f prerequisite-patch-id: 577f3e86283ba1b3b0fd4e54ed33f3426bb02c5a prerequisite-patch-id: b119eb9108e209d4aae4d51ac6bf58b4e6aaba87 prerequisite-patch-id: 3344eb03a6d7e2200001de30c41141eb3e201f27 prerequisite-patch-id: a3c581a3537ffe434c7e80947e0226145e51f5dd prerequisite-patch-id: 64d464ecf4df220afc0e7464b959ee9a72f1f924 prerequisite-patch-id: 74e1e8faf47ccdde84d9082aaa5baa22357658c5 prerequisite-patch-id: ccb5bf1e572786008f077fa9dfa96376a4bea7b2 prerequisite-patch-id: 79c1364394cdb1a18590af8ae77c077143f4d0d0 prerequisite-patch-id: 21e63a581fead34533242a50960b6d2a4e880f3f prerequisite-change-id: 20260612-b4-bootlinux-direct-boot-followups-576043ba7f1f Best regards, -- Daniel Gomez <[email protected]>