Date: Tue, 2 Jan 1996 15:49:12 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: laufen@sol.med.ge.com (Derek Laufenberg x7-4534) Cc: msmith@atrad.adelaide.edu.au, marino.ladavac@aut.alcatel.at, hackers@FreeBSD.ORG Subject: Re: HELP!!! THIS IS AN EMERGENCY (fwd) Message-ID: <199601022249.PAA12933@phaeton.artisoft.com> In-Reply-To: <9601022132.AA28357@merak.med.ge.com> from "Derek Laufenberg x7-4534" at Jan 2, 96 03:32:19 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> The "On Track" is installed in the boot sector of the disk (I think) and > it makes it look like the disk has sectors before sector 0 (negitive sectors) > which contains the Ontrack code. Now the boot sector, where OSBS/Booteasy > lives is moved up a little way on the disk, but still seems to be at sector > 0 or where ever it lives. The OnTrack code is a 64 sector lump that is a TSR that redirects the INT 13 interface to the LBA interface of EIDE controllers and does a geometry translation to get there. It then adds 64 to the sector of all INT 13 requests, and since INT 21 uses INT 13, BIOS calls. Then it calls the MBR at the new logical "sector 0" as if the machine were booting with translation in standard BIOS instead of the TSR. It's basically for critically stupid (ie: IDE) controllers that lack translation capability in their BIOS in order to make them cheap. Oh yeah, it makes them inexpensive, too. 8-). So the "real" MBR uses translated BIOS locations in its partition table to load the BSD boot loader, which in turn uses translated BIOS locations to locate the disklabel, slice a, and load the kernel. So your turning off LBA was probably unnecessary. > When I select FreeBSD it boots and runs fine. I assume the ON TRACK code > is still being used for the IDE interface, but this doenst seem to be a > problem. This system gets most of its real stuff over NFS so a small disk > was used. I was careful to get both Boot partitions under the 500M limit. Right. See above. The 500M limit comes from the BSD inability to talk to the controller using an LBA adressing mechanism. The BSD *does* see the OnTrack and do the 64 sector offsetting. The kernel has to locate the disklabel and remount root, which means it use the C/H/S value and the non-LBA interface (because it uses a protected mode driver, the TSR doesn't do anything for it). You should be *extremely* careful when booting a floppy and then using an FDISK or whatever to manipulate the partition table. In particular, the old "fdisk/mbr after booting from a DOS floppy" will murder the OnTrack boot code and render your data unusable unless you happen to have one of the OnTrack 6.x/7.x disks to reinstall, and are prepared to go hacking the partition table at the 65th sector after the reinstall. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601022249.PAA12933>