[comp.unix.wizards] Error on "root device?"

khj@uncecs.edu (Kenneth H. Jacker) (03/06/90)

Hardware:	VAX-11/750;  RA80 & RA81

We've just finished the published tahoe installation procedure using
our current 4.3BSD system as a base.  We placed all of the tahoe system
in the last partition of the RA81 (ra1h).  The new (GENERIC) kernel was
booted using,

	: ra(0,3)vmunix

after I swapped the "drive buttons" so that the RA81 was drive #0, and
the RA80 became drive #1.

Autoconfig spotted most of our devices including the uda50, ra0 and our
DELUA.  The kernel then asked for the "root device", and here's where a
problem arose.  I tried "ra0*", "ra00*", and even "ra0", but each gave
the same error message:

	use hp%d, up%d, ra%d, rb%d, rl%d, hk%d or kra%d.

I never had this problem on 4.3 kernels, so am wondering if something is
different with tahoe.  Any ideas will be most appreciated!

-- 
Kenneth H. Jacker               Domain:   khj@ecsvax.uncecs.edu
Dept of Math Sciences           BITNET:   khj@ecsvax
Appalachian State Univ
Boone, NC  28608

muller@sdcc10.ucsd.edu (Keith Muller) (03/07/90)

In article <1990Mar6.140639.7408@uncecs.edu>, khj@uncecs.edu (Kenneth H. Jacker) writes:
> Autoconfig spotted most of our devices including the uda50, ra0 and our
> DELUA.  The kernel then asked for the "root device", and here's where a
> problem arose.  I tried "ra0*", "ra00*", and even "ra0", but each gave
> the same error message:
> 
> 	use hp%d, up%d, ra%d, rb%d, rl%d, hk%d or kra%d.

A small bug in vax/swapgeneric.c

	Keith Muller
	University of California, San Diego
	muller@ucsd.edu

*** bad/vax/swapgeneric.c	Tue Jun  7 10:07:53 1988
--- good/vax/swapgeneric.c	Tue Feb  7 20:35:44 1989
***************
*** 81,94 ****
  		printf("root device? ");
  		gets(name);
  		for (gc = genericconf; gc->gc_driver; gc++)
! 		    for (cp = name, gp = gc->gc_name; *cp == *gp; cp++, gp++)
! 			if (*gp == 0)
  				goto gotit;
  		printf(
  		  "use hp%%d, up%%d, ra%%d, rb%%d, rl%%d, hk%%d or kra%%d\n");
  		goto retry;
  gotit:
! 		if (*cp < '0' || *cp > '9') {
  			printf("bad/missing unit number\n");
  			goto retry;
  		}
--- 81,94 ----
  		printf("root device? ");
  		gets(name);
  		for (gc = genericconf; gc->gc_driver; gc++)
! 		    for (cp = name, gp = gc->gc_name; *cp == *gp; cp++)
! 			if (*++gp == 0)
  				goto gotit;
  		printf(
  		  "use hp%%d, up%%d, ra%%d, rb%%d, rl%%d, hk%%d or kra%%d\n");
  		goto retry;
  gotit:
! 		if (*++cp < '0' || *cp > '9') {
  			printf("bad/missing unit number\n");
  			goto retry;
  		}
***************
*** 96,101 ****
--- 96,102 ----
  			unit = 10 * unit + *cp++ - '0';
  		if (*cp == '*')
  			swaponroot++;
+ 		goto found;
  	}
  	for (gc = genericconf; gc->gc_driver; gc++) {
  #if NMBA > 0