Thanks for figuring out that my QEMU version was too old! To get the newer version of QEMU, I ended up compiling v9.1.0 from source. Ubuntu now lists this version of QEMU as:

QEMU emulator version 9.1.0
Copyright (c) 2003-2024 Fabrice Bellard and the QEMU Project developers

I browsed the files for the v9.1.0 here [1] and saw that eMMC code exists. I ran

./qemu-system-aarch64 -machine virt -device help | less

to check if there was an eMMC device for the virt board but I couldn't find one. Does anyone know how to use an eMMC? Or if it's possible to emulate an eMMC right now with the virt board on an arm64 guest?

Thanks,
Darius

On 2024-09-19 21:51, Mihai Moldovan wrote:

* On 9/19/24 23:59, darius.mca...@goldkey.com wrote:

[...]
QEMU emulator version 8.2.2 (Debian 1:8.2.2+ds-0ubuntu1.2)
Copyright (c) 2003-2023 Fabrice Bellard and the QEMU Project developers

[...]

For the virt board, thesdhci-pci host controller is the only one I saw supported, so I decided to use that. I didn't see an eMMC device, so I chose sd-card. I'm hoping that I can create a drive that provides an eMMC image to the sd-card that will allow me to test my SD host and eMMC drivers. But I don't know how to create the eMMC image. I read the qemu-img documentation but I'm still unsure how to do this.

So, my question is, how do I correctly emulate an eMMC on the virt board?

I can't directly help with that question, but your Qemu version is too old to support eMMC anyway.

According to https://gitlab.com/qemu-project/qemu/-/commit/e2f346aa98646e84eabe0256f89d08e89b1837cf you'll have to upgrade to 9.1.0.

Since you seem to be using Debian: unfortunately, bookworm-backports only contains 9.0.2, just like trixie. Sid, however, does contain 9.1.0, which is your target version. Another viable option might be to backport the version from sid to bookworm yourself, but I haven't checked the dependencies to figure out whether that's easily possible.

Mihai


Links:
------
[1] https://gitlab.com/qemu-project/qemu/-/blob/v9.1.0/hw/sd/sd.c

Reply via email to