Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Oct 1998 01:31:27 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        mike@smith.net.au (Mike Smith)
Cc:        tlambert@primenet.com, mike@smith.net.au, karpen@ocean.campus.luth.se, hackers@FreeBSD.ORG
Subject:   Re: BETA problems...
Message-ID:  <199810140131.SAA22082@usr08.primenet.com>
In-Reply-To: <199810140127.SAA02688@dingo.cdrom.com> from "Mike Smith" at Oct 13, 98 06:27:07 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > > The difficulty lies in working out which physical drives the BIOS 
> > > numbers correspond to.  Unless you have a *very* new system, there is 
> > > simply no way to know that the BIOS drive 0x81 is in fact wd2.  In 
> > > order for this to work, the user has to provide the missing data, 
> > > either by typing 1:wd(2a)kernel every time (tedious) or putting it in 
> > > /boot.config.
> > 
> > Actually, you could MD5 the first N sectors of the disk using both VM86()
> > I/O and kernel I/O, and if the MD5 matched, you've found your drive.
> 
> Given that we've established that disk I/O via our vm86 interface is 
> problematic (you were part of this discussion, remember?), this is a 
> non-possibility.  It'll have to be done by the bootstrap.

I was, but I don't rememebr why it was problematic.  I remember that
there were issues specific to the attempted implementation, and
which I thought were architectural issues not related to whether or
not the access method was a good idea.  My take on it was "If it
can be done by Microsoft engineers, it can be done by FreeBSD engineers".



> > If you have two drives that MD5 the same, tweak an unused portion
> > of one of them using VM86() I/O and see which one got tweaked using
> > kernel I/O, and, again, you've found your drive.
> 
> Define "unused".

Assuming that VM86() is an issue, the bytes in the cylinder following
the disklabel and boot sector, whose end is identifiable by 0xaa55.

Alternately "anything that won't interfere with me booting, and
which I will know to put back later".  For example, if we allowed
FreeBSD to boot off both an 0xa5 partition type and another partition
type, then the partition type could be toggled to one or the other
without affecting the bootability of FreeBSD.


> > It's *not* impossible, since this is how Windows 95/98 converts
> > fd's opened using the INT 21 based I/O in AUTOEXEC.BAT to fd's
> > that, when INT 21 I/O is done to them in protected mode (via thunk)
> > into calls to the protected mode disk drivers and IFS layer (VFAT,
> > VFAT32, etc.) instead.
> 
> Int 0x21 I/O doesn't use BIOS unit numbering, it uses DOS unit 
> numbering.  The folks in Redmond have access to a lot more information 
> than I/we do, not to mention that if they break something, it's the 
> broken party's problem.  We don't have that luxury.

That's rather the point of me specifying INT 21 rather than INT 13...


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810140131.SAA22082>