What I would liek to do is have one /tce folder on hda1 on a frugal install and use grub (old) to boot into various desktops. F.i: in VESA, XORG and into XFCE4.8 or other desktops.
Could you please give me some hints on how to do that.
I boot from a USB stick with a single frugal tc (mc, actually) install and a single tce directory but it boots differently depending upon what physical host I plug it into.
*) loads a limited number of extensions on boot
*) compares the UUIDs of the any available filesystems a table to determine the physical host
*) loads various additional extensions and otherwise configures the system based upon the result
Most of the work happens in scripts called from bootsync.sh and/or bootlocal.sh
There's no reason the configuration couldn't be determined by some other means - perhaps a boot code that you include in various grub entries (or that you could add manually at boot time). You can make up your own boot codes and read them from your own scripts - the "official" boot codes are simply the ones considered by tc base (or by the kernal).
bootsync.shTCE_DIR=`cat /opt/.tce_dir`
TCE_DEV=`/usr/bin/dirname ${TCE_DIR}`
LEMCFG=/opt/whathost
# log to persistent storage in case this blows up on me
[ -d "${TCE_DEV}/tmp/" ] || mkdir "${TCE_DEV}/tmp/"
echo "`/bin/date +%C%y%m%d_%H%M%S` ${0} Script entry point " >${TCE_DEV}/tmp/bootlog
chown tc:staff ${TCE_DEV}/tmp/bootlog
# many log messages removed below for code clarity -Lee
WHATHOST=`/opt/bin/whathost`
HOSTCFG=${LEMCFG}/${WHATHOST}
/bin/hostname ${WHATHOST}
export TCE_DIR
export TCE_DEV
export LEMCFG
export WHATHOST
export HOSTCFG
if [ -d "${HOSTCFG}" ] ; then {
# * * * process host-specific onboot.lst * * *
if [ -f ${HOSTCFG}/onboot.lst ] ; then {
cat ${HOSTCFG}/onboot.lst | while read EXT ; do {
su -c "tce-load -i ${EXT}" tc
} done
} else {
echo "`/bin/date +%C%y%m%d_%H%M%S` ${0} ${HOSTCFG}/onboot.lst not found" >>${TCE_DEV}/tmp/bootlog
} fi
# * * * process host-specific ondemand.lst * * *
/opt/bin/ondemand.lem
# * * * Process host-specific bootsync.sh * * *
if [ -f ${HOSTCFG}/bootsync.sh ] ; then {
${HOSTCFG}/bootsync.sh
} else {
echo "`/bin/date +%C%y%m%d_%H%M%S` ${0} ${HOSTCFG}/bootsync.sh not found" >>${TCE_DEV}/tmp/bootlog
} fi
} else {
echo "`/bin/date +%C%y%m%d_%H%M%S` ${0} ${HOSTCFG} directory does not exist" >>${TCE_DEV}/tmp/bootlog
} fi
# lem - my bootlocal.sh is set up to also do host-specific asynchronous setup
if [ -f /opt/bootlocal.sh ] ; then {
/opt/bootlocal.sh &
} else {
echo "`/bin/date +%C%y%m%d_%H%M%S` ${0} /opt/bootlocal.sh not found" >>${TCE_DEV}/tmp/bootlog
} fi