On Mon, Mar 9, 2015 at 4:49 PM, Laszlo Ersek <[email protected]> wrote:
> On 03/09/15 21:03, JCA wrote:
>> On Mon, Mar 9, 2015 at 1:53 PM, Laszlo Ersek <[email protected]> wrote:
>>> On 03/09/15 20:36, JCA wrote:
>>>> On Mon, Mar 9, 2015 at 1:15 PM, Laszlo Ersek <[email protected]> wrote:
>
>>>>> Option 2 should suffice for quick & dirty testing, if you can get
>>>>> virtio-blk-pci working.
>>>>
>>>> Thanks for your help again. Embarrassingly though, still no cigar here:
>>>>
>>>> qemu-system-i386: -device virtio-blk-pci,drive: Property
>>>> 'virtio-blk-device.drive' can't find value 'on'
>>>>
>>>> This keeping exactly the same command line as above, but replacing
>>>> virtio-blk-device with virtio-blk-pci.
>>>
>>> What qemu are you using? My guess is "ancient". That command line works
>>> for me.
>>
>> It is QEMU 2.2.0 under Slackware 14.1. A Google search on the error
>> returned has yet to yield anything really useful.
>
> Okay, with some experimentation I figured out the error on your end. I
> can get the same error message with:
>
>   qemu-system-i386 -device virtio-blk-pci,drive
>
> The issue is that you must have passed the "drive" property without
> assigning any backend identifier to it, such as in
>
>   qemu-system-i386 -device virtio-blk-pci,drive=drive0
>
> In this case, "drive" is interpreted as a boolean flag (hence "on"), and
> it doesn't make sense.
>
> In general, qemu has backends (host-side stuff) and frontends (devices
> that the guest sees).
>
> You set up backends with -drive and -netdev (and others), and each of
> these backend options takes an id=XXXX parameter.
>
> Then, you can configure frontends (devices that the guest sees) with
> -device virtio-blk-pci, -device virtio-net-pci, and so on.
>
> And in these frontend options, you have to pass some property (the
> property name depends on the exact device type) that identifies what
> backend the frontent should be connected to. For example, the "drive"
> property for "-device virtio-blk-pci" must resolve to the "id" property
> of a -drive backend. Similarly, the "netdev" property for "-device
> virtio-net-pci" must resolve to an earlier -netdev's "id" property.
>
> Examples:
>
>   -netdev user,id=netdev0,hostfwd=tcp:127.0.0.1:2222-:22 \
>   -device virtio-net-pci,netdev=netdev0,bootindex=2 \
>
> Search this example for the string "netdev0". The first option is the
> backend (host side config), and the second option is the frontend (the
> device that the guest sees).
>
> Similarly from earlier in this thread,
>
>   -drive file=fat:/host/directory/name,id=drive0,if=none,format=raw \
>   -device virtio-blk-device,drive=drive0
>
> here the connecting identifier between backend and frontend is "drive0".
> (It's an arbitrary choice.)
>
> So, again I think the error in your case was that you left off "=drive0".

You are right. The command I originally executed was

qemu-system-i386 -pflash ./bios.bin -drive
file=fat:./hda-contents,id=drive0,if=none,format=raw -device
virtio-blk-pci,drive

Appending '=drive0' to it did the trick. Thanks.

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to