Skip site navigation (1)Skip section navigation (2)
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>