How to boot a Sun-3/260 on either x[dy]0 or x[dy]1 with one /vmunix?

Daniel R. Levy mtcchi!levy at uunet.uu.net
Thu Aug 9 07:03:55 AEST 1990


At my site, we have some Sun-3/260 machines running SunOS 4.0.3, each
having two Xylogics disks, the first of which (xy0 or xd0 depending on the
machine) has the root and swap device (partitions a and b, respectively).
I have been trying to set up an alternate root and swap on the other disk
for easy booting in case of loss of the first disk (there is no tape drive
or SCSI board in these machines).  Repartitioning the second disk, copying
the original root onto the new partition a, modifying /etc/fstab (in the
copy), and doing an installboot on the new partition is not a problem.
However, I cannot come up with a single /vmunix that I can install on both
disks and have it work the way I want, i.e., if I boot from
xy(0,0,0)vmunix (or let the system reboot itself) the system should use
xy0 as root and swap, and if I boot from xy(0,1,0)vmunix the system should
use xy1 as root and swap.  The /sys/sun3/conf/ configuration file for the
/vmunix we originally had says

	#
	# Build one kernel based on this basic configuration.
	# It will use the generic swap code so that you can have
	# your root filesystem and swap space on any supported device.
	# Put the kernel configured this way in a file named "vmunix".
	#
	config          vmunix          swap generic

Well, it doesn't seem to work that way, or maybe I misunderstand.  If I
install this /vmunix upon xy1a and manually boot from xy(0,1,0)vmunix, the
system acknowledges this and says (at first) "root on xy1a", but as soon
as the system starts to come up and has recognized its devices, it says
"root on xy0a" and "swap on xy0b" which proves to be true when the system
is finally all the way up and I can log in.  Taking the xy0 disk offline
simply causes it to try to boot ie(0,0,0) which is what is in the eeprom
for bootdev.  (I haven't yet tried specifying bootdev=xy(0,1,0) in the
eeprom though, but I am unsure exactly what that entry is supposed to do
since it doesn't seem to need a bootdev=xy(0,0,0) eeprom entry to come up
on xy0 the way it does now.)

I have managed to get around this so far by compiling a second /vmunix for
the duplicate root, substituting for the abovementioned config line

	config          vmunix          root on xy1 swap on xy1

This successfully forces root and swap to be upon xy1, and when manually
booted from xy(0,1,0)vmunix, the system comes up using root upon xy1a and
swap upon xy1b the way I wanted it to.

However, it seems to me that there must, somehow, be a better way.  I'd
like the kernels to be identical if possible, to minimize the difference
between the duplicate and original root systems, one less hassle if we
have to install a new xy0 disk.  (The intent is to do a periodic backup of
the root to the duplicate, taking into account files such as /etc/fstab
which must differ slightly.)

Incidentally, to confuse things further, this problem doesn't seem to be
universal across Sun machines.  I have successfully booted an alternate
root and swap of this kind on a Sparcstation 1 under 4.0.3c, using the
same /vmunix.

Thanks in advance.

Daniel R. Levy * ..!uunet!tellab5!mtcchi!levy *



More information about the Comp.sys.sun mailing list