KERNEL_VERSION_=`uname -r`
-MOUNT_POINT_="/cdrom"
+if [ -e '/live/cow' ]; then
+ MOUNT_POINT_="/live/image"
+else
+ MOUNT_POINT_="/cdrom"
+fi
DATA_PATH_="$MOUNT_POINT_/boot/isolinux"
# INITRD {{{
-
function actionMkInitrd
{
echo -n "Creating initrd $PATH_/minirt26.gz: "
isExistent "$PATH_/minirt26.gz" && echo && echo "$PATH_/minirt26.gz exists already, skipping initrd creation" && return 0
- mkInitrd
+ if [ -e '/live/cow' ]; then
+ mkInitrdNew
+ else
+ mkInitrd
+ fi
echo done
}
+function mkInitrdNew
+{
+ set -e
+ local cfg_="/etc/initramfs-tools/initramfs.conf"
+ local tmp_="`mktemp -t terminalserver__initramfsbk.XXXXXX`"
+ cp $cfg_ $tmp_
+ sed -i 's/^MODULES=.*/MODULES=netboot/' $cfg_
+ update-initramfs -u -t
+ mv $tmp_ $cfg_
+
+ local initrd_="/boot/initrd.img-$KERNEL_VERSION_"
+ mv $initrd_ $PATH_/minirt26.gz
+ mv ${initrd_}.bak $initrd_
+ set +e
+}
+
function mkInitrd
{
TMP_DIR_=`mktemp -td terminalserver_initrd.XXXXXX`
# default boot arguments used for both grub and pxelinux
-default_boot_args_="ramdisk_size=24000 root=/dev/ram0 rw \
+if [ -e '/live/cow' ]; then
+ default_boot_args_="root=/dev/nfs rw nfsroot=$IP_:$MOUNT_POINT_ \
+boot=live lang=us nomce quiet apm=power-off"
+else
+ default_boot_args_="ramdisk_size=24000 root=/dev/ram0 rw \
init=/etc/init nfsdir=$IP_:$MOUNT_POINT_ nodhcp noprompt noeject \
apm=power-off nomce lang=us"
+fi
# special boot arguments required by grub
grub_def_boot_args_="/linux26 $default_boot_args_"