*BSD News Article 71575


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!nntp.coast.net!sgigate.sgi.com!uhog.mit.edu!news.mathworks.com!newsfeed.internetmci.com!in2.uu.net!news.artisoft.com!usenet
From: Terry Lambert <terry@lambert.org>
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: First Attempt to Install FreeBSD - Discouraging
Date: Thu, 20 Jun 1996 14:55:29 -0700
Organization: Me
Lines: 130
Message-ID: <31C9C8D1.7DDA8588@lambert.org>
References: <3188C1E2.45AE@onramp.net> <4n7mp1$217@jraynard.demon.co.uk> <4n8jin$htl@agate.berkeley.edu> <319BD8E3.10D67C49@lambert.org> <4ngunq$oeu@agate.berkeley.edu> <4qag4e$789@nntp.igs.net>
NNTP-Posting-Host: hecate.artisoft.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 2.01 (X11; I; Linux 1.1.76 i486)

Chris K. Skinner wrote:
] 
] Hi.  I came across an archive of your article in Deja News.
] 
] My question was going to be, "Is it possible to setup the FreeBSD
] boot loader to go to start any arbitrary IDE boot disk partition?"

Any arbitrary boot disk *PRIMARY* partition, yes.

Also any second disk *BOOT* partition, if your BIOS correctly
fills out the DX register like it's supposed to (ie: you don't
have one of the off-brand or older AMI BIOS's that is broken),
and the boot manager is capable of replacing itself from the
second disk.


Note that a *PRIMARY* partition can not have a C/H/S value that
exceeds 1024 for the 'C' (cylinder).  Thus LBA-based geometry
translators are OK, but LBA-based boot blocks are not.  For
IDE, this usually means "Partitions that you want to boot from
must be in the first 500M".  For SCSI, this means "Partitions
that you want to boot from must be in the first 8G" for most
"standard" SCSI translations (see, SCSI is *better* than IDE).

[ ... ]


] Now that I've got Dos/Win3.1, FreeBSD, and Linux scattered on 4
] drives, it might be conceivable that I buy an SB-32 with an
] 8x or 10x CD-Rom and another EIDE hard disk with another OS on it, say
] WinNT Server (which I've got, but haven't had a chance to try out).

You will only be able to boot from disk 1 (BIOS drive ID 0x80).

You can, if your BIOS fills out your DX register correctly, use
OS-BS or other boot selector to load the boot selector from the
second drive.

If you can do this, you can boot an OS from disk 2 (BIOS drive
ID 0x81), assuming the OS-specific (second stage) boot examines
the DX register, per the IBM BIOS documentation.


] Because of the AHA1542C SCSI controller, I could conceivably
] add a bunch of SCSI hard disks as well.  If the OS boot routines
] for each OS was suitably flexible, then I could select among a
] big menu of OSs to fire up at boot time, but by the descriptions
] on your cited and linked web pages, it looks like FreeBSD boot
] loader cannot as written do the dreamed scenario.

It is a problem with your BIOS being flexible in what it puts
in the DX register, and your OS second stage boot being flexible
about what it accepts as allowable DX register values, and the
boot manager being flexible about chaining increments.

Controllers are recognized by BIOS in inverse INT 13 POST
initialization hook order.  It is unlikely that the SCSI
driver will be allowed as a boot device if you already have
two or more WD-style disks because of failure to chain in
the BIOS-boot procedure.  This is because a standard BIOS
can only recognize two disks (0x80 and 0x81) at the INT 13
level during the boot sequence.

You could, of course, write new ROM code, burn some PROM's,
and physically replace chips on your motherboard to overcome
this IBM-originated design limitation.


] The number of attached drives is likely to increase as companies
] discard some of their older and slower and lower capacity IDE or SCSI
] disks.  A scrounger might add a pile of drives to his/her system.
] It would be great to be able to boot from any boot device.

And if wishes were horses, beggars would ride.

What you are asking for is a fundamental BIOS change, and you
are asking the wrong people.  You need to ask IBM, Dell, Gateway,
Compaq, etc. to fix their BIOS POST-based boot to be a boot
monitor.  If they even listen to you at all, I'd suggest you
recommend OpenFirmware to them so that we can use the cards
(which will also need ROM changes, in any event) on non-Intel
processor-based systems.  Their response will depend on whether
or not they can see where they are going without Intel opening
their mouth to unblock the view.  It's certainly in the long
term best interest of Intel, unless they believe (somehow) that
they can milk the backwards compatability market for the rest
of eternity.


] More possibilities...  A half month ago, I heard of some motherboard
] Bios that can boot from CD Rom!

A SCSI device is a SCSI device.  If it's first in the chain, or
chain order is dictated by drive type, then the POST code can
pretty much load boot sectors from wherever it wants to load
them from.


] Any far-seeing programmers with itchy programming fingers could
] start researching into some of these boot device alternatives.

Let's see... DEC did this in 1978, or earlier.  There were
probably others, whose examples just don't occur to me at the
moment.

Any of you far-seeing PC vendors want to *finally* adopt this 20
year old technology?  Or are you content to remain behind the
times?


] Is there any way to re-arrange the Bios mapping of block device
] numbers 0x80, 0x81, 0x82 and so on in order to trick the boot process
] into thinking it was on the primary controller and on the master
] disk drive of that controller--this way OSs that can't usually
] boot off of other drives might be fooled into booting properly?

Yes.  Rewrite it and burn a new BIOS.  You can't hook the boot
process with your code until your code has been loaded from
the disk, at which time, you are already screwed.  The only
option for what you want is a different BIOS, to change the
operation before any code is read in or a boot device is
otherwise selected by fiat.


					Regards,
                                        Terry Lambert
                                        terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.