[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ifupdown writes to /etc... a bug?



Hi,

On Thu, Mar 13, 2003 at 02:12:18AM +0100, Emile van Bergen wrote:

> [...] as I implement the solutions using /mem for the problems above
> I'll let you know how it works out.

For those still interested in this thread, I'm still toying with /mem
and what it means for sysvinit. 

For either /run or /mem I see three possibilities for the boot process
that differ in assumptions, restrictions and features. (Please read /run
instead of /mem below if you feel the only sensible purpose of /mem is
/mem/run, so that just having /run is enough).

A: rcS.d scripts may assume /mem to be ram-based (that's probably too
much to ask)

1. mount /mem as some ram-based fs 
2. check root fs and mount -o remount /, possibly rw (scripts may use
   /mem for temporary storage and /etc/mtab -> /mem/mtab will be correct
   from the start)
3. check and mount all local fs'es, if any, possibly rw 
4. bring up network; scripts may use /mem; state will stay
5. mount all network fs'es
6. copy a skeleton from somewhere in /var to /mem so that later started
   services may assume directories or empty files to be available; 
   possibly from a network fs

 + simple
 + root- and local fs check scripts have temporary storage available
 + mtab always correct
 - requires existence of some ram fs in kernel
 - limits admin's freedom to put /mem on a real fs

B: require /mem to be either ram-based or on a writable /

1. check root fs and mount -n -o remount,rw / (no temporary storage)
2. optionally mount /mem as some ram-based fs, otherwise clear /mem
3. create a correct /mem/mtab using mount -o remount /
4. check and mount all local fs'es, possibly rw (/mem/mtab stays ok) 
5. bring up network; scripts may use /mem; state will stay 
6. mount all network fs'es 
7. copy skeleton from somewhere in /var to /mem 

 + local fs check scripts have temporary storage available
 + mtab always correct
 - requires either existence of some ram fs in kernel or a writable /

C: allow /mem to be either ram-based, on a writable /, or as a symlink
   to /var/mem if /var is local

1. check root fs and possibly remount rw (no temporary storage)
2. check and mount all local fs'es, if any, possibly rw (dito)
3. optionally mount /mem as some ram-based fs, otherwise clear /mem
4. create a 99% correct mtab using cp /proc/mounts /mtab ;
   mount -o remount /
5. bring up network; scripts may use /mem; state will stay
6. mount all network fs'es
6. copy skeleton from somewhere in /var to /mem 

 + doesn't need ram fs or writable /; /var may be only writable fs on 
   system
 - more involved
 - mtab doesn't contain mount options for local fs'es other than /


I'd like to hear your opinions here. *If* you like the idea of /run or
/mem at all, which of A, B or C would you prefer?

Cheers,


Emile.

-- 
E-Advies - Emile van Bergen           emile@e-advies.nl      
tel. +31 (0)70 3906153           http://www.e-advies.nl    

Attachment: pgpATj9RWydK1.pgp
Description: PGP signature


Reply to: