Hello, Peter!

> > After the patch that fixed CDROM boot, strange things happen in stage2.
> > When I press Tab after typing "root=(" I get now
> > (fd0) (fd1) (fd2) (fd3) (fd4) (fd5) (fd6) (fd7) (hd0)
> 
> Yes, that's happening for mee to on a noname-machine with Award-BIOS. I
> can't remember seeing this on the Compaq and Dell-machines, but I'm not
> sure. 
> 
> > Apprarently, get_diskinfo_standard (INT 13 AH=8h) returns success for
> > every drive (Intel 440ZX, Award BIOS)
> 
> Have you checked what return values you get, eg. if the geometry makes
> sense? 

I'll check it this evening. Supposedly, zero values are returned.

> > Maybe it would be better to find out why get_diskinfo_floppy doesn't work
> > correctly? I suspict that the controller should not be reset (INT 13
> > AH=0h)
> 
> I don't like the get_diskinfo_floppy at all, because it's just trial and
> error. INT13,8 seems like the right way to do it. This is my suggestion:
> Check if INT13,8 returns usable values even for (fd7) etc. If it does,
> maybe we can use get_diskinfo_floppy to check for the presence of the
> drive, but use INT13,8 to get the geometry?
> 
> > Why are the data read by get_diskinfo_floppy wrong? Maybe the BIOS tries
> 
> Have you looked at get_diskinfo_floppy? What it does is trying to access
> the drive with 36, 18, 15, 9, 0 sectors per track, respectively. Are there
> really any guaranties that such an attempt will fail for all but the
> correct value? Not as far as I know. And indeed it doesn't work with CDs
> and Compaqs. 

Oops, I have misunderstood what it does :-(
Indeed, the bootsector values are not used and should not be used (imagine
ext2 floppy).

We should probably get rid of this method (using ifdef).

Pavel Roskin

Reply via email to