Problem is: even if the process is fool proof, its still some work to do, and with every new install of a new version, all is lost, and must be done again ...
( or am i wrong ?!? )


Depending how you organize things. You can easily put all the stuff that is extra to the normal developer image into specific directory under /drive0 and then just have a script to symlink those back after upgrade.

Here's the script I use to restore my custom things back after upgrade:

#
# This script restores default settings after root partition
# has been cloned with emplode.
#

#!/bin/sh

mount -n -o remount,rw /

mkdir /scratch
/bin/mount -n -o rw,sync,errors=continue /dev/hda2 /scratch

mv /sbin/init /sbin/init.orig
cp /drive0/empeg/E_BootLoader/exe/init /sbin/init
cp /drive0/empeg/E_BootLoader/exe/init.config /

mv /usr /usr.orig
ln -s /drive0/kim/usr /usr

mv /var /var.orig
ln -s /scratch/var /var

mv /tmp /tmp.orig
ln -s /scratch/tmp /tmp

mv /etc /etc.orig
ln -s /scratch/etc /etc

ln -s /drive0/kim/lib/libnss_compat.so.2 /lib/libnss_compat.so.2
ln -s /drive0/kim/lib/libnss_db.so.2 /lib/libnss_db.so.2
ln -s /drive0/kim/lib/libnss_dns.so.2 /lib/libnss_dns.so.2
ln -s /drive0/kim/lib/libnss_files.so.2 /lib/libnss_files.so.2
ln -s /drive0/kim/lib/libnss_hesiod.so.2 /lib/libnss_hesiod.so.2
ln -s /drive0/kim/lib/libnss_nisplus.so.2 /lib/libnss_nisplus.so.2
ln -s /drive0/kim/lib/libnss_nis.so.2 /lib/libnss_nis.so.2
ln -s /drive0/kim/lib/libresolv-2.1.so /lib/libresolv.so.2
ln -s /drive0/kim/lib/libstdc++-3-libc6.1-2-2.10.0.so /lib/libstdc++-libc6.1-2.s
o.3

mount -n -o remount,ro /


And it really doesn't take more than one minute to get custom things back after upgrade.

Kim