*BSD News Article 61702


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!nntp.coast.net!chi-news.cic.net!newsfeed.internetmci.com!news.mathworks.com!fu-berlin.de!cs.tu-berlin.de!informatik.uni-bremen.de!nordwest.pop.de!uniol!uni-erlangen.de!news.tu-chemnitz.de!irz401!uriah.heep!news
From: j@uriah.heep.sax.de (J Wunsch)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: Changing Controllers.....
Date: 19 Feb 1996 00:12:11 GMT
Organization: Private BSD site, Dresden
Lines: 109
Message-ID: <4g8f8r$93e@uriah.heep.sax.de>
References: <4f96id$46l@nntp.igs.net> <4fdg3m$jt6@news.quanta.com>
Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch)
NNTP-Posting-Host: localhost.heep.sax.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Newsreader: knews 0.9.3

rsww@quanta.com (Ross S. W. Walker) writes:

> : I am trying to change from an Adaptec 1542 controller to an Adaptec
> : 2940 controller.  However when I try to boot from the drives with the
> : 2940, it says "MISSING OPERATING SYSTEM". Does anyone know of a way
> : around this problem?
> 
> I had that same problem running 2.0.5. I switched from a Buslogic to
> a 2940 and got that message. The only way to fix it was to backup,
> low-level the HD using the Adaptec and re-install from backup. I
  ^^^^^^^^^^^^^^^^

Do you always shoot sparrows with a cannon?

The only reason to low-level format a SCSI drive is after the drive
experienced too many unrecoverable errors, to force it to recreate the
bad-sector remapping table.  (Btw., in freebsd-current, you can even
use scsiformat(8) for this.  No need to rely on Adaptec and the
correct usage of some messy DOS debugger.)

You can always clear the relevant part of a SCSI drive with

	dd if=/dev/zero of=/dev/rsd0 count=100

But you don't even need to re-install in your case.  You need to be a
bit smart and careful, but you can correct this problem on the fly.
I've been posting the solution to two mailing lists as shown below.
I've also been using the proposed fix for a machine at our company
recently, so i can assure you that it does work indeed.


Subject: Re: SCSI Question
To: hackers@freebsd.org, questions@freebsd.org
Date: Mon, 29 Jan 1996 00:57:41 +0100 (MET)
Cc: sbqadm@sbq.org.br
Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch)
In-Reply-To: <199601281950.LAA27544@freefall.freebsd.org> from "Justin T. Gibbs"
 at Jan 28, 96 11:50:52 am
X-Phone: +49-351-2012 669
X-Mailer: ELM [version 2.4 PL23]
[...]

As Justin T. Gibbs wrote:
> 
> >We can't stop the server (4) and it is running this way, I would
> >like very much to correct the problem without reinstalling it.
> 
> You'll have to in order to correct the problem.

Well, you don't really _need_ to re-install, but it's highly
recommended, and you need a double-net if you wanna correct it ``on
the fly''.

Basically, what happens is the following:

|<--------------------------->|                              | Last
|  size of a cylinder as the  |                              | ficticous
|  FreeBSD installation ass-  |                              | cylinder
|  umed the BIOS would use    |                              | boundary
V                             V                              V
+-+--------------+------------+---------------------- ... ---+-------+
|M|  Padded unuse|d space, to |FBSD                          | un-   |
|B|  remain compa|tible with  |boot     FreeBSD              | used  |
|R|  other system|s           |                              |       |
+-+--------------+------------+---------------------- ... ---+-------+
^                ^
| size of a cyl- |
| inder as your  |
| BIOS thinks    |
|<-------------->|

The BIOS is told to boot off cylinder 1, sector 1, head 0.  As you can
see above, if the ideas of FreeBSD's sysinstall and the BIOS about the
size of a (ficticous) cylinder disagree, the Master Boot Record won't
find the boot sector of the operating system, and since it misses the
boot signature (0x55, 0xaa in the last two bytes of the first sector
of the o/s), it prints this ``Missing operating system'' message.

However, everything above marked as ``FreeBSD'' is intact, as you can
observe when booting from floppy.  So if you really don't mind the
potential danger, you could re-calculate the values in the MBR to
match the C/H/S number for the area where ``FBSD boot'' starts.  This
way, the MBR will finally find the system.


Alternatively, for people like you who are operating a truly dedicated
server machine, where the disks will never see any other system so
compatibility is not an issue (nor is ``multi-boot''), this is what
the ``Dangerously dedicated'' mode is for.  Select A)ll FreeBSD in the
partition editor, and answer the next question with the non-standard
answer ``No''.  (Read carefully.)  This will setup the following:

+-----------------------------------------------------... -----------+
|FBSD                                                                |
|boot                                   FreeBSD                      |
|                                                                    |
+---------------------------------------------------- ... -----------+

As you can see, no wasted space at all, and since the Master Boot
Record and the FreeBSD bootstrap are identical, you don't have to care
for any BIOS geometry at all.  The BIOS boots sector 1, cylinder 0,
head 0, and boots straight into FreeBSD this way.

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)