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 - j...@cimlogic.com.au; j...@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 majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to