Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 May 2002 16:33:38 -0700
From:      Peter Wemm <peter@wemm.org>
To:        Maxime Henrion <mux@freebsd.org>
Cc:        arch@freebsd.org
Subject:   Re: a virtual fs to allow root mounting of any fs without special code 
Message-ID:  <20020523233338.9A812380F@overcee.wemm.org>
In-Reply-To: <20020522123610.GL496@elvis.mu.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Maxime Henrion wrote:
> Peter Wemm wrote:
> > Maxime Henrion wrote:
> > > I've written a small virtual filesystem called rootfs which solves the
> > > chicken and egg problem of root mounting quite nicely.  Currently, we
> > > need special code in each filesystem to allow root mounting.  The reason
> > > for this is that the VFS_MOUNT operations of the filesystems generally
> > > need to do a lookup to get a device file (e.g. /dev/ad0s1a), so they
> > > need devfs to be there, and they need lookups to work.
> > > 
> > > rootfs is nothing more than a 3-vnodes filesystem (/, /dev and /root).
> > > To mount the root filesystem with rootfs, I do the following :
> > > 
> > > - initialize rootfs
> > > - mount devfs on /dev (on top of rootfs)
> > > - mount the real fs on /root
> > > - umount devfs from /dev
> > > - translate vnodes so that / is now the /root
> > > - remount devfs on /dev (on top of the real fs)
> > > - terminate rootfs
> > 
> > You know, this sounds an awful lot like what linux does with their
> > 'initrd' ramdisk and pivot_root(2).  The main difference is that instead
> > of the rootfs being a synthetic file system, it is a real file system
> > that is read/write mounted and you can have init etc living in there.
> > 
> > One thing you didn't clarify above, where does starting init live
> > in the sequence of events above?  Or is this all pre-exec-init stage?
> > It would be nice to be able to fsck/remount the /root fs while we have the
> > devfs nodes available.
> 
> All this is pre-exec-init stage.

So, this is to replace the pre-mountroot bdevvp etc kludges that we have?

How do we solve the problem with the root fs being mounted read only and
not having a /dev directory? 

Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020523233338.9A812380F>