I have been trying to get an ‘embedded’ image to boot properly, and I’m
seeing some really strange behaviour with the system.
The system is just an x86 PC-like board, with a DiskOnChip flash disk. All I
want to do is have QNX boot straight into our app, as fast as possible. So,
I created the following:
a. A simple boot image that just starts some consoles, the disk driver, and
then calls /etc/system/sysinit (as laid out in the M-sys docs for booting
QNX off DOC2000)
b. A modified version of sysinit that starts io-net with the explicit
network driver and IP address, avoiding the enumeration stuff. Otherwise,
it does everything the QNX original does.
c. A rc.local file that starts our application
What happens when booting is that everything (including our application)
starts just fine. BUT, as soon as the
which tinit &” line in rc.sysinit is executed, our app terminates.
If I remove this line from rc.sysinit, everything is fine too, but of course
there’s no login.
The strange thing is that if I do the same thing in starting the app in
rc.local on a vanilla QNX 6.2 install, everything works just fine. All I can
see from poking around the system is that the regular QNX 6.2 install calls
diskboot from the boot image. What does diskboot do that’s different from
calling “sh -c /etc/system/sysinit &” in the boot image?
Does anyone have any idea why this problem might be occurring? What files do
I need to post to help diagnose the problem?