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>