Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 May 1995 10:31:08 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        iain@nwpeople.demon.co.uk
Cc:        current@FreeBSD.org
Subject:   Re: 2.0-950412-SNAP install problem
Message-ID:  <199505220031.KAA18598@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>I have encountered a problem trying to install 2.0-950412-SNAP.
>...
>		WD Caviare 540MB IDE disk (1048 cyls)
>...
>The IDE disk (wd0) has DOS and FreeBSD 1.1 slices.  The FreeBSD 1.1
>slice starts below cylinder 1024.  BIOS LBA translation is disabled;
>I lied to the BIOS and told it the disk has 1024 cylinders.

>I am attempting to install FreeBSD 2.0 on the entire SCSI disk (sd0).
>I have reached the point where I can boot from the hard disk (sd0, using
>hd(1,a)/kernel at boot prompt).  The kernel boots successfully, and finds
>all expected devices,  but the message

>	wd0: can't handle 32 heads from partition table...

Yes, it can't handle 32 heads.  32 heads are another form of BIOS
translation.  For the 950412 SNAP, you need to use a more reasonable
translation (try telling the BIOS that the disk has 16 cylinders,
or the actual number) and remove all stale partitions tables and
labels that depend on the old number.

>	wd0e: hard error reading fsbn 296033 of 296033-296040 (wd0 bn 296096;
>	cn 146 tn 27 sn 59): status 51<seekdone,err> error 54<uncorr,no_id,
	       ^^^^^
>	abort>

Head numbers between 16 and 31 corrupt the unit number that i/o is done
on tn = correct_tn % 16, unit = correct_unit | 1, so if you have wd1
then i/o is done on it and if you don't have it then you get an error.

Such head numbers occur because the driver "fixes" the number of heads
in the label to be <= 16, but it doesn't fix derived quantities in the
label, and it uses the derived quantities and not the number of heads
to compute the head number.

Bruce



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