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