diff options
author | peter <peter@FreeBSD.org> | 1995-11-28 03:15:58 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1995-11-28 03:15:58 +0000 |
commit | 26bbc85eeec15390ed60e812b369a94e5cccefeb (patch) | |
tree | 2929374e3d1b0372e8551201d2a66749ee888e51 /sys/i386 | |
parent | 3f38119b9aafc5bf51d0db7f98efbadb7d5e2af2 (diff) | |
download | FreeBSD-src-26bbc85eeec15390ed60e812b369a94e5cccefeb.zip FreeBSD-src-26bbc85eeec15390ed60e812b369a94e5cccefeb.tar.gz |
After having put on my Asbestos suit, complete the MFS_ROOT part of Terry's
mountroot changes. This means that the mfs_initminiroot functionality
into the root mfs_mount....
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/i386/autoconf.c | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/sys/i386/i386/autoconf.c b/sys/i386/i386/autoconf.c index afa38fd..8acbe10 100644 --- a/sys/i386/i386/autoconf.c +++ b/sys/i386/i386/autoconf.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91 - * $Id: autoconf.c,v 1.41 1995/11/05 04:43:11 gibbs Exp $ + * $Id: autoconf.c,v 1.42 1995/11/20 12:09:54 phk Exp $ */ /* @@ -75,6 +75,9 @@ static void setroot(void); */ int dkn; /* number of iostat dk numbers assigned so far */ +#ifdef MFS_ROOT +extern struct vfsops mfs_vfsops; +#endif #ifdef FFS extern struct vfsops ufs_vfsops; #endif @@ -90,11 +93,6 @@ int cd9660_mountroot __P((void *)); #ifdef MSDOSFS int msdosfs_mountroot __P((void *)); #endif -#ifdef MFS_ROOT -int mfs_initminiroot __P((u_char *)); -u_char mfs_root[MFS_ROOT*1024] = "MFS Filesystem goes here"; -u_char end_mfs_root[] = "MFS Filesystem had better STOP here"; -#endif #include "eisa.h" #include "isa.h" @@ -199,10 +197,6 @@ configure(dummy) cninit_finish(); -#ifdef MFS_ROOT - mfs_initminiroot(mfs_root); /* XXX UGLY*/ -#endif /* MFS_ROOT */ - #ifdef CD9660 if ((boothowto & RB_CDROM) && !mountroot) mountroot = find_cdrom_root; @@ -213,6 +207,22 @@ configure(dummy) mountroot = nfs_mountroot; #endif /* NFS */ +#ifdef MFS_ROOT + if (!mountroot) { + mountroot = vfs_mountroot; /* XXX goes away*/ + mountrootvfsops = &mfs_vfsops; + /* + * Ignore the -a flag if this kernel isn't compiled + * with a generic root/swap configuration: if we skip + * setroot() and we aren't a generic kernel, chaos + * will ensue because setconf() will be a no-op. + * (rootdev is always initialized to NODEV in a + * generic configuration, so we test for that.) + */ + if ((boothowto & RB_ASKNAME) == 0 || rootdev != NODEV) + setroot(); + } +#endif #ifdef FFS if (!mountroot) { mountroot = vfs_mountroot; /* XXX goes away*/ |