*BSD News Article 34525


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msuinfo!agate!howland.reston.ans.net!gatech!news.byu.edu!cwis.isu.edu!u.cc.utah.edu!cs.weber.edu!terry
From: terry@cs.weber.edu (Terry Lambert)
Newsgroups: comp.unix.bsd
Subject: Re: FreeBSD and IDE Drives
Date: 18 Aug 1994 06:04:36 GMT
Organization: Weber State University, Ogden, UT
Lines: 51
Message-ID: <32utlk$jg8@u.cc.utah.edu>
References: <32e188$3me@uuneo.neosoft.com> <32e6qf$kb9@u.cc.utah.edu> <32to58$ldi@uuneo.neosoft.com>
NNTP-Posting-Host: cs.weber.edu

In article <32to58$ldi@uuneo.neosoft.com> guenther@starbase.neosoft.com (Eb Guenther) writes:
] : However, I believe if you will use clylinder 1 instead of 0 (or 0 instead
] : of 1) you will defeat the geometry translation problem which is giving
] : you the error.
] 
] While my problem is solved now, I would like to know what you meant.
] Are you refering to the offset of the boot partition? or what?

Yes; it has to do with whether the translated and untranslated cylinder
following the boot code end up being 0 or 1.

This is a bit of brin damage from the boot code not knowing the BIOS
apparent geometry for the drive (since protected mode operating systems
can't make the INT 13 AH=8 BIOS call to find out).

Treat it as brain damage that could be fixed with:

1)	A two line addition at offset 174 in /usr/src/sys/i386/boot/asm.S

2)	A two line change for correct unit decoding for booting from a
	second drive at offset 86 in /usr/src/sys/i386/boot/boot.c

3)	A two line addition at offset 256 in /usr/src/sys/i386/boot/boot.c

4)	The addition of two u_long's, probably at offset 133 in
	/usr/src/sys/i386/i386/autoconf.c

5)	The addition of a global reference for those longs. probably at
	offset 104 in /usr/src/sys/i386/i386/locore.s

6)	The addition of 4 lines at offset 165 in the same file

7)	Modifications to the device drivers for /dev/[sw]d[01]* to
	add an ioctl to return these parameters.

8)	A modification to disklabel(8) and fdisk(8) to read and use
	these parameters.

But which no one who can release the code (hint hint) to do it has done
yet (hint hint).

The modifications to the device naming, layout, and DOSFS so that DOSFS
doesn't need a partition (or a BSD disklabel, like on a second drive)
are left as extra credit.


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