File system corruption

I have PC104 system with a 10.2GB hard disk and an LS120 on an IDE
bus, and a disk-on-chip. Currently the system runs off the DOC but we
want to use a hard disk. If I install QNX4.25E onto the disk from the
running disk-on-chip installation using my own installation script, I
sometimes get file system corruption problems AFTER a reboot (before
reboot all looks fine). Reboot is clean, using ctrl-shift-alt-del.

The installation system runs Fsys.diskonchip to support the DOC and
Fsys.eide for the LS120 and hard disk. However, Fsys.eide does not
know the disk geometry and gives me tiny partitions using fdisk.

Using Fsys.ata run with the parameter -c255,1247,63,0 to define the
geometry, I can fdisk to create the correct sized partitions and
install my system onto a partition. The operational system still uses
Fsys.eide with no geometry specified.

Apart from the corruption problems, this seems to work but is it
really OK? How does Fsys.eide manage to access the disk correctly -
does the partition table contain the valid geometry once it has been
setup?

Fsys.eide is still running during installation, providing device
/dev/hd0. When I run Fsys.ata, device /dev/hd1 is created as
expected. There is then a brief interaction between the ata and eide
fsys, in that a Dos.fsys using /dev/fd0 (the LS120 supported by
Fsys.eide) is temporarily disrupted after starting Fsys.ata. Why does
this happen and how can I prevent it? I had expected the trailing 0
in the Fsys.ata command line to prevent Fsys.ata from probing both
devices on the IDE bus.

Note that corruption problems seem to vary between boards, some boards
failing repeatedly, some succeeding after failing first try (although
they are unreliable afterwards) and some working fine. Interstingly,
fdisk from a M$ Windows floppy fails to partition the disk on some
boards. Do I have hardware problems or can this be explained by BIOS
problems with the big disk?

Thanks in advance.


William Morris
wrm@innovation-tk.com