How to emulate a SATA disk drive in QEMU
Asked Answered
E

2

10

I want to emulate a SATA disk drive in QEMU to check a device driver I'm trying to develop. How can this be done? Would greatly appreciate your help.

Edible answered 19/1, 2018 at 23:44 Comment(0)
C
15

The Gentoo Wiki offers these parameters:

-drive id=disk,file=IMAGE.img,if=none \
-device ahci,id=ahci \
-device ide-hd,drive=disk,bus=ahci.0

Set emulation layer for an ICH-9 AHCI controller (not yet stable ) and use the specified image file for it. The AHCI emulation supports NCQ, so multiple read or write requests can be outstanding at the same time.

EDIT: A revision to the Wiki on 31 October 2018 suggests the AHCI controller may be stable now.

Credo answered 19/5, 2018 at 14:41 Comment(4)
Is the drive auto-mounted at boot? Or do you have to manually mount the drive once Qemu has booted Linux?Chloris
For me a device was automatically created but drive was not mounted. It will be visible with lsblk, you will need to format it (to ext4 for example) and mount it (normally to /mnt/data). This was useful for me digitalocean.com/community/tutorials/…Freda
ide-drive is deprecated, use ide-hd instead, got 'ide-drive' is not a valid device model name and found no explanation. some detailsGarboil
@Garboil thanks, I see you've also edited the Gentoo Wiki page also. I've updated the command to match your change.Credo
O
3

When using i386 or x86_64 with Q35 machine type(-M q35), IDE disk has been AHCI by default.

Orphanage answered 27/7, 2019 at 7:46 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.