cvs commit: src/sys/boot/i386/mbr Makefile mbr.s

Yar Tikhiy yar at FreeBSD.org
Tue Aug 31 19:16:35 PDT 2004


On Tue, Aug 31, 2004 at 02:05:04PM -0400, John Baldwin wrote:
> On Tuesday 31 August 2004 01:08 am, Yar Tikhiy wrote:
> > On Mon, Aug 30, 2004 at 11:41:00AM -0400, John Baldwin wrote:
> > > On Saturday 28 August 2004 04:39 am, Yar Tikhiy wrote:
> > > > yar         2004-08-28 08:39:35 UTC
> > > >
> > > >   FreeBSD src repository
> > > >
> > > >   Modified files:
> > > >     sys/boot/i386/mbr    Makefile mbr.s
> > > >   Log:
> > > >   Don't be too smart, just try packet mode of INT13 first.
> > > >   This way of operation is more robust than the "AI" used
> > > >   before.
> > > >
> > > >   Add flags to mbr accessible from make.conf as BOOT_MBR_FLAGS.
> > > >   Only one flag is defined now, "allow using packet mode", which
> > > >   is 0x80 in accord with the rest of i386 boot code.  The "packet"
> > > >   flag is on by default.
> > > >
> > > >   PR:             i386/70241
> > > >   Submitted by:   Valentin Nechayev <netch <@> netch.kiev.ua> (inital
> > > > version) Discussed with: jhb (by Valentin Nechayev)
> > > >   Tested on:      bochs (with EDD turned on or off by patching the
> > > > BIOS), PCs
> > > >
> > > >   Revision  Changes    Path
> > > >   1.14      +4 -0      src/sys/boot/i386/mbr/Makefile
> > > >   1.7       +6 -6      src/sys/boot/i386/mbr/mbr.s
> > >
> > > Hmm, there are no e-mails from me in the PR trail and I don't recall ever
> > > be in favor of these changes (though I don't care enough to ask for them
> > > to be backed out..  Only really old machines with pre-1995 BIOS should be
> > > broken in theory.)  It would be nice if you wouldn't claim that I
> > > supported something that I didn't actually support though.
> >
> > John, I try to believe people as much as possible since that saves
> > my time, and I believe Valentin Nechayev particularly because I know
> > him quite well.  Here are his words straight from the PR:
> >
> > %%%
> >
> > >Fix:
> >
> > Revert logic of selection between traditional and EDD reading mode
> > to one which prefers EDD if available (as was in the same file in revisions
> > 1.11 and 1.12). This is supported by John Baldwin (private conversation
> > after thread in hackers@):
> > ==={{{
> > The problem is that there are BIOS's out there that claim to support EDD
> > but still don't work correctly.  I don't remember all the details at this
> > point, but I think it had to do with sysinstall not always being in sync
> > with the BIOS about how sectors were in a cylinder.  I guess though we
> > could just turn EDD on by default in 5.x or perhaps 6.0.  5.x doesn't
> > really run well on a 386 or even a 486, and that is the class of machine
> > that has problems with EDD.
> > ===}}}
> >
> > %%%
> >
> > I know it could be hard on memory to return to issues one used to
> > work at in the past, so I decided not to bother you to confirm if
> > that quote is actually yours.  Please excuse me if it was a poor
> > idea of mine.
> 
> Hmm, maybe my memory is worse.  I found some e-mails in my archive when I 
> searched but not this one.  The quoted e-mail above is mine and is correct.  
> I guess I kind of forgot that this was a 6.0 change and 6.0 won't be out for 
> a while.  My apologies for getting all jumpy.

Never mind! :-)

As for the technical side of this change, a user smart enough to
install FreeBSD 6-CURRENT on such a broken/old machine should also
be able to rebuild the boot blocks elsewhere with EDD support turned
off and install such boot blocks on the antique machine through
booting, e.g., from a floppy.  OTOH, this change should save us
from numerous PRs of the ``Can't boot FreeBSD from my new great 1Tb
disk'' kind.

Now the issue is the boot blocks in 5.x.  Do you think they should
be left untouched while the users should be advised to turn on the
BIOS LBA mode on their disks in order to avoid strange geometries,
e.g., sectors/track > 63?

-- 
Yar


More information about the cvs-src mailing list