Subject: Extending config(8) to allow different root fs types
To: None <tech-kern@NetBSD.ORG>
From: Martin Husemann <>
List: tech-kern
Date: 11/02/1996 14:52:05
I'm trying to build a NetBSD/i386 CDROM for emergency and installation
uses. This CDROM should be bootable (either directly on newer machines
or via a boot disk generated from an image on the CD).

The i386 port has no way to specify boot and swap via PROM, so its root
and swap configuration is hardcoded into the kernel via config(8). We have
the famous option "GENERIC", which will cause the kernel to runtime-configure
its root and swap device.

But all this are parts of a puzzle which won't fit into the overall picture.
What I would realy like to have is:

 (a) a way to specify boot, root and swap devices from firmware
     (no way on the i386) and let everything happen automatically

 (b) simply declare something like this:

	config netbsd root on cd0 swap on sd0 and sd1 and wd0 and wd1

     and have config(8) or the kernel figure out the filesystemtype
     of my rootdevice automagically or via another line like

	rootfstype cd9660

It might be convenient in some situations to have a list of possible
root-fs types and let the kernel try each in turn. We could have LFS, AFS
and other types as root.

The current way config works mixes several steps into one, especially when
declaring "swap on nfs"; which means "you will get your host configuration
from the net, will get your root fs from the net and swap over network
as well". I would suggest to split each of these actions (maybe having a
shortcut for the above common example) and use different keywords to state

hostconfig	net/local
rootfs		partition
swap		net/partition(s)
rootfstype	fstype(s)

Maybe even "rootfs" could take a list of partitions for striped/mirrored

Any comments or suggestions?