Date: Mon, 5 Oct 1998 16:32:03 +0200 From: Eivind Eklund <eivind@yes.no> To: dg@root.com, obrien@FreeBSD.ORG Cc: current@FreeBSD.ORG Subject: Re: HEADS UP! [was Re: cvs commit: src/sys/i386/i386 autoconf.c] Message-ID: <19981005163203.14688@follo.net> In-Reply-To: <199810051402.HAA11211@implode.root.com>; from David Greenman on Mon, Oct 05, 1998 at 07:02:44AM -0700 References: <19981005135410.35542@follo.net> <199810051402.HAA11211@implode.root.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Oct 05, 1998 at 07:02:44AM -0700, David Greenman wrote: > >On Mon, Oct 05, 1998 at 04:28:27AM -0700, David E. O'Brien wrote: > >> obrien 1998/10/05 04:28:27 PDT > >> > >> Modified files: > >> sys/i386/i386 autoconf.c > >> Log: > >> Now require *FS_ROOT to enable the ability to mount a *FS /. > >> Previously one could config(8) a kernel that would not link. > >> > >> Revision Changes Path > >> 1.107 +16 -6 src/sys/i386/i386/autoconf.c > > > >WARNING! WARNING! > > > >If your kernel config file is from before February 1998, you must add > >in the appropriate 'options xFS_ROOT' to be able to mount your root. > >Ie, if you don't have 'options FFS_ROOT' in your kernel config, you > >most likely want to add it. You've been covered by compatibility code > >up to now; that code is now gone. > > This is an improvement? It doesn't sound like it to me. Not to me, either - I did the initial introduction of the xFS_BOOT split for code cleanliness reasons, but was not planning to fully activate it until after 3.0 was out (giving one release of compatibility time - anybody that has upgraded through two release cycles ought to be proficient to do a kernel config file merge). My vote is for keeping the #error for the time being (to give clear errors about what is wrong as long as we can), but going back to compatibility mode (ie, "options FFS" alone makes it possible to boot). To push users towards getting their config files right, we could use a patch like this (again 1.106, to include all the changes under discussion): Index: autoconf.c =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/autoconf.c,v retrieving revision 1.106 diff -u -r1.106 autoconf.c --- autoconf.c 1998/09/15 10:03:42 1.106 +++ autoconf.c 1998/10/05 14:30:16 @@ -101,6 +101,16 @@ #include <sys/bus.h> +#if defined( FFS_ROOT ) && !defined( FFS ) +#error ``options FFS_ROOT'' requires ``options FFS'' +#endif +#if defined( NFS_ROOT ) && !defined( NFS ) +#error ``options NFS_ROOT'' requires ``options NFS'' +#endif +#if defined( CD9660_ROOT ) && !defined( CD9660 ) +#error ``options CD9660_ROOT'' requires ``options CD9660'' +#endif + static void configure __P((void *)); SYSINIT(configure, SI_SUB_CONFIGURE, SI_ORDER_FIRST, configure, NULL) @@ -109,7 +119,7 @@ static int setdumpdev __P((dev_t dev)); static void setroot __P((void)); -#ifdef CD9660 +#if defined(CD9660) || defined(CD9660_ROOT) #include <sys/fcntl.h> #include <sys/proc.h> @@ -312,6 +322,10 @@ */ #if defined(CD9660) || defined(CD9660_ROOT) if ((boothowto & RB_CDROM)) { +#if !defined(CD9660_ROOT) + printf("Trying CD9660 as a compatibility root.\n" + "*** Add \"options CD9660_ROOT\" to your config! ***\n"); +#endif if (bootverbose) printf("Considering CD-ROM root f/s.\n"); /* NB: find_cdrom_root() sets rootdev if successful. */ @@ -349,6 +363,10 @@ #endif /* BOOTP_NFSROOT */ #if defined(NFS) || defined(NFS_ROOT) if (!mountrootfsname && nfs_diskless_valid) { +#if !defined(NFS_ROOT) + printf("Trying NFS as a compatibility root.\n" + "*** Add \"options NFS_ROOT\" to your config! ***\n"); +#endif if (bootverbose) printf("Considering NFS root f/s.\n"); mountrootfsname = "nfs"; @@ -357,6 +375,10 @@ #if defined(FFS) || defined(FFS_ROOT) if (!mountrootfsname) { +#if !defined(FFS_ROOT) + printf("Trying FFS as a compatibility root.\n" + "*** Add \"options FFS_ROOT\" to your config! ***\n"); +#endif mountrootfsname = "ufs"; if (bootverbose) printf("Considering FFS root f/s.\n"); Eivind. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19981005163203.14688>