From owner-freebsd-hackers Fri Jan 13 07:34:39 1995 Return-Path: hackers-owner Received: (from root@localhost) by freefall.cdrom.com (8.6.9/8.6.6) id HAA11826 for hackers-outgoing; Fri, 13 Jan 1995 07:34:39 -0800 Received: from foxtrot.innovus.com (foxtrot.innovus.com [192.75.186.38]) by freefall.cdrom.com (8.6.9/8.6.6) with SMTP id HAA11820 for ; Fri, 13 Jan 1995 07:34:37 -0800 Message-Id: <199501131534.HAA11820@freefall.cdrom.com> Received: by foxtrot.innovus.com (1.37.109.8/16.2) id AA17634; Fri, 13 Jan 1995 10:38:03 -0500 From: Martin Renters Subject: Re: About readonly root partition To: luigi@labinfo.iet.unipi.it (Luigi Rizzo) Date: Fri, 13 Jan 95 10:38:02 EST Cc: hackers@FreeBSD.org In-Reply-To: <199501131351.OAA00429@labinfo.iet.unipi.it>; from "Luigi Rizzo" at Jan 13, 95 2:51 pm Mailer: Elm [revision: 70.85] Sender: hackers-owner@FreeBSD.org Precedence: bulk > In the interest of better support for diskless and in general for > multiple installations, it seems to me that it would be nice if > /etc were *not* on the same filesystem as root, but rather in /var or > some other location, so that each machine can have its own copy. > Unfortunately, "init" looks for "rc" in "/etc", so mounting a new > filesystem on /etc would as a minimum make the original "/etc/rc" > unreadable, making it very difficult to modify it. At the same time, > people are probably too much used to the existence of "/etc/rc" to move > it somewhere else. > So, How about letting "init" look for "/rc" instead/before > looking for /etc/rc ? This would help in having the following: > > 1) a main "rc" is called, which does the initial checks; > 2) mounts the proper filesystem onto /etc; > 3) passes control to /etc/rc > > With the current setting, the above might still work except that, once > the new /etc is mounted, the original /etc/rc is no more readable. /etc, /tmp, and /var all need to be separate for each diskless client. I do agree that it would be a good idea to do something to allow selective mounting at system startup time. Perhaps init could tell that it is running diskless and run some sort of shared '/etc/diskless.rc' script which could mount the correct /etc, /tmp and /var filesystems based on some system administrator defined scheme. An example /etc/diskless.rc might contain: mount server:/exports/etc/$hostname /etc mount server:/exports/tmp/$hostname /tmp mount server:/exports/var/$hostname /var And then execute /etc/rc (which would now be the system specific one) Martin