[comp.os.minix] bootblok.s for Minix-386

kjh@pollux.usc.edu (Kenneth J. Hendrickson) (06/06/91)

In article <33395@usc.edu> kjh@pollux.usc.edu (Kenneth J. Hendrickson) writes:
>There is a strange phenomenon happening for me while building boot disks
>for Minix-386.  I am using the traditional tools in /usr/src/tools, and
>my boot floppy is a 1.2M in /dev/at0.
>
>When NR_BUFS is >= 200, the boot process fails somewhere in bootblok.s
>after printing the greet message, and before running menu.
>
>When NR_BUFS is <= 150, everything works great.  Nothing else changed.
>
>I think there may be an obscure bug.

There definitely *IS* an obscure bug.  I haven't found it yet, but
here's what I did:  I build up a kernel with 200 buffers, and copied the
image onto a 720k disk.  I swapped the cables to make tp1 tp0, and
booted up just fine!  Next, I build a kernel with 300 buffers in fs.
This also boots up just fine.  What this means is that the bug is
definitely in bootblok.s, and it is somewhere in the code for the 1.2M
floppy, or dealing with the 1.2M floppy while copying in the kernel.
I haven't found it yet.

Strangely, if 320 buffers are used and image is copied to a 720k disk,
it exhibits the same symptoms as if >= 200 buffers are used with a 1.2M
disk.  This may be because while copying the kernel into memory, the
copying routine scribbles over itself.  However, I should mention that
bootblok *does* manage to get the drive motor turned off before crashing.
This is most puzzling.  Does anybody have a debugger they wanna give me
to put into my kernel so I can debug bootblok.s?

-- 
favourite oxymorons:   student athlete, military justice, mercy killing
Ken Hendrickson N8DGN/6       kjh@usc.edu      ...!uunet!usc!pollux!kjh