[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

syslinux patch for xen flavour



hi,

To boot xen dom0 from debian-live, I tweak lh_binary_syslinux.
I'm glad if someone check and integrate it.

regards,
-- 
KURASHIKI Satoru
diff --git a/helpers/lh_binary_syslinux b/helpers/lh_binary_syslinux
index 2d7cf33..ef5d962 100755
--- a/helpers/lh_binary_syslinux
+++ b/helpers/lh_binary_syslinux
@@ -94,6 +94,22 @@ Syslinux_live_entry ()
 	INITRD="${4}"
 	APPEND="${5}"
 
+	# Check xen-flavour
+	if [ "$(echo ${KERNEL} | grep 'xen-')" != "" ]
+	then
+		# prepare multiboot module
+		case "${LH_CHROOT_BUILD}" in
+			enabled)
+				cp chroot/usr/lib/syslinux/mboot.c32 ${DATA_PATH}
+				;;
+			disabled)
+				cp /usr/lib/syslinux/mboot.c32 ${DATA_PATH}
+				;;
+		esac
+		XEN_KERNEL="$(basename chroot/boot/xen-*)"
+
+	fi
+
 	case "${LH_BINARY_IMAGES}" in
 		iso|usb-hdd)
 			NUMBER="$(ls -1 ${KERNEL_PATH} | grep 'vmlinuz[0-9]\+$' | wc -l)"
@@ -108,6 +124,14 @@ Syslinux_live_entry ()
 		;;
 	esac
 
+	# Xen kernel
+	if [ -f ${DATA_PATH}/mboot.c32 ]
+	then
+		LINUX_LIVE="${LINUX_LIVE}\nLABEL ${LABEL} Xen\n"
+		LINUX_LIVE="${LINUX_LIVE}\tkernel ${LIVE_DATA_PATH}/mboot.c32\n"
+		LINUX_LIVE="${LINUX_LIVE}\tappend ${LIVE_KERNEL_PATH}/${XEN_KERNEL} dom0_mem=256M --- ${LIVE_KERNEL_PATH}/${KERNEL} boot=${INITFS} ${LH_BOOTAPPEND_LIVE} ${APPEND} --- ${LIVE_KERNEL_PATH}/${INITRD}\n"
+	fi
+
 	# Regular kernel
 	LINUX_LIVE="${LINUX_LIVE}\nLABEL ${LABEL}\n"
 
@@ -496,6 +520,11 @@ then
 	mv binary/${INITFS}/vmlinuz* ${KERNEL_PATH}
 	mv binary/${INITFS}/initrd* ${KERNEL_PATH}
 
+	if [ "$(echo ${LH_LINUX_FLAVOURS} | grep 'xen-')" != "" ]
+	then
+		mv binary/${INITFS}/xen* ${KERNEL_PATH}
+	fi
+
 	if [ "${LH_MEMTEST}" != "disabled" ] && [ "${LH_MEMTEST}" != "none" ]
 	then
 		mv binary/${INITFS}/memtest ${KERNEL_PATH}

Reply to: