How do I boot off of a 2nd controller?

Chris Torek chris at trantor.umd.edu
Mon Mar 14 18:08:58 AEST 1988


>>In article <3661 at bloom-beacon.MIT.EDU> nessus at athena.mit.edu (Doug
  Alan) writes:
>>>... boot a VAXstation-II from a disk drive on a second disk controller.

>In article <10627 at mimsy.UUCP> I answered:
>>Ultrix may support several uda50 controllers on one bus.  4.2 and
>>4.3 BSD do not.

That is, 4.xBSD *standalone* drivers do not (an important distinction).

In article <884 at unmvax.unm.edu> mike at turing.UNM.EDU.UUCP (Michael I.
Bushnell) writes:
>4.3 BSD DOES support multiple uda controllers. All our Microvax-II's
>have two controllers: RQDXn and something like an Emulex QD-32.

Sure.  But on the other hand, 4.3BSD does not have a working Microvax
boot at all (which I completely forgot).  You have to use whatever
Ultrix boot loader you have.  All of my comments only applied to
those who modified the 4.3 code to work on their uVax-IIs (not many
I guess).  Sorry about the goof.

>The slave is on the controller booted.  Here is how you boot from the
>second controller:
>>>> b dub0  -- Read boot block from second controller, first disk
>
>Loading ra(0,0)boot  -- Reading UNIX boot from first disk, first partition
>			of the SAME controller the boot block came from
>
>Boot
>: ra(0,0)vmunix    -- Load vmunix from first disk, first partition of the
>			SAME controller the boot block came from.
>
>We do this all the time.

Perhaps Ultrix supports this.  The 4.3+ boot code does not; again,
this will be

	>>>b/3 dub0		// invoke boot block loader in ROM.
				// this works much as on 750s, except
				// that the `level 0 bootstrap' is a
				// header interpreted by the ROM.
	Boot			// this is the max-7.5K-boot-block.
	: ra(0,1,0,0)vmunix	// ctlr 1, drive 0, partition a.

if you stick with what we have now.  We have no idea how to find
out which device the ROM used.  Is this in the Extended RPB?  Where?
Here is what we do in /sys/vaxstand/srt0.c.  If you know we can
stop `guessing' at the boot device, tell me or Keith Bostic.

entry:	.globl	entry
	nop; nop			# .word	0x0101
	mtpr	$HIGH,$IPL		# just in case

#ifdef REL
	# we need to do special stuff on microvax II
	mfpr	$SID,r0
	cmpzv	$24,$8,r0,$VAX_630
	bneq	1f

	/*
	 * Were we booted by VMB?  If so, r11 is not boothowto,
	 * but rather the address of the `Extended RPB' (see KA630
	 * User's Manual, pp 3-21).  These tests were devised by
	 * richl at tektronix, 11/10/87.
	 */
	cmpl	(r11),r11		# if boothowto, r11 will be small
	bneq	1f			# and these will not fault
	cmpl	4(r11),$0
	bneq	1f
	cmpl	8(r11),$-1
	bneq	1f
	tstl	0xc(r11)
	bneq	1f

	/*
	 * Booted by VMB: get flags from extended rpb.
	 * We can only guess at the boot device (here ra(0,0,0,0)).
	 */
	movl	0x30(r11),r11
	movl	$9,r10			# device = ra(0,0,0,0)
1:
	movl	$RELOC,sp
#else
	movl	$RELOC-0x2400,sp
#endif

/* end of stuff related to boot devices on microvax */
-- 
In-Real-Life: Chris Torek, Univ of MD Computer Science, +1 301 454 7163
Domain: chris at mimsy.umd.edu		Path: ...!uunet!mimsy!chris



More information about the Comp.unix.wizards mailing list