I've been thinking a little further...
how about we put our own root on /dev/hda2 with our own init that calls our userland programs mounts the empeg root (/dev/hda5) somewhere and chroot and execs the distributed init...
We still need a way to upload to /dev/hda2 but the contents of /dev/hda2 remain over an upgrade... and which partition to mount as root is managable from the kernel...
so user binaries would get installed in /dev/hda2 with our own init and the empeg distributed stuff remains untouched...
we could go further and have our init look for packages to install that have been uploaded to /dev/hda2 (or install scripts if the packages are too big for /dev/hda2)
Our init could see config.ini and initialise all the menus before calling the real init...
Would this work...? or would there be some additional problems with chrooting for the real init...? My understanding is that it should work as it is the equivalent of what happens with an initrd... and an initrd allows programs to continue running that were spawned from the initrd even after you remount the real root...
Cheers
Kim