[Debian-live-changes] r2265 - in dists/trunk/live-helper: docs helpers
otavio at alioth.debian.org
otavio at alioth.debian.org
Thu Jun 28 03:37:32 UTC 2007
Author: otavio
Date: 2007-06-28 03:37:31 +0000 (Thu, 28 Jun 2007)
New Revision: 2265
Modified:
dists/trunk/live-helper/docs/ChangeLog
dists/trunk/live-helper/helpers/lh_binary_syslinux
Log:
Refactory lh_binary_syslinux
All entries for isolinux were hardcoded and then the code looked very
ugly and difficult to read. To solve it, methods to write the
debian-installer and normal entries were add and all code was change
to use those new methods.
Modified: dists/trunk/live-helper/docs/ChangeLog
===================================================================
--- dists/trunk/live-helper/docs/ChangeLog 2007-06-27 21:28:35 UTC (rev 2264)
+++ dists/trunk/live-helper/docs/ChangeLog 2007-06-28 03:37:31 UTC (rev 2265)
@@ -1,5 +1,10 @@
2007-06-27 Otavio Salvador <otavio at debian.org>
+ * helpers/lh_binary_syslinux:
+ - Added new methods (syslinux_live_entry and syslinux_di_entry)
+ and change whole code to use them making it much easier to
+ read and modify.
+
* functions/arch.sh:
- Added.
* helpers/lh_binary_grub, helpers/lh_binary_syslinux,
Modified: dists/trunk/live-helper/helpers/lh_binary_syslinux
===================================================================
--- dists/trunk/live-helper/helpers/lh_binary_syslinux 2007-06-27 21:28:35 UTC (rev 2264)
+++ dists/trunk/live-helper/helpers/lh_binary_syslinux 2007-06-28 03:37:31 UTC (rev 2265)
@@ -17,6 +17,47 @@
. "${FUNCTION}"
done
+# Local methods
+syslinux_live_entry ()
+{
+ label=$1
+ kernel=$2
+ initrd=$3
+ append=$4
+
+ # pxelinux and syslinux << 3.36 lacks support to file/path
+ files_path="/`basename ${DESTDIR_LIVE}`"
+ if [ "${LIVE_BINARY_IMAGES}" != "net" ] && [ "$files_path" != "binary" ]
+ then
+ kernel=$files_path/$kernel
+ initrd=$files_path/$initrd
+ fi
+
+ LINUX="$LINUX\nLABEL $label\n"
+ LINUX="$LINUX\tkernel $kernel\n"
+ LINUX="$LINUX\tappend initrd=$initrd boot=${INITFS} LIVE_BOOTAPPEND $append\n"
+}
+
+syslinux_di_entry ()
+{
+ label=$1
+ kernel=$2
+ initrd=$3
+ append=$4
+
+ # pxelinux and syslinux << 3.36 lacks support to file/path
+ files_path="/`basename ${DESTDIR_INSTALL}`"
+ if [ "${LIVE_BINARY_IMAGES}" != "net" ] && [ "$files_path" != "binary" ]
+ then
+ kernel=$files_path/$kernel
+ initrd=$files_path/$initrd
+ fi
+
+ LIVE_LINUX_INSTALL="$LIVE_LINUX_INSTALL\nLABEL $label\n"
+ LIVE_LINUX_INSTALL="$LIVE_LINUX_INSTALL\tkernel $kernel\n"
+ LIVE_LINUX_INSTALL="$LIVE_LINUX_INSTALL\tappend initrd=$initrd $append --\n"
+}
+
# Setting static variables
DESCRIPTION="installs syslinux into binary"
HELP=""
@@ -165,49 +206,25 @@
FAILSAFE="noapic noapm nodma nomce nolapic nosmp vga=normal"
# Assembling kernel configuration
-if [ "${LIVE_BINARY_IMAGES}" != "net" ]
-then
- DEFAULT_FLAVOUR="`echo ${LIVE_LINUX_FLAVOURS} | awk '{ print $1 }'`"
- # Workaround for syslinux (<< 3.36) which doesn't support long file/path names
- if [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
- then
- LINUX="# Debian GNU/Linux - live\nLABEL live\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
- LINUX="${LINUX}\n\n# Debian GNU/Linux - live-failsafe\nLABEL live-failsafe\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
- else
- LINUX="# Debian GNU/Linux - live\nLABEL live\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
- LINUX="${LINUX}\n\n# Debian GNU/Linux - live-failsafe\nLABEL live-failsafe\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
- fi
-else
- DEFAULT_FLAVOUR="`echo ${LIVE_LINUX_FLAVOURS} | awk '{ print $1 }'`"
- LINUX="# Debian GNU/Linux - live\nLABEL live\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
- LINUX="${LINUX}\n\n# Debian GNU/Linux - live-failsafe\nLABEL live-failsafe\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
-fi
+# Default entries
+DEfAULT_FLAVOUR="`echo ${LIVE_LINUX_FLAVOURS} | awk '{ print $1 }'`"
+DEFAULT_KERNEL="`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`"
+DEFAULT_INITRD="initrd.img-`echo ${DEFAULT_KERNEL} | sed -e 's/vmlinuz-//'`"
+syslinux_live_entry "live" "$DEFAULT_KERNEL" "$DEFAULT_INITRD"
+syslinux_live_entry "live-failsafe" "$DEFAULT_KERNEL" "$DEFAULT_INITRD" "$FAILSAFE"
+
if [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ]
then
for KERNEL in chroot/boot/vmlinuz*
do
- if [ -z "${LINUX}" ]
- then
- if [ "${LIVE_BINARY_IMAGES}" = "iso" ]
- then
- LINUX="# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
- LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
- else
- LINUX="# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} live_BOOTAPPEND"
- LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
- fi
- else
- if [ "${LIVE_BINARY_IMAGES}" = "iso" ]
- then
- LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
- LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
- else
- LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
- LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
- fi
- fi
+ KERNEL_IMG="`basename ${KERNEL}`"
+ KERNEL_VERSION="`echo ${KERNEL_IMG} | sed -e 's/vmlinuz-//'`"
+ INITRD="initrd.img-${KERNEL_VERSION}"
+
+ syslinux_live_entry "live-$KERNEL_VERSION" "$KERNEL_IMG" "$INITRD"
+ syslinux_live_entry "live-$KERNEL_VERSION-failsafe" "$KERNEL_IMG" "$INITRD" "$FAILSAFE"
done
fi
@@ -219,9 +236,11 @@
then
VMLINUZ_DI="vmlinuz"
INITRD_DI="initrd.gz"
+ APPEND_DI="vga=normal"
VMLINUZ_GI="gtk/vmlinuz"
INITRD_GI="gtk/initrd.gz"
+ APPEND_GI="video=vesa:ywrap,mtrr vga=788"
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names
if [ "${LIVE_DISTRIBUTION}" = "etch" ]
@@ -236,35 +255,15 @@
fi
fi
- # Workaround for syslinux (<< 3.36) which doesn't support long file/path names
- if [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
- then
- LIVE_LINUX_INSTALL="LABEL install\n\tkernel ${VMLINUZ_DI}\n\tappend vga=normal initrd=${INITRD_DI} -- "
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL linux\n\tkernel ${VMLINUZ_DI}\n\tappend vga=normal initrd=${INITRD_DI} -- "
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL installgui\n\tkernel ${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} -- "
-
- LIVE_KENREL_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expert\n\tkernel ${VMLINUZ_DI}\n\tappend priority=low vga=normal initrd=${INITRD_DI} -- "
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expertgui\n\tkernel ${VMLINUZ_GI}\n\tappend priority=low video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} -- "
-
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL rescue\n\tkernel ${VMLINUZ_DI}\n\tappend vga=normal initrd=${INITRD_DI} rescue/enable=true -- "
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL rescuegui\n\tkernel ${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} rescue/enable=true -- "
-
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL auto\n\tkernel ${VMLINUZ_DI}\n\tappend auto=true priority=critical vga=normal initrd=${INITRD_DI} -- "
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL autogui\n\tkernel ${VMLINUZ_GI}\n\tappend auto=true priority=critical video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} -- "
- else
- LIVE_LINUX_INSTALL="LABEL install\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} -- "
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL linux\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} -- "
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL installgui\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_GI} -- "
-
- LIVE_KENREL_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expert\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend priority=low vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} -- "
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expertgui\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_GI}\n\tappend priority=low video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_GI} -- "
-
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL rescue\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} rescue/enable=true -- "
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL rescuegui\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_GI} rescue/enable=true -- "
-
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL auto\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend auto=true priority=critical vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} -- "
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL autogui\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_GI}\n\tappend auto=true priority=critical video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_GI} -- "
- fi
+ syslinux_di_entry "linux" "$VMLINUZ_DI" "$INITRD_DI" "$APPEND_DI"
+ syslinux_di_entry "install" "$VMLINUZ_DI" "$INITRD_DI" "$APPEND_DI"
+ syslinux_di_entry "installgui" "$VMLINUZ_GI" "$INITRD_GI" "$APPEND_GI"
+ syslinux_di_entry "expert" "$VMLINUZ_DI" "$INITRD_DI" "priority=low $APPEND_DI"
+ syslinux_di_entry "expertgui" "$VMLINUZ_GI" "$INITRD_GI" "priority=low $APPEND_GI"
+ syslinux_di_entry "rescue" "$VMLINUZ_DI" "$INITRD_DI" "rescue/enable=true $APPEND_DI"
+ syslinux_di_entry "rescuegui" "$VMLINUZ_GI" "$INITRD_GI" "rescue/enable=true $APPEND_GI"
+ syslinux_di_entry "auto" "$VMLINUZ_DI" "$INITRD_DI" "auto=true $APPEND_DI"
+ syslinux_di_entry "autogui" "$VMLINUZ_GI" "$INITRD_GI" "auto=true $APPEND_GI"
fi
LIVE_LINUX_INSTALL="`echo ${LIVE_LINUX_INSTALL} | sed -e 's/binary//g' -e 's#//#/#g'`"
@@ -272,20 +271,14 @@
# Assembling memtest configuration
if [ -f "${DESTDIR_LIVE}"/memtest ]
then
- if [ "${LIVE_BINARY_IMAGES}" != "net" ]
+ KERNEL_PATH="/`basename ${DESTDIR_LIVE}`/"
+ # pxelinux and syslinux << 3.36 lacks support to file/path
+ if [ "${LIVE_BINARY_IMAGES}" = "net" ] || [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
then
- # Workaround for syslinux (<< 3.36) which doesn't support long file/path names
- if [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
- then
- MEMTEST="LABEL memtest\n\tkernel memtest"
- else
- MEMTEST="LABEL memtest\n\tkernel /`basename ${DESTDIR_LIVE}`/memtest"
- fi
- else
- MEMTEST="LABEL memtest\n\tkernel memtest"
+ KERNEL_PATH=""
fi
- MEMTEST="`echo ${MEMTEST} | sed -e 's#//#/#g'`"
+ MEMTEST="`echo LABEL ${KERNEL_PATH}memtest\n\tkernel memtest | sed -e 's#//#/#g'`"
fi
case "${LIVE_BINARY_IMAGES}" in
More information about the Debian-live-changes
mailing list