Skip to content

qemu: Handle RHEL#4121

Closed
cgwalters wants to merge 1 commit into
coreos:mainfrom
cgwalters:no-system-if-arch-match
Closed

qemu: Handle RHEL#4121
cgwalters wants to merge 1 commit into
coreos:mainfrom
cgwalters:no-system-if-arch-match

Conversation

@cgwalters
Copy link
Copy Markdown
Member

I know that coreos-assembler is always based on Fedora today; we had a long ago effort to base it on RHEL which I think may still make sense at some point.

Anyways though I still sometimes install cosa inside my toolbox because it can be more convenient.

This change adds support for RHEL, there's two parts:

  • In the case where target arch == host arch, just run qemu-kvm; in fact on RHEL that's the only supported thing by default, full emulation is not enabled
  • Also we need /usr/libexec because libvirt is the primary interface

I know that coreos-assembler is always based on Fedora today;
we had a long ago effort to base it on RHEL which I think
may still make sense at some point.

Anyways though I still sometimes install cosa inside my toolbox
because it can be more convenient.

This change adds support for RHEL, there's two parts:

- In the case where target arch == host arch, just run qemu-kvm;
  in fact on RHEL that's the only supported thing by default, full
  emulation is not enabled
- Also we need /usr/libexec because libvirt is the primary interface
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Jun 2, 2025

@cgwalters: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/rhcos 3fbdb92 link true /test rhcos

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Comment thread mantle/platform/qemu.go
}
// This is hidden on RHEL as libvirt is the primary interface
if _, err := os.Stat(binary); err != nil && os.IsNotExist(err) {
binary = "/usr/libexec/qemu-kvm"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this stored at /usr/libexec/qemu-kvm for every architecture?

@dustymabe
Copy link
Copy Markdown
Member

Just spot checking a COSA container on an aarch64 host:

builder@coreos-aarch64-builder:~$ podman run -it --entrypoint /usr/bin/env  --rm quay.io/coreos-assembler/coreos-assembler:main ls -l /usr/bin/qemu-kvm /usr/bin/qemu-system-aarch64
ls: cannot access '/usr/bin/qemu-kvm': No such file or directory
-rwxr-xr-x. 1 root root 29488944 Apr  6 00:00 /usr/bin/qemu-system-aarch64

@cgwalters
Copy link
Copy Markdown
Member Author

Yeah sorry, I didn't test on Fedora. It's probably not worth the churn of trying this

@cgwalters cgwalters closed this Jun 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants