Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Apr 1997 10:01:37 -0400
From:      fam@ris.ca (Frank Mandarino)
To:        freebsd-questions@FreeBSD.ORG
Subject:   WD1007/ESDI Installation
Message-ID:  <97Apr27.101300edt.26881-1@risnetra.ris.ca>

next in thread | raw e-mail | index | archive | help
Having just completed a 2.2.1-RELEASE installation on an old, abandoned
386 with ESDI drives, and given the number of things that can go wrong,
I thought that others might be able to benefit from reading about what
worked for me.

The system is an Intel 25MHz 80386, Phoenix BIOS version 1.10 04.C1,
with 8MB RAM, a WD1007A-WA2 controller, 3.5" floppy, and 2 ESDI drives:
a Micropolis 1558-15 and an Imprimis 94166-182, which is now known as a
Seagate ST-4182E.

Here are the steps that I took which finally led to a successful
installation:


1) Configure the hard drives.

a. Select 36 Sectors per Track and 512 Bytes per Sector by setting the
appropriate jumpers or dip switches on the drive.

b. Set both drives to drive address 2.  The ESDI command cable in this
PC uses has a twist in it to change the last drive on the cable from
address 2 to address 1.

c. Decide on which drive you want to be Drive 0 (C:), and install the
termination resistor.  Remove the termination resistor from the other
drive.


2) Configure the controller.

a. I used the following jumper settings on the WD1007-WA2 (non-default
settings are noted):

	BIOS Address Select	W1	1-2		*Note 1
	BIOS Address Select	W2	2-3
	BIOS Shadow RAM		W3	No Jumper	*Note 2
	Floppy Enabled		W4	No Jumper
	Single Spindle Speed	W5	No Jumper
	Floppy Address Select	W6	2-3
	Floppy Drive Select	W7	1-2
	WD1007 Mode		W8	No Jumper
	Chassis Ground Disc.	W9	No Jumper
	Input Reg. Unlatched	W10	No Jumper
	Diskette Change Enable	W11	Jumper
	Secondary addr. select	W12	No Jumper
	Floppy Enabled-In Etch	W13	Uncut
	Sector Trans. Enabled	W14	Jumper		*Note 3
	ECC Length Select	W15	No Jumper

*Note 1: There was a conflict a one point in the installation, which
cleared up when I switched the BIOS address.  I have not tried switching
it back.

*Note 2: I felt that FreeBSD doesn't need the Controller BIOS shadowed in
RAM since, according to the Handbook, it doesn't use it after booting.

*Note 3: According to the Handbook, FreeBSD can't use Sector Translations. 
	

3) Install the drives and controller.

Plug the connector at the twisted end of the command cable into Drive 0,
the terminated drive.  Plug the centre connector into Drive 1.


4) Low-level format.

a. Obtain the WDFMT.EXE program.  I found it at
ftp://shareware.unc.edu/pub/dos/dskutils/wdfmt210.exe.

b. Use WDFMT.EXE to low-level format each drive for 35 (not 36!) Sectors
per Track and 1:1 Interleave, and with no Alternate Sector or Sector
Sparing.

I used the following configurations:

			Micropolis 1558		Imprimis 94166-182

	Drive (0/1)		   0			   1
	Cylinders		1224			 969
	Heads			  15			   9
	Sectors			  35			  35
	Interleave		   1			   1
	Precomp			   0			   0
	Skew			   2			   2
	Alt Sector		  No			  No

c. Verify each drive.

d. Do not enter the Manufacturer Bad Block list.  WDFMT.EXE allows only
cylinder and head to be entered, so it must be mapping out entire tracks.
I left it up to bad144 to find and map out the bad blocks during the
FreeBSD installation.

e. Do not perform the Surface test.  I found that WDFMT.EXE hung after a
few seconds.


5) Configure the CMOS drive parameters.

The Phoenix BIOS Setup program reserves drive types 48 and 49 for
user-defined drive parameters.  Set them to the same parameters as the
low-level format parameters.

I set up the drives as follows:
				   Cyl   Hd   Pre    Lz   Sec
	Hard Disk C:	Type 48	  1224   15     0  1224    35
	Hard Disk D:	Type 49	   969    9     0   969    35


6) Install FreeBSD.

During the FreeBSD installation, when partitioning the drives to
allocate disk space for FreeBSD:

a. Check that the geometry reported at the top of the screen matches the
CMOS drive parameters.

b. Create the slice on drive 0 that will contain the root file system so
that it resides within the first 1024 cylinders.  Since the slice editor
doesn't display cylinders, I played it safe by creating a 100MB slice
for / and swap, then put the rest of the drive in a second slice for
/var and /usr.

c. Set Bad Block Scan on each slice!


I realize there are probably other configurations that would have
worked, but after several false starts I was happy to finally get to the
end of the installation and find that the system booted from the hard
drive.

Thanks to everyone involved in the FreeBSD effort for a such a great
product!

Regards,
../fam
-- 
Frank A. Mandarino					fam@ris.ca
Reuters Information Services (Canada) Ltd.
2 First Canadian Place, Suite 2000, Toronto, Ontario M5X 1E3



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?97Apr27.101300edt.26881-1>