* prototype it before it is used (several ports compile with
-Wstrict-prototypes -Wmissing-prototypes), so this is _necessary_.
* conform to C syntax (yes, that's right, it wouldn't parse).
* make error check less error-prone, + style fixups.
and the root device:
- New "file-system" keyword is used to configure file systems into
the kernel.
- New way of specifying root device, which allows root file system
type to always be specified. Examples:
config gennetbsd swap generic
config sdnetbsd root on sd0a swap on sd0b
config nfsnetbsd root on nfs
are replaced by:
config gennetbsd root on ? type ?
config sdnetbsd root on sd0a type ffs swap on sd0b
config nfsnetbsd root on ? type nfs
config lenetbsd root on le0 type nfs
Note that specific network interfaces may now be specified as
the root device.
- swapgeneric.c is no longer used; generate a swap*.c file for each
"config" line in the kernel configuration file.
network interface to use.
- If any part of the NFS root mount process fails, don't panic.
Simply return the appropriate error and let the caller recover.
mount the root file system. If the operator specified the root
file system type in the kernel configuration file, attempt to
mount that file system type on the root device. If the root
file system type was wildcarded (or unspecified), try all of
the file systems statically built into the kernel until one
succeeds. If no file systems succeed, return an error. The
system will recover from this condition.
- Implement vfs_getopsbyname(). This function returns the file
system ops vector given a file system name.
from the version used by NetBSD/alpha, with several changes by me.
Support for asking for root device and root file system type on any
kernel, obsoleting "options GENERIC".
- Make my mountroothook implementation used by the sparc and x68k
ports machine-independent, and use it here. Mountroothooks allow
devices to execute special functions before being mounted as the
root device (such as ejecting the floppy and prompting for a new
floppy disk).
- Make swapconf() machine-independent. It was identical on all ports.
- Run mountroot hooks before we attempt to mount the root device, and
destroy mountroot hooks after the root file system has been sucessfully
mounted.
- Don't panic if we can't mount root. Instead, set RB_ASKNAME and
call setroot(), which will prompt the operator for the root device
and file system type.