From owner-freebsd-current Tue May 11 1:13:18 1999 Delivered-To: freebsd-current@freebsd.org Received: from cimlogic.com.au (cimlog.lnk.telstra.net [139.130.51.31]) by hub.freebsd.org (Postfix) with ESMTP id 6C5C315120 for ; Tue, 11 May 1999 01:13:13 -0700 (PDT) (envelope-from jb@cimlogic.com.au) Received: (from jb@localhost) by cimlogic.com.au (8.9.1/8.9.1) id SAA21580 for current@freebsd.org; Tue, 11 May 1999 18:24:18 +1000 (EST) (envelope-from jb) From: John Birrell Message-Id: <199905110824.SAA21580@cimlogic.com.au> Subject: ROOTDEVNAME changes break MFS_ROOT only kernels To: current@freebsd.org Date: Tue, 11 May 1999 18:24:18 +1000 (EST) X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Prior to the ROOTDEVNAME changes, I used to build embedded kernels with MFS_ROOT and MFS_ROOT_SIZE options, plus the config line as: config foo root on wd0 but _without_ any disk devices or disk controllers. The "root on wd0" on the config line was to satisfy the config(8) syntax, but was overriden by the use of MFS_ROOT AFAIK. After the ROOTDEVNAME changes, the kernel always tries to mount a root file system from a _device_ regardless of the MFS_ROOT option. Such a kernel will always panic with: "error 6: panic: cannot mount root (2)". FWIW, this is the kernel config file for an embedded kernel (called gizmo): # # GIZMO -- A little gizmo thingy. # machine "i386" cpu "I386_CPU" ident GENERIC maxusers 2 options MATH_EMULATE # Support for x87 emulation options INET # InterNETworking options MFS # Memory filesystem options "COMPAT_43" # Compatible with BSD 4.3 [KEEP THIS!] options UCONSOLE # Allow users to grab the console options FAILSAFE # Be conservative options MFS_ROOT # Use a memory file system as root. options MFS_ROOT_SIZE=2048 # Space for MFS root filesystem. options INIT_PATH="/gizmo" config gizmo controller isa0 device npx0 at nexus? port IO_NPX irq 13 device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device ed0 at isa? port 0x300 irq 11 iomem 0xd8000 pseudo-device loop pseudo-device ether Nice and simple, but after the ROOTDEVNAME changes, it cannot work. Sulk. The ROOTDEVNAME stuff needs to be fixed to allow this. Local disks and disk controllers should be optional. -- John Birrell - jb@cimlogic.com.au; jb@freebsd.org http://www.cimlogic.com.au/ CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message