[SCM] debian-live/live-helper branch, master, updated. 1.0_a27-1-51-g9377334

Daniel Baumann daniel at debian.org
Sun Sep 23 15:24:04 UTC 2007


The branch, master has been updated
       via  9377334c155c23018b1442ed640fe248505285a3 (commit)
       via  a0669384f1e97a1e81ff7cb255601ac734a2d74e (commit)
       via  46f6fb1f4ef11d628c640f47f0b4864640396c3e (commit)
      from  bf8301b6cfaacbb7d87585ea30c37633c5f0e94d (commit)


- Shortlog ------------------------------------------------------------
9377334 implements syslinux vesa menu support
a066938 add new options to allow support for syslinux with vesa menu
46f6fb1 add template to be used by syslinux vesa menu support

Summary of changes:
 functions/defaults.sh                    |   13 ++++
 helpers/lh_binary_syslinux               |  110 ++++++++++++++++++++++--------
 helpers/lh_config                        |   20 ++++++
 templates/syslinux-menu/data/lat1-16.psf |  Bin 0 -> 5156 bytes
 templates/syslinux-menu/data/splash.png  |  Bin 0 -> 57186 bytes
 templates/syslinux-menu/isolinux.cfg     |   23 ++++++
 6 files changed, 138 insertions(+), 28 deletions(-)
-----------------------------------------------------------------------
Details of changes:

commit 9377334c155c23018b1442ed640fe248505285a3
Author: Otavio Salvador <otavio at ossystems.com.br>
Date:   Tue Sep 18 21:43:18 2007 -0300

    implements syslinux vesa menu support

diff --git a/helpers/lh_binary_syslinux b/helpers/lh_binary_syslinux
index c50ec05..4d26626 100755
--- a/helpers/lh_binary_syslinux
+++ b/helpers/lh_binary_syslinux
@@ -47,7 +47,12 @@ Require_stagefile .stage/bootstrap
 Check_stagefile .stage/binary_syslinux
 
 # Checking syslinux templates
-Check_templates syslinux
+if [ "${LH_SYSLINUX_MENU}" = "disabled" ]
+then
+	Check_templates syslinux
+else
+	Check_templates syslinux-menu
+fi
 
 # Checking lock file
 Check_lockfile .lock
@@ -68,12 +73,37 @@ Restore_cache cache/packages_binary
 Install_package
 
 # Local functions
+Syslinux_memtest_entry ()
+{
+	LABEL="${1}"
+	MENULABEL="${2}"
+	KERNEL="${3}"
+
+	# syslinux << 3.36 lacks support to file/path
+	if [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
+	then
+		KERNEL="${DIRECTORY}/${KERNEL}"
+	fi
+
+	MEMTEST="${MEMTEST}\nLABEL ${LABEL}\n"
+
+	# Write the menu label if the syslinux menu is being use
+	if [ "${LH_SYSLINUX_MENU}" != "disabled" ]
+	then
+		MEMTEST="${MEMTEST}\tMENU LABEL ${MENULABEL}\n"
+	fi
+
+	MEMTEST="${MEMTEST}\tkernel /${KERNEL}\n"
+	MEMTEST="`/bin/echo ${MEMTEST} | sed -e 's#//#/#g'`"
+}
+
 Syslinux_live_entry ()
 {
 	LABEL="${1}"
-	KERNEL="${2}"
-	INITRD="${3}"
-	APPEND="${4}"
+	MENULABEL="${2}"
+	KERNEL="${3}"
+	INITRD="${4}"
+	APPEND="${5}"
 
 	# syslinux << 3.36 lacks support to file/path
 	if [ "${LH_BINARY_IMAGES}" != "net" ] && [ "`basename ${DESTDIR_LIVE}`" != "binary" ]
@@ -84,6 +114,13 @@ Syslinux_live_entry ()
 	fi
 
 	LINUX_LIVE="${LINUX_LIVE}\nLABEL ${LABEL}\n"
+
+	# Write the menu label if the syslinux menu is being use
+	if [ "${LH_SYSLINUX_MENU}" != "disabled" ]
+	then
+		LINUX_LIVE="${LINUX_LIVE}\tMENU LABEL ${MENULABEL}\n"
+	fi
+
 	LINUX_LIVE="${LINUX_LIVE}\tkernel /${KERNEL}\n"
 	LINUX_LIVE="${LINUX_LIVE}\tappend initrd=/${INITRD} boot=${INITFS} LH_BOOTAPPEND_LIVE ${APPEND}\n"
 }
@@ -250,8 +287,8 @@ DEFAULT_FLAVOUR="`echo ${LH_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}"
+Syslinux_live_entry "live" "${LH_SYSLINUX_MENU_LH_ENTRY}" "${DEFAULT_KERNEL}" "${DEFAULT_INITRD}"
+Syslinux_live_entry "live-failsafe" "${LH_SYSLINUX_MENU_LIVE_FAILSAFE_ENTRY}" "${DEFAULT_KERNEL}" "${DEFAULT_INITRD}" "${FAILSAFE}"
 
 if [ "`echo ${LH_LINUX_FLAVOURS} | wc -w`" -gt "1" ]
 then
@@ -261,8 +298,8 @@ then
 		KERNEL_VERSION="`echo ${KERNEL_IMAGE} | sed -e 's/vmlinuz-//'`"
 		INITRD="initrd.img-${KERNEL_VERSION}"
 
-		Syslinux_live_entry "live-${KERNEL_VERSION}" "${KERNEL_IMAGE}" "${INITRD}"
-		Syslinux_live_entry "live-${KERNEL_VERSION}-failsafe" "${KERNEL_IMAGE}" "${INITRD}" "${FAILSAFE}"
+		Syslinux_live_entry "live-${KERNEL_VERSION}" "${LH_SYSLINUX_MENU_LIVE_ENTRY}" "${KERNEL_IMAGE}" "${INITRD}"
+		Syslinux_live_entry "live-${KERNEL_VERSION}-failsafe" "${LH_SYSLINUX_MENU_LIVE_FAILSAFE_ENTRY}" "${KERNEL_IMAGE}" "${INITRD}" "${FAILSAFE}"
 	done
 fi
 
@@ -308,16 +345,7 @@ LINUX_INSTALL="`/bin/echo ${LINUX_INSTALL} | sed -e 's/binary//g' -e 's#//#/#g'`
 # Assembling memtest configuration
 if [ -f "${DESTDIR_LIVE}"/memtest ]
 then
-	KERNEL_PATH="/`basename ${DESTDIR_LIVE}`/"
-
-	# syslinux << 3.36 lacks support to file/path
-	if [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
-	then
-		KERNEL_PATH=""
-	fi
-
-	MEMTEST="LABEL memtest\n\tkernel ${KERNEL_PATH}memtest"
-	MEMTEST="`/bin/echo ${MEMTEST} | sed -e 's#//#/#g'`"
+	Syslinux_memtest_entry "memtest" "${LH_SYSLINUX_MENU_MEMTEST_ENTRY}" "memtest"
 fi
 
 case "${LH_BINARY_IMAGES}" in
@@ -365,24 +393,44 @@ case "${LH_BINARY_IMAGES}" in
 
 		mv binary/isolinux/syslinux.cfg binary/isolinux/isolinux.cfg
 
+		# Copying configuration file
+		if [ -n "${LH_SYSLINUX_CFG}" ]
+		then
+			cp "${LH_SYSLINUX_CFG}" binary/isolinux/isolinux.cfg
+		fi
+
 		# Copying local configuration file
 		if [ -f config/binary_syslinux/syslinux.cfg ]
 		then
-			cp config/binary_syslinux/syslinux.cfg binary/isolinux/isolinux.cfg
+			LH_SYSLINUX_SPLASH="config/binary_syslinux/splash.rle"
 		fi
 
-		# Copying splash screen
-		if [ -f config/binary_syslinux/splash.rle ]
+		# Copying menu module
+		if [ "${LH_SYSLINUX_MENU}" != "disabled" ]
 		then
-			LH_SYSLINUX_SPLASH="config/binary_syslinux/splash.rle"
+			MENUPATH="`grep 'menu.c32' binary/isolinux/isolinux.cfg | sed 's,DEFAULT\s*\(.*menu.c32\)$,\1,g'`"
+			MENUMODULE="`basename ${MENUPATH}`"
+
+			mkdir -p binary/isolinux/"`dirname ${MENUPATH}`"
+			cp chroot/usr/lib/syslinux/"${MENUMODULE}" binary/isolinux/"`dirname ${MENUPATH}`"
 		fi
 
-		if [ -n "${LH_SYSLINUX_SPLASH}" ]
+		# Copying splash screen
+		if [ -z "${LH_SYSLINUX_SPLASH}" ] || [ "${LH_SYSLINUX_SPLASH}" = "none" ] 
 		then
-			if [ "${LH_SYSLINUX_SPLASH}" = "none" ]
+			rm -f binary/isolinux/splash.rle
+			sed -i -e "s/.*splash.*//" binary/isolinux/boot.txt
+		else
+			if [ "${LH_SYSLINUX_MENU}" != "disabled" ]
 			then
-				rm -f binary/isolinux/splash.rle
-				sed -i -e "s/.*splash.*//" binary/isolinux/boot.txt
+				SPLASHPATH="`grep -i 'MENU BACKGROUND' binary/isolinux/isolinux.cfg | sed 's,MENU\sBACKGROUND\s*\(.*\)$,\1,g'`"
+				if [ ! -e "${LH_SYSLINUX_SPLASH}" ]
+				then
+					Echo_error "${LH_SYSLINUX_SPLASH} doen't exist"
+					exit 1
+				fi
+				mkdir -p binary/isolinux/"`dirname ${SPLASHPATH}`"
+				cp -f "${LH_SYSLINUX_SPLASH}" binary/isolinux/"${SPLASHPATH}"
 			else
 				cp -f "${LH_SYSLINUX_SPLASH}" binary/isolinux/splash.rle
 			fi
@@ -391,9 +439,15 @@ case "${LH_BINARY_IMAGES}" in
 		# Configure syslinux templates
 		sed -i -e "s at LINUX_LIVE@${LINUX_LIVE}@" -e "s at LINUX_INSTALL@${LINUX_INSTALL}@" -e "s at MEMTEST@${MEMTEST}@" binary/isolinux/isolinux.cfg
 		sed -i -e "s#LH_BOOTAPPEND_INSTALL#${LH_BOOTAPPEND_INSTALL}#" -e "s#LH_BOOTAPPEND_LIVE#${LH_BOOTAPPEND_LIVE}#" binary/isolinux/isolinux.cfg
-		sed -i -e "s/LH_DISTRIBUTION/${LH_DISTRIBUTION}/" -e "s/LH_DATE/`date +%Y%m%d`/" -e "s/LH_MEDIA/CD-ROM/" binary/isolinux/f1.txt
+		if [ -e binary/isolinux/f1.txt ]
+		then
+			sed -i -e "s/LH_DISTRIBUTION/${LH_DISTRIBUTION}/" -e "s/LH_DATE/`date +%Y%m%d`/" -e "s/LH_MEDIA/CD-ROM/" binary/isolinux/f1.txt
+		fi
 		sed -i -e "s/LH_MEDIA/CD-ROM/" binary/isolinux/f3.txt
-		sed -i -e "s/LH_VERSION/${VERSION}/" binary/isolinux/f10.txt
+		if [ -e binary/isolinux/f10.txt ]
+		then
+			sed -i -e "s/LH_VERSION/${VERSION}/" binary/isolinux/f10.txt
+		fi
 
 		# Working arround syslinux 8.3 limitation
 		if [ "`echo ${LH_LINUX_FLAVOURS} | wc -w`" -gt "1" ]

commit a0669384f1e97a1e81ff7cb255601ac734a2d74e
Author: Otavio Salvador <otavio at ossystems.com.br>
Date:   Tue Sep 18 21:42:09 2007 -0300

    add new options to allow support for syslinux with vesa menu
    
    A set of new options has been add to allow the syslinux vesa menu
    support to be added. Those are the new options:
    
     - LH_SYSLINUX_CFG: set custom syslinux configuration file
     - LH_SYSLINUX_MENU: set syslinux menu
     - LH_SYSLINUX_MENU_LIVE_ENTRY: set text to be used on the menu for
       live entries
     - LH_SYSLINUX_MENU_LIVE_FAILSAFE_ENTRY: set text to be used on the
       menu for live entries (failsafe ones)
     - LH_SYSLINUX_MENU_MEMTEST_ENTRY: set text to be used on the menu
       for memtest entry

diff --git a/functions/defaults.sh b/functions/defaults.sh
index 8557226..4ed1c9f 100755
--- a/functions/defaults.sh
+++ b/functions/defaults.sh
@@ -730,11 +730,24 @@ Set_defaults ()
 	# Setting netboot server address
 	LH_NET_SERVER="${LH_NET_SERVER:-192.168.1.1}"
 
+	# Setting syslinux configuration file
+	# LH_SYSLINUX_CFG
+
 	# Setting syslinux splash
 	# LH_SYSLINUX_SPLASH
 
 	LH_SYSLINUX_TIMEOUT="${LH_SYSLINUX_TIMEOUT:-0}"
 
+	# Setting syslinux menu
+	LH_SYSLINUX_MENU="${LH_SYSLINUX_MENU:-disabled}"
+
+	# Setting syslinux menu live entries
+	LH_SYSLINUX_MENU_LIVE_ENTRY="${LH_SYSLINUX_MENU_LIVE_ENTRY:-Start ${LH_ISO_APPLICATION}}"
+	LH_SYSLINUX_MENU_LIVE_ENTRY_FAILSAFE="${LH_SYSLINUX_MENU_LIVE_ENTRY_FAILSAFE:-${LH_SYSLINUX_MENU_LIVE_ENTRY} - Fail Safe}"
+
+	# Settings memtest menu entry
+	LH_SYSLINUX_MENU_MEMTEST_ENTRY="${LH_SYSLINUX_MENU_MEMTEST_ENTRY:-Memory test}"
+
 	# Setting username
 	LH_USERNAME="${LH_USERNAME:-user}"
 
diff --git a/helpers/lh_config b/helpers/lh_config
index d80dd9d..78604ea 100755
--- a/helpers/lh_config
+++ b/helpers/lh_config
@@ -924,6 +924,26 @@ LH_SYSLINUX_SPLASH="${LH_SYSLINUX_SPLASH}"
 # (Default: 0)
 LH_SYSLINUX_TIMEOUT="${LH_SYSLINUX_TIMEOUT}"
 
+# \$LH_SYSLINUX_CFG: set custom syslinux configuration file
+# (Default: empty)
+LH_SYSLINUX_CFG="${LH_SYSLINUX_CFG}"
+
+# \$LH_SYSLINUX_MENU: set syslinux menu
+# (Default: ${LH_SYSLINUX_MENU})
+LH_SYSLINUX_MENU="${LH_SYSLINUX_MENU}"
+
+# \$LH_SYSLINUX_MENU_LIVE_ENTRY: set text to be used on the menu for live entries
+# (Default: ${LH_SYSLINUX_MENU_LIVE_ENTRY})
+LH_SYSLINUX_MENU_LIVE_ENTRY="${LH_SYSLINUX_MENU_LIVE_ENTRY}"
+
+# \$LH_SYSLINUX_MENU_LIVE_FAILSAFE_ENTRY: set text to be used on the menu for live entries (failsafe ones)
+# (Default: ${LH_SYSLINUX_MENU_LIVE_FAILSAFE_ENTRY})
+LH_SYSLINUX_MENU_LIVE_FAILSAFE_ENTRY="${LH_SYSLINUX_MENU_LIVE_FAILSAFE_ENTRY}"
+
+# \$LH_SYSLINUX_MENU_MEMTEST_ENTRY: set text to be used on the menu for memtest entry
+# (Default: ${LH_SYSLINUX_MENU_MEMTEST_ENTRY})
+LH_SYSLINUX_MENU_MEMTEST_ENTRY="${LH_SYSLINUX_MENU_MEMTEST_ENTRY}"
+
 # \$LH_USERNAME: set username
 # (Default: ${LH_USERNAME})
 LH_USERNAME="${LH_USERNAME}"

commit 46f6fb1f4ef11d628c640f47f0b4864640396c3e
Author: Otavio Salvador <otavio at ossystems.com.br>
Date:   Tue Sep 18 21:51:56 2007 -0300

    add template to be used by syslinux vesa menu support
    
    A new template has been included to enable live-helper to support
    syslinux vesa menu. This includes a font, splash image and a new
    configuration file.

diff --git a/templates/syslinux-menu/data/lat1-16.psf b/templates/syslinux-menu/data/lat1-16.psf
new file mode 100644
index 0000000..097a640
Binary files /dev/null and b/templates/syslinux-menu/data/lat1-16.psf differ
diff --git a/templates/syslinux-menu/data/splash.png b/templates/syslinux-menu/data/splash.png
new file mode 100644
index 0000000..5669615
Binary files /dev/null and b/templates/syslinux-menu/data/splash.png differ
diff --git a/templates/syslinux-menu/isolinux.cfg b/templates/syslinux-menu/isolinux.cfg
new file mode 100644
index 0000000..887e3d8
--- /dev/null
+++ b/templates/syslinux-menu/isolinux.cfg
@@ -0,0 +1,23 @@
+FONT               data/lat1-16.psf
+DEFAULT            data/vesamenu.c32
+
+TIMEOUT            1000
+PROMPT             0
+
+MENU BACKGROUND    data/splash.png
+MENU COLOR TITLE   * #FFFFFFFF *
+MENU COLOR BORDER  * #00000000 #00000000 none
+MENU COLOR SEL     * #ffffffff #76a1d0ff *
+MENU COLOR HOTSEL  1;7;37;40 #ffffffff #76a1d0ff *
+MENU COLOR HOTKEY  1;37;40;44 #90ffffff #00000000 std
+MENU VSHIFT        7
+MENU HSHIFT        6
+MENU WIDTH         67
+MENU TABMSG        Press [tab] to edit the menu entry
+MENU TIMEOUTROW    16
+
+LINUX_LIVE
+
+LINUX_INSTALL
+
+MEMTEST

-- 
debian-live/live-helper



More information about the debian-live-changes mailing list