Subject: port-alpha/29274: MOP booting Alphaserver 2000 does not find root device
To: None <port-alpha-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <hjalmar@hjalmar.to>
List: netbsd-bugs
Date: 02/07/2005 21:49:00
>Number:         29274
>Category:       port-alpha
>Synopsis:       MOP booting Alphaserver 2000 does not find root device
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    port-alpha-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Feb 07 21:49:00 +0000 2005
>Originator:     Anders Hjalmarsson
>Release:        NetBSD 2.99.15
>Organization:
	Unorganized
>Environment:
NetBSD as2.hjalmar.to 2.99.15 NetBSD 2.99.15 (AS2-$Revision: 1.1.1.1 $) #1: Mon Feb  7 22:22:31 CET 2005  hjalmar@as2.hjalmar.to:/var/obj/alpha/compile/AS2 alpha
Architecture: alpha
Machine: alpha
>Description:
	MOP booting Alphaserver 2000 does not find root device.
>How-To-Repeat:
	MOP boot an Alphaserver 2000 and get
	WARNING: can't figure what device matches "MOP 0 8 0 0 0 3 0 00-00-F8-02-5C-B7 1"
	and the get asked for root device etc.
>Fix:
The following patch fixes the problem, similar code exists in several
other machine-specific files, but the MOP test is missing in dec_2100_a500.c
It is also missing in dec_2000_300.c, but I do not have a machine to
test that.

Index: dec_2100_a500.c
===================================================================
RCS file: /cvsroot/src/sys/arch/alpha/alpha/dec_2100_a500.c,v
retrieving revision 1.11
diff -u -r1.11 dec_2100_a500.c
--- dec_2100_a500.c	28 Jun 2004 03:53:40 -0000	1.11
+++ dec_2100_a500.c	7 Feb 2005 21:18:53 -0000
@@ -253,7 +253,8 @@
 
 	if (!initted) {
 		diskboot = (strcasecmp(b->protocol, "SCSI") == 0);
-		netboot = (strcasecmp(b->protocol, "BOOTP") == 0);
+		netboot = (strcasecmp(b->protocol, "BOOTP") == 0) ||
+		    (strcasecmp(b->protocol, "MOP") == 0);
 #if 0
 		printf("diskboot = %d, netboot = %d\n", diskboot, netboot);
 #endif