-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
qemu: Add support for full emulation #3201
Conversation
Agree that it will be more convenient to run emulated multi arch on x86_64 platform. Before making it to run, need to install related qemu-system-*.x86_64 packages and will consume more time to start/run emulation arch. LGTM and maybe need to add dependency packages when build cosa container.
|
Ah yes, thanks; forgotten I'd installed all the arch emulators in my dev container. Added those dependencies! |
Looks fine for me. Wondering how much bigger this will make the COSA container |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also looks sane to me!
I'm also wondering about how much bigger this will make the image. Possible improvements there:
|
I'd like to get to a point where it's really easy for our devs to just grab a session on a multi-arch builder, but until that happens this is a good alternative. Thanks for working on it. |
I like the "add this only for x86" option as that won't make other arches images bigger. If it's just for a couple MB however, it might not be worth it. |
I think availability of aarch64 is also much greater than ppc64le and s390x - specifically, I can definitely see some people using aarch64 for local workstations. So it's more "emulate ppc64le|s390x on one of aarch64|x86_64" which feels kind of odd to explicitly codify versus just installing all architecture emulators everywhere. Sizes are
It looks like The RPM layer in cosa is 2.48GB right now, so the new (re-compressed) data is just an additional 1% which seems negligible. My opinion here is that rather than trying to shave a few bits here and there, what we want to do is use |
Two different CI flakes:
|
I'm fine with the rationale in #3201 (comment). Leaving it up to @travier and @jlebon on the code review front since they already reviewed it deeper than I have. |
With this, one can e.g.: `cosa run --qemu-image fedora-coreos-36*s390x.qcow2 --arch s390x` This was surprisingly easy. It's tempting to do *some* full emulation testing for s390x and ppc64le on x86_64/aarch64. My immediate motivation however is setting up an environment to debug coreos/rpm-ostree#4146
With this, one can e.g.:
cosa run --qemu-image fedora-coreos-36*s390x.qcow2 --arch s390x
This was surprisingly easy. It's tempting to do some full emulation testing for s390x and ppc64le on x86_64/aarch64.
My immediate motivation however is setting up an environment to debug coreos/rpm-ostree#4146