levy@uunet.uu.net (Daniel R. Levy) (08/09/90)
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 *