I have a bunch of stuff loaded onto a USB drive (which I've mounted on /opt),  
but the core services (network, kernel modules etc) are on the internal jffs 
drive.

My first problem is how to properly handle the extra paths.  I can put it into 
profile.sh (making sure I also include a LD_LIBRARY_PATH).. 
but it also needs to be used for other areas like system services or other 
services that either want to use their own path - or are started from an init 
script.

My solution is to have a special version of rc.common (brilliant idea btw) 
that when 'enabled' will register the init script in ../rc.d/  - so in my 
case /opt/etc/rc.d.  (I haven't quite finessed that one -but it is getting 
there).

Then, rather than waiting till a full fsck is finished - or whatever - for all 
the core services to come up - my  usbmount script spawns a process that
 does the fsck, mounts the usbdrive on /opt and then 
sets the path to include /opt and does a simple init of
services in /opt/etc/rc.d/S*  

usbmount also as a stop() that stops all the services in /opt/etc/rc.d/K*  and 
unmounts the drive.

This means that the base services are up and going - and then the advanced 
services on the /opt drive are started - which suits me  well.

At the moment I've hard-coded various items (like the usb drive path) .. but 
it wouldn't take too much work to put the configuration into /etc/config/

The first service run on the drive at the moment sets up a loop swap space.   
This should also be made into a nicer config.

Question:  Would people be interested in this if I developed it a bit further? 
Perhaps packaged it up?

//.ichael Geddes.
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to