*BSD News Article 49421


Return to BSD News archive

#! rnews 2568 bsd
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!simtel!zombie.ncsc.mil!news.mathworks.com!newsfeed.internetmci.com!tank.news.pipex.net!pipex!dispatch.news.demon.net!demon!mail2news.demon.co.uk!browns.demon.co.uk
From: Alistair Bell <alistair@browns.co.uk>
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Help - installing rel 2.0
Date: Mon, 21 Aug 95 13:58:46 GMT
Organization: Brown's Operating System Services Ltd.
Lines: 43
Message-ID: <3473@browns.co.uk>
References: <412jv8$232@sentinel.synapse.net>
Reply-To: alistair@browns.co.uk
X-NNTP-Posting-Host: browns.demon.co.uk
X-Mailer: Demon Internet Simple News v1.29

In article <412jv8$232@sentinel.synapse.net> you write:

> wd0: DOS  (234MB)
> wd1: partition 1 - DOS  (500MB)
>      partition 2 - Linux (350MB)
>      partition 3 - Linux swap (16MB)
>      partition 4 - FreeBSD (365 MB)
> 
> After the boot floppy's scripts are complete it asks for the system to be
>  rebooted.  When I do this, the BSD 
> MBR prompt shows up, I select F5 for DISK2 and then F4 for the FreeBSD
>  partition.  Problem is that nothing 
> happens, I just get the function key menu again.

I've got some bad news for you. FreeBSD 2.0 doesn't like disks of more than
500M. You'll almost certainly find that it's overwritten part of your DOS
partition.

Basically what happens is that the partitioning says that FreeBSD starts at
cylinder 432 (or whatever) and so the installer goes and writes to cylinder 432.
However, what the partitioning _actually_ meant was 'cylinder 432 before
translation from the logical 64 heads to the actual 16 heads', i.e. cylinder
432*4. However, FreeBSD doesn't know this, and writes to _real_ cylinder 432.
Result: it's trashed part of your DOS partition. This happened to me recently;
fortunately I had a backup.

I understand 2.0.5 is rather better in this regard.

A fix would have been to interrogate the BIOS to discover how many heads it was
saying there were (by reading head 16 or something) and work out the translation
that way. I don't know if this is what 2.0.5/2.1.0 does, but if it isn't it
probably should be (i.e. use the BIOS to read head 16, if it exists there's some
translation, then read head 63 to see if it's the usual head*4 translation, and
if it isn't, work out by binary chop what the highest head is and make a good
guess at the translation, prompting the user with the guess)


--
Alistair Bell, Brown's Operating System Services, London. Disclaimers as usual.
alistair@browns.co.uk (home: alistair@ichthya.demon.co.uk)

#include <random.quote>