[comp.os.minix] Winiboot bugs?

kapil@zarquon.uchicago.edu (Kapil Paranjape) (02/13/91)

In article <1991Feb11.073912.2517@midway.uchicago.edu> I wrote:
>
>I tried the Shoelace package out and it all worked fine on my
>"generic" XT----except, winiboot. 
>........
>........
>In addition to other help could some kind soul mail me a uuencoded
>partition sector for an XT hard disk? This could probably be patched to
>re-set up my disk the way it was at least!

I finally got a partition sector from somewhere, re-wrote the
partition table info and got the hard disk booting again---but *not* with
winiboot. 

Then I examined the two partition sector boot programs (A) the one that
worked (B) the one created by winiboot. The major differences between
the two were:

	1. After making a copy of itself (both do that) (A) jumps to
	this copy while (B) hangs around in the old copy which leads to...

	2. (A) calls int 13 ifor BIOS diskI/O in the normal way and does
	this three times (knock three times?) in case of error. B makes a
	fake int 13 call which by setting up the stack jumps back to the
	newly loaded boot sector. So what happens when there was an error
	in the read?

Conclusion: Winiboot.x has a bug which won't manifest itself on disks
which don't give read errors while reading just one sector---but does
manifest itself on some poor old fashioned disks/slow machines :-(.
In any case, there is no harm in checking for one teeny little error
message when what you are doing is booting the entire system!

I will shortly be posting my "corrected" version---once it works!

Kapil Paranjape.
e-mail: kapil@zaphod.uchicago.edu