Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - QNX6 on qemu: (12 Items)
   
QNX6 on qemu  
Has anyone had any luck getting QNX6 to work properly under the qemu virtual machine?

When I try it, on bootup I get error messages about being unable to locate the PCI server.  From then on, everything 
works, but without PCI --- which means horribly slow graphics and no networking. (While both qemu and QNX appear to 
support NE2000 over ISA, I haven't been able to make them work yet.)

Can anyone suggest a fix for this?
Re: QNX6 on qemu  
Sada did see the pci bios error, while I didn't. 

I think I was booting a custom image, whereas he was trying to run the 
cd boot file.

I wonder what the difference is?

David Given wrote:
>
> Has anyone had any luck getting QNX6 to work properly under the qemu 
> virtual machine?
>
> When I try it, on bootup I get error messages about being unable to 
> locate the PCI server.  From then on, everything works, but without 
> PCI --- which means horribly slow graphics and no networking. (While 
> both qemu and QNX appear to support NE2000 over ISA, I haven't been 
> able to make them work yet.)
>
> Can anyone suggest a fix for this?
>
> _______________________________________________
> OSTech
> http://community.qnx.com/sf/go/post1334
>

-- 
cburgess@qnx.com

Re: QNX6 on qemu  
Once you have a command line up and running, you can manually start pci-bios


Try:

pci-bios waitfor /dev/pci
slay io-net
io-net -dne2000 -ptcpip
dhcp.client
ping 10.0.2.2


That seems to work for me with the 632 release.  You should be able to browse the web, but can't ping externally or 
receive incoming connections.  That's a limitation of user mode networking, and once we make a TAP interface, the 
problem should be solved.

Re: QNX6 on qemu  
Yup, that works beautifully. Thanks.

The next question, of course, is why it doesn't happen automatically on startup. Now I know what to look for I've done 
some fiddling with the boot file. Assuming I'm actually managing to rebuild it correctly, it would appear that seedres 
is complaining about not having a PnP BIOS, and pci-bios is then complaining about not being able to find the PCI system
.

So what's changing between the invocation of pci-bios in the boot image, and the invocation of pci-bios from the shell?
Re: QNX6 on qemu  
I wish that I had the answer to that.  

The problem occurs in the mainline Linux release or QEMU too, so it's most likely something to do with the interaction 
between the QNX loader and the bochs bios that QEMU uses.

I'll have to consult a build file wizard.
Re: QNX6 on qemu  
Given that a simple build file that simply starts pci-bios doesn't have 
the issue, then perhaps it's an interaction issue with seedres?
or enum-*

Sada Murugan wrote:
>
> I wish that I had the answer to that. 
>
> The problem occurs in the mainline Linux release or QEMU too, so it's 
> most likely something to do with the interaction between the QNX 
> loader and the bochs bios that QEMU uses.
>
> I'll have to consult a build file wizard.
>
> _______________________________________________
> OSTech
> http://community.qnx.com/sf/go/post1366
>

-- 
cburgess@qnx.com

Re: QNX6 on qemu  
It's because diskboot checks for a hw/pci tag in the syspage and only 
starts pci-bios if that is present - I think.

So something in startup is not thinking that a PCI bus is there.

In the meantime starting pci-bios before diskboot might make things work

Sada Murugan wrote:
>
> I wish that I had the answer to that. 
>
> The problem occurs in the mainline Linux release or QEMU too, so it's 
> most likely something to do with the interaction between the QNX 
> loader and the bochs bios that QEMU uses.
>
> I'll have to consult a build file wizard.
>
> _______________________________________________
> OSTech
> http://community.qnx.com/sf/go/post1366
>

-- 
cburgess@qnx.com

Re: QNX6 on qemu  
Yup.

My current working hypothesis is that seedres is using the PnP BIOS extensions to determine whether a PCI bus is 
available or not. Because qemu doesn't appear to provide a PnP BIOS, seedres is then (incorrectly) deciding that there 
is no PCI bus, and so diskboot doesn't start pci-bios to enumerate it.

Adding seedres and pci-bios to the build file appears to fix everything. It seems a bit hideous, though. It would be 
nicer if there was a way of overriding diskboot (or, preferably, seedres) to tell it that the PCI bus was actually 
present --- I couldn't find one. (Is diskboot completely automatic?)

But at least qemu's virtual ethernet is now showing up and autoconfiguring. Alas, qemu's virtual Cirrus Logic graphics 
card is unsupported by QNX, so I'm still stuck with the painfully slow VESA one... does anyone know if phinx is still 
around?
Re: QNX6 on qemu  
Never mind, I found it. Unfortunately it doesn't work... but I'll start a new forum thread on that.
Re: QNX6 on qemu  
WRT the slow graphics - did you try the Vesa Bios VBE mode?  Is that at 
all faster?

`-std-vga'
    Simulate a standard VGA card with Bochs VBE extensions (default is
    Cirrus Logic GD5446 PCI VGA). If your guest OS supports the VESA 2.0
    VBE extensions (e.g. Windows XP) and if you want to use high
    resolution modes (>= 1280x1024x16) then you should use this option.


David Given wrote:
>
> Has anyone had any luck getting QNX6 to work properly under the qemu 
> virtual machine?
>
> When I try it, on bootup I get error messages about being unable to 
> locate the PCI server.  From then on, everything works, but without 
> PCI --- which means horribly slow graphics and no networking. (While 
> both qemu and QNX appear to support NE2000 over ISA, I haven't been 
> able to make them work yet.)
>
> Can anyone suggest a fix for this?
>
> _______________________________________________
> OSTech
> http://community.qnx.com/sf/go/post1334
>

-- 
cburgess@qnx.com

Re: QNX6 on qemu  
Doesn't help, I'm afraid --- with that option the only VESA mode available is 320x240 (I think I'm running into qemu 
bugs; if I'm feeling brave I'll look into it at some point). Besides, I'm not sure QNX's vesabios driver is accelerated.
Re: QNX6 on qemu