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.