Subject: port-i386/2009: kernel always tries to change root device
To: None <gnats-bugs@NetBSD.ORG>
From: Lennart Augustsson <>
List: netbsd-bugs
Date: 02/01/1996 13:09:36
>Number:         2009
>Category:       port-i386
>Synopsis:       kernel always tries to change root device
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Feb  1 07:35:04 1996
>Originator:     Lennart Augustsson
CS at Chalmers University of Technology
>Release:        NetBSD 1.1 current, 1996 Jan 31
System: NetBSD 1.1A NetBSD 1.1A (CALVIN) #29: Thu Feb 1 12:52:52 MET 1996 i386

	When booting the kernel always tries to change the root device
	with setroot() (in arch/i386/i386/autoconf.c) even if the
	config file tells it where it should be.

	I have the following setup:
	Boot manager and Windize (yuck!) on target 0 on SCSI
	and NetBSD on target 1 on SCSI.
	When booting the kernel tries to change root device to
	the Windoze disk and fails (of course).
	Here's the relevant part of my config file:

config          netbsd  root on sd0 swap on sd0
sd0     at scsibus0 target 1 lun 0      # SCSI disk drives
sd1     at scsibus0 target 0 lun 0      # SCSI disk drives

	Notice how the config line asks for root on sd0, but
	the kernel still tries to move it to sd1. :-(
This patch adds the option USECONFIGROOT which when set will
disable setroot.

*** /sys/arch/i386/i386/autoconf.c.old	Sun Jan  7 22:39:23 1996
--- /sys/arch/i386/i386/autoconf.c	Sun Jan  7 22:40:59 1996
*** 140,145 ****
--- 140,146 ----
+ #if !defined(USECONFIGROOT)
  	int  majdev, mindev, unit, part, adaptor;
  	dev_t temp, orootdev;
  	struct swdevt *swp;
*** 188,191 ****
--- 189,193 ----
  	if (temp == dumpdev)
  		dumpdev = swdevt[0].sw_dev;
+ #endif /* USECONFIGROOT */