rmtodd@uokmax.UUCP (04/13/87)
Well, I've got my MINIX disks in and have tried running them on my Aerocomp Clone (yes, that's the name of the machine, the Clone). The system loads in the kernel fine, but when the kernel boots I get "kernel panic:cannot read partition table on winchester". I'm not sure just what sort of disk controller Aerocomp uses (I didn't pull it out and check for a model number), but it has Western Digital chips and what appears to be a WD Auto-config ROM as in the infamous WD1002-whatever. Incidentally, I use the Aerocomp equivalent of the CGA for my display. Anyway, I sat down for an evening snooping about and disassem- bling the kernel to discover just where the tasks[] table is so I could disable the winchester driver and boot the system. For those interested, the task table on the distribution boot disk starts at sector 48 decimal, byte offset 0132h, with this sequence of bytes: 18 31 44 12 56 33 ^^ ^^ entry for winchester, zero to disable the task. With that patched, MINIX boots and seems to run fine, although I have managed to get the system hung up whenever /dev/ram fills up (no more free space). Of course, running with only one floppy Now here's the interesting part. Fsck can't seem to read the partition table, and fsck doesn't use the special minix driver, since the kernel isn't running yet when fsck is. fsck uses BIOS calls. And yet, when I take the diskio routine out of fsck1.asm and link it with a test program under MSDOS, it reads the partition table just fine, thank you. My very strong suspicion is that something is not getting initialized correctly when MINIX is booted. I've disassembled part of the Western Digital ROM and the part I've looked through so far (the read routine) seems to be compatible with the MINIX xt_wini.c code--they work in the same manner. There are a few differences, however. The WD ROM, when outputting a command to the controller, checks status after each byte output; xt_wini.c only does so after all 6 bytes of the command are output. Could be this may be part of some of the incompatibilities people are having with WD controllers. Why not get a disassembler and check your own ROM to see what it does? -------------------------------------------------------------------------- Richard Todd USSnail:820 Annie Court,Norman OK 73069 UUCP: {allegra!cbosgd|ihnp4}!okstate!uokmax!rmtodd