On 3/20/19 8:38 PM, Grove, Michael wrote:
> Hi All,
> 
> Sorry for going straight to  the developers but I have a very complex  
> problem. I have QNX application/OS that is licensed to the physical media it 
> exists on(media ID). When you boot on bare metal directly from the media all 
> is good. When I boot form the media in QEMU it acts like the media is copied 
> and fails to license. Any suggestions, I'm using windows10 as my host OS.
>  Here is the launch  command:
> 
> qemu-system-i386.exe  -L . -name NavigtorVM -m 900 -drive 
> file=\\.\PhysicalDrive3,if=ide,index=0,media=disk,format=raw,copy-on-read=off 
> -netdev tap,id=mynet0,ifname=Ethernet -device e1000,netdev=mynet0
> 
> 
> Thank You,
> 
> Michael Grove
> Sr. Controls Engineer - Show Control Sys.
> Walt Disney World
> Design & Engineering
> (407) 492-9867
> michael.gr...@disney.com<mailto:michael.gr...@disney.com>
> 

I don't know much about how QEMU on Windows works (Sorry!) but it's
probably using disk metadata to guess...

(...Err, can you do PCI passthrough without KVM? You could try passing
through a disk controller and letting the guest have raw access to the
actual disk hardware which would be the most surefire way to get this to
work, I think...)

But failing that grand idea, it's probably using things like your disk
type, model, serial and wwn to identify the disk. You probably want a
SATA disk instead of a PATA one (I am assuming in 2019...), so try
creating an AHCI controller and an IDE device attached to the AHCI
controller instead (Q35 does this by default; you'll have to create the
controller yourself if you use i440fx based boards as above.)

Then, try fiddling around with some hardware info tool to get the SATA
information for the disk you want to emulate, then reproduce it in your
command line invocation.

Check out this line from a libvirt test:

-device
ide-hd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1,wwn=5000c50015ea71ad

You should be able to use serial=foo, model=bar and version=baz to try
and mimic your real drive a bit more closely.

But it still might not work. It might also be against your licensing
agreement to try to run it in a VM, technically, but I'm not in charge
of you or your destiny :)

--js

Reply via email to