> > Ah!  Figured it out after reading through init's src: /dev didn't
> > exist therefore the machine wouldn't start.  No good.  I may find
> > a place to stick this got'cha in the docs or add an mkdir() call
> > to init.
> 
> mkdir(2) on / is not going to work if / is readonly.  The kernel
> actually tries to do a vop_mkdir() already, I think.  The eventual
> solution is probably a rootfs (blaim mux).

Well, I haven't tested this, but I think you're right that it's
nmount() that's failing and the lack of a check on it's return value.
I haven't tested this beyond compiling it, but I suspect it'll work
and fix this corner case.  -sc

-- 
Sean Chittenden
Index: init.c
===================================================================
RCS file: /home/ncvs/src/sbin/init/init.c,v
retrieving revision 1.55
diff -u -r1.55 init.c
--- init.c      17 Dec 2002 21:23:36 -0000      1.55
+++ init.c      28 Mar 2003 23:48:07 -0000
@@ -304,7 +304,10 @@
                        iov[3].iov_base = _PATH_DEV;
                        iov[3].iov_len = sizeof(_PATH_DEV);
                }
-               nmount(iov, 4, 0);
+               if (nmount(iov, 4, 0) < 0) {
+                       perror("nmount failed (" _PATH_DEV ")");
+                       _exit(1);
+               }
                if (s != NULL)
                        free(s);
        }
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to