Anthony Liguori wrote:
Philip Boulain wrote:
That should probably be "#!/usr/bin/env qemu", or something similar...
I think the magic should just be "#!". Whatever you put as the QEMU
executable is your choice. Separating the args to the next line
actually does make it pretty portable.
Not really; you'd still have to use the editing tool (qemu-img?) to prep it for
your particular QEMU binary location on that particular host. But, yes: being
able to set arbitrary binaries is essential. Using env is probably a good
/default/, though.
Yes, I think that another argument should be required as Dan suggested
although I'd like something more explicit like "-read-args-from-image".
In the case where the image was directly executable, it would be
embedded as part of the interpreter arguments.
This works, so long as qemu disregards "-read-args-from-image" unless it's
being called as an interpreter. Otherwise, you've put the lock and the key in
the same place. :)
If an image says:
#!/whatever/qemu -read-args-from-image
-curious-and-interesting-flags
This should use those flags:
$ ./image.qcow2
And this shouldn't, because you don't need to have made it executable:
$ qemu -hda image.qcow2
(But this would:)
$ qemu -read-args-from-image -hda image.qcow2
(Side thought: presumably, we're assuming that the in-file and on-command-line
arguments are unioned, ideally with the latter taking precidence if mutually
exclusive.)
This also doesn't apply outside of UNIX-like environments, e.g.
Windows...
I think this is covered by requiring the additional argument.
Agreed.
LionsPhil