Hi.
I agree that we should install additional software on /drive0/<something>, I also agree that we should find a way to set up different programs depending on the different physical environments (in car/at home etc.). I don't know wether the different tuner-module-IDs will be available before the player gets first started, but that could be handled by starting a background job that first waits a certain amount of time (e.g. 10 seconds) and than checks for the ID. I will try to suggest a certain layout now, based on my thoughts about this subject. One thing though: I do think that we don't need any kill scripts, because in my opinion, this would simply be overkill. The environment does not change while the empeg is powered up, so a different startup, based on the current environment should be enough. Ok, here is my suggestion:
location | description |
/usr/local | a link to /drive0/local |
/drive0/local/init.d | contains all startup scripts that are currently installed |
/drive0/local/init.d/car/ | links to each startup script that should be called on bootup when in car |
/drive0/local/init.d/car/<id>/ | links to each startup script that should be called on bootup, but only when the <id> is already read from the tuner module |
/drive0/local/init.d/car/delayed/ | links to scripts that should be run when in car, but only after the player got started already |
/drive0/local/init.d/car/delayed/<id>/ | links to each startup script that should be called on bootup, but only when the <id> is already read from the tuner module and the player has already been started |
/drive0/local/init.d/home/ | links to script that should be started when on AC power (at home) |
/drive0/local/init.d/home/delayed/ | links to scripts that should only be started after player startup, when at home |
/drive0/local/reconfig | a script that re-enables this layout after a player upgrade |
/drive0/local/<package>/ | directory that contains all files of a certain package, layout below this directory is up to the respective packages developer, but should use .../bin/ for the executables, .../etc/ for the configuration files and .../lib/ for everything else. |
/sbin/init.orig | a backup of the original init script |
/sbin/init | our custom init script that supports the above layout |
/drive0/local/bin/ | contains generally available tools such as sort, tr, wc, du,... |
The links to the real init scripts should be named <id><package>, where <id> is a two digit decimal number, where the lowest <id> gets started first.
What do you think?