A couple of days ago under the Help forum I posted about having a problem installing 6.3 on my hard disk on my Flash Boot rig
openqnx.com/PNphpBB2-viewtopic-t2569-.html
After taking the Harddisk out and putting it in another machine I was finally able to install the OS and so I put it back in my flash rig. At that point it booted up just fine and I thought everything was well. I should have known better…
Yesterday I tried to use the flash rig for the first time to install a 6.3 image onto a San disk 256MB flash disk. First I removed the Flash disk that was currently in there (one that already had 6.1 installed on it) and replaced it with a brand new flash disk. Then I booted up and attempted to go through the installation procedure to install QNX to the flash disk.
The first thing I noticed is that as 6.3 boots up from the hard drive devb-eide doesn’t seem to find any devices at all. It just spins there for about 20 seconds and finally goes on to finish the boot process and give me a log in prompt. At that point I noticed that none of my devices were found!!! Doing a ‘df’ revealed the harddrive as the only device found (the CD-Rom and compact flash drive are attached to the slave ide controller and there is a floppy drive). Repeated ‘df’ commands over the next 4-5 minutes revealed that gradually devb-eide was able to find the devices (starting with the floppy and graduating to the CD-rom and compact flash drive).
Since this was so strange I decided to go to the effort of pulling out the harddrive with 6.3 on it and replacing it with another harddrive with 6.1 installed on it. Once I did that the devb-eide under 6.1 found all devices at boot time and I had complete access to everything at the time the login in prompt was displayed.
So my first question is, why is devb-eide under 6.3 taking so long to find my devices and is there anything I can do to speed up this process. Certainly the HD boot images aren’t any different (minus the fact one is 6.3 and the other is 6.1) because when I look at the args given to devb-eide they are identical.
Then I figured that once the flash disk was found after 4-5 minutes that I would be able to go ahead and run my scripts to initialize the flash disk, copy on the QNX boot image and finally our S/W. So I began running the scripts and of course they don’t work now either
I was able to run our script that deletes the default DOS partition and replaces with with a QNX partition. I re-booted, waiting 5 minutes and confirmed via fdisk that there was indeed a QNX partition.
The following is the command used to create the QNX partition in our scripts.
fdisk -p /dev/hd1 add -f 1 t77 all boot t77 loader
Then I attempted to run our script that copies over the boot image and the key lines are:
dinit -h -R -f flashBoot.ifs /dev/hd1t77
which works and:
cp flashNocacheBoot.ifs /fs/hd1-qnx4/.altboot
which fails telling me there is no /fs/hd1-qnx4 directory.
At this point I did a ‘df’ and noticed that /fs/hd1-qnx4/ had not been mounted at all. In fact no /fs/ had been mounted for either the flash drive OR the CD-Rom drive (in essense I could not access either one).
I tried to mount the flash disk by using.
mount -t qnx4 /fs/hd1-qnx4 /dev/hd1
and while the command completes without complaint it doesn’t actually mount correctly (note I may have the last 2 arguments backwards because I am doing the mount from memory but it does show up in ‘df’ after I do the mount) because when I re-run the script it tells me that /fs/hd1-qnx4 is a corrupted file system and so the cp fails.
Once again I replaced the 6.3 HD with the 6.1 HD and booted up. I examined the flash disk and noted that indeed the dinit command worked because there was a .boot file on the flash disk (along with a couple of other QNX files) but no .altboot. The /fs directory contained entries for /cd0 and for /hd1-qnx4 as I would expect.
So I’m at a complete loss. I can’t figure out what’s going wrong in devb-eide that’s not letting it properly find and mount my compact flash (and I assume my CD-Rom and floppy since I never tested either other than the CD-Rom failure when trying to install 6.3 on the HD as I noted in my previous post).
Anyone have any clues on what I can do? I’d love to be able to just use the devb-eide from 6.1 but I’m sure it won’t work under 6.3 since it’s a completely different filesize.
Doing a ps -A -o pid,pgid,sid,args on devb-eide reveals:
devb-eide blk auto=partition dos exe=all cam quiet on my 6.3 machine.
devb-eide blk auto=partition dos exe=all on my 6.1 machine.
which is essentially the same minus the quiet option. However I am confused because none of the blk,auto,dos or exe options are even mentioned in the docs for devb-eide so I have no idea what they do.
I was not expecting this much trouble with a fresh 6.3 install on the flash rig (is it possible I have not configured some file someplace because I haven’t done anything other than install 6.3 and create a couple of user accounts) and get network access up and running.
Tim