From: julian@tfs.com (Julian Elischer)
Subject: Re: Booting 386BSD from second IDE drive?
Organization: TRW Financial Systems
Distribution: comp
Date: Sat, 5 Sep 1992 07:32:14 GMT

In article <1992Sep2.155151.13601@gateway.novell.com> terry@thisbe.Eng.Sandy.Novell.COM (Terry Lambert) writes:
>In article <1992Sep1.154658.18258@motor.physiolmotor.physiol> smg@physiology.oxford.ac.uk (Steve Gough) writes:
>>
>>I have installed 386BSD on a whole drive (which was surprisingly easy,
>>thanks to the install program).  At the moment to switch between 
>>booting DOS or BSD, I swap drive cables, change the CMOS drive parameters
>>and reboot---there has to be an easier way!
>>
[deleted stuff]
>
>	The problem with booting from other than the primary boot device is
>not a result of 386BSD's boot code.  It is a problem with the BIOS boot
>code, which can not be changed without burning new ROM's.
>
[deleted ideas about multi-pole switches]
>
>boot record on the primary drive, or a floppy, which duplicates the ROM
>code plus the normal master boot record code.  This would allow *apparently*
>initial boot from other than the primary boot device.  There are several
>problems with this: first and foremost, it would require that the active
>partition contain the modified boot code.  A partition is required for this
>because the new boot code will exceed the 512 limit on the MBR.  Second,
>it will require modification of boot blocks that expect to boot an offset
>on the active partition (ie: Interactive UNIX).  Third, it would would
>require the ability to "save" the ID of the designated boot device somewhere
>it wouldn't get overwritten before it could be read, and modification of
>all boot code that made the assumption of booting from the primary device
>to use this value to determine the pseudo-primary device (ie: DOS and
>pretty much everyone else's boot code).
>
Terry as usual has the right of it, but I have more to add here.
I am working on a new set of boot blocks for use in 386bsd.
Their feaures are:
1/ they use the BIOS so they should work for any disk that has
	BIOS drivers (e.g the WD7000 driver that Terry is working on
	(BTW how's it going terry..))

2/ They ask the name of the device/partition/filename in the
	SUN/Generic BSD manner (sd(1,a)386bsd.backup)

3/ They can load the booted kernel to other places (e.g.
	above 1MB (If they are linked there) by reading
	the a.out header. (needed when the 
	kernel + data + bss + symbols > 608k)

The point relevant to the discussion here is point 2.
Hopefully I will be able to load the loader from a tiny
'pseudo' partition on the first drive, but actually
do the loading of the kernel from the second.
Used in conjunction with the os-bs bootblock, it should be possible
to have all of the first disk devoted to other
O/Ss except for a single track, which would have the 386bsd boot code
and would boot from elsewhere.

It might be possible to make it load other OSs too but that would be 
more work.

At the moment it loads the kernel, but
I haven't had time to make it transfer to it properly.
>
>					Terry Lambert
>					terry_lambert@gateway.novell.com
>					terry@icarus.weber.edu
>

+----------------------------------+       ______ _  __
|   __--_|\  Julian Elischer       |       \     U \/ / On assignment
|  /       \ julian@tfs.com        +------>x   USA    \ in a very strange
| (   OZ    ) 2118 Milvia st. Berkeley CA. \___   ___ | country !
+- X_.---._/  USA+(510) 704-3137(wk)           \_/   \\            
          v



Newsgroups: comp.unix.bsd