From owner-freebsd-fs Wed Feb 9 9: 7:22 2000 Delivered-To: freebsd-fs@freebsd.org Received: from smtp04.primenet.com (smtp04.primenet.com [206.165.6.134]) by builder.freebsd.org (Postfix) with ESMTP id 140113EB4 for ; Wed, 9 Feb 2000 09:06:45 -0800 (PST) Received: (from daemon@localhost) by smtp04.primenet.com (8.9.3/8.9.3) id JAA01681; Wed, 9 Feb 2000 09:41:07 -0700 (MST) Received: from usr07.primenet.com(206.165.6.207) via SMTP by smtp04.primenet.com, id smtpdAAA9Gayhd; Wed Feb 9 09:40:53 2000 Received: (from tlambert@localhost) by usr07.primenet.com (8.8.5/8.8.5) id JAA11541; Wed, 9 Feb 2000 09:40:59 -0700 (MST) From: Terry Lambert Message-Id: <200002091640.JAA11541@usr07.primenet.com> Subject: Re: booting from dos fs? To: kseel@utcorp.com (Kurt Seel) Date: Wed, 9 Feb 2000 16:40:59 +0000 (GMT) Cc: freebsd-fs@FreeBSD.ORG In-Reply-To: <389C5AA7.CE0A56F2@utcorp.com> from "Kurt Seel" at Feb 05, 2000 12:15:20 PM X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-fs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > Subject says it all. > Has anyone ever considered it? Maybe with a chroot > to a vnnode? ... Yes. It is easy, if you modify the mount code to move the root vs. non-root distinctions to upper level code, which makes all file systems equally able to be used as the root filesystem, instead of requiring per FS VFS_MOUNTROOT entry points. This involves adding a VFS_SETMINFO to set the last mounted on information for the filesystem into upper level code, removing the per FS VFS_MOUNTROOT, where it exists, and moving the non-root mount vnode covering operation to the common upper level code (which means a seperation of the mount operation from the mappinging into the FS hierarchy operation). If you don't want to have to spam your DOS FS with BSD files in the expected locations (e.g. "/kernel"), then you need working filesystem stacking (also rather trivial to get running, if you discard a number of bad assumptions about how VM and cache coherency need to be handled in order to get backing objects: VOP_FINALVP, or do read/getpages write/putpages hacks) to be able to use a "UMSDOS"-like stacking layer to reroot the filesystem in a sub-toplevel directory, and provide UNIX access control and timestamp semantics. If you don't know what a "UMSDOS" stacking layer should look like, you should look at the "UMSDOS" FS in Linux, as written by Udo Walter[sp?] (though I recommend using "-UMSDOS-.---" instead of "-LINUX--.---" as the poop-file name for storing per directory file attribution information when you implement). All told, it's about a 40 man-hour job. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message