-
Notifications
You must be signed in to change notification settings - Fork 629
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
qemu, aarch64: use EDK2 from "Firmware/edk2 20231213 patches" (needed for QEMU v8.2.0) #2061
Conversation
QEMU 8.2.0 is likely to be released with an incompatible version of EDK2, on 2023-12-12 or 2023-12-19: We have to release a new version Lima with this PR before that. |
7e6e3c6
to
c482d2b
Compare
edk2-aarch64-code.fd
(needed for QEMU 8.2 to retain compatibility)
pkg/limayaml/defaults.go
Outdated
(2023-12-12) that can be opted-in with | ||
`qemu-system-aarch64 -fw_cfg opt/org.tianocore/UninstallMemAttrProtocol,string=y`. | ||
However, this workaround is not likely going to be included in | ||
[QEMU v8.2.0](https://gitlab.com/qemu-project/qemu/-/issues/1990#note_1688360743). |
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.
( Last-minute negotiation is on going here: https://lists.gnu.org/archive/html/qemu-devel/2023-12/msg01694.html )
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.
QEMU v8.2.0 will be released on 2023-12-19: https://wiki.qemu.org/Planning/8.2
If the patches (https://lists.gnu.org/archive/html/qemu-devel/2023-12/msg01694.html ) are not merged as of 2023-12-18, we will have to merge this PR and release Lima v0.19.1.
If the patches can be merged, we can just close this PR.
c482d2b
to
88f8c27
Compare
I'm somewhat confused how these patches are related to the M3 issues on QEMU. Are the patches necessary for most images to work at all on Apple chips, include M1 and M2, and without them QEMU 8.2.0 is broken for all distros except Debian? But QEMU 8.1.0 is still good even without the firmware update? And will the new firmware also fix the problem that even older QEMU versions don't work on M3? Or is that a completely separate issue? And finally (although maybe not interesting): will the new firmware fix the M3 problem on older QEMU versions, like 8.0.0 or 8.1.0? Or does the new firmware require the new QEMU version? |
The story is quite complicated. tianocore/edk2#4418 ( The QEMU patches (https://lists.gnu.org/archive/html/qemu-devel/2023-12/msg01694.html) bumps up EDK2 This revision should work on any chip, but I only tested it on M2 Pro.
Yes, necessary. Without the patches, QEMU v8.2.0-rc4 cannot boot most images on any chip.
Yes, still good, except on M3.
Separate.
The former, IIUC |
So (given that Rancher Desktop bundles QEMU 8.0.0 with the aarch64 version right now, and doesn't care about which version from homebrew is installed), we should be able to just replace the firmware in 8.0.0 and things should continue to work on M1 and M2, and start working for M3? That sounds great, if true.
Yeah, me neither. Making it the second Apple related issue I cannot reproduce and verify (the |
I believe so. |
The patches https://lists.gnu.org/archive/html/qemu-devel/2023-12/msg01694.html aren't likely going to be included in QEMU v8.2.0, so I'll merge this PR and release Lima v0.19.1 today. |
The "Firmware/edk2 20231213" patches <https://lists.gnu.org/archive/html/qemu-devel/2023-12/msg01694.html> are necessary to boot most aarch64 images (except Debian, which does not use UEFI shim). The patches are proposed for the QEMU v8.2.0 milestone, but likely to be postponed to v8.2.1. Until the patches get accepted in the QEMU upstream, Lima fetches the patched edk2 binary from <https://gitlab.com/kraxel/qemu/-/tags/firmware%2Fedk2-20231213-pull-request>. Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
88f8c27
to
b0bcd65
Compare
The "Firmware/edk2 20231213" patches https://lists.gnu.org/archive/html/qemu-devel/2023-12/msg01694.html
are necessary to boot most aarch64 images (except Debian, which does not use UEFI shim).
The patches are proposed for the QEMU v8.2.0 milestone, but likely to be postponed to v8.2.1.
Until the patches get accepted in the QEMU upstream, Lima fetches the patched
edk2 binary from https://gitlab.com/kraxel/qemu/-/tags/firmware%2Fedk2-20231213-pull-request.