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

Re: [PATCH] Fix installer syslinux menu



Hi all,

Another attempt at fixing isolinux installer menus, now taking binary
image types into account to compute paths (copied from
lb_binary_debian-installer).

While testing netboot image builds, I noticed a dangling pxelinux.tmp
directory in the generated archive file. I added the last commit to try
and fix this as well but as I have little experience with netboot images
I'm not sure whether it actually breaks more stuff thant it fixes.

Waiting for your input.


>From 99c8c47d5693ab943d3467c8aff581a54eed08a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Masset?= <sebastien.masset@laposte.net>
Date: Wed, 15 Aug 2012 10:34:22 +0200
Subject: [PATCH 1/5] Renaming bootloader installer template files

---
 share/bootloaders/extlinux/install.cfg    |    1 -
 share/bootloaders/extlinux/install.cfg.in |    1 +
 share/bootloaders/isolinux/install.cfg    |    1 -
 share/bootloaders/isolinux/install.cfg.in |    1 +
 share/bootloaders/pxelinux/install.cfg    |    1 -
 share/bootloaders/pxelinux/install.cfg.in |    1 +
 share/bootloaders/syslinux/install.cfg    |    1 -
 share/bootloaders/syslinux/install.cfg.in |    1 +
 8 files changed, 4 insertions(+), 4 deletions(-)
 delete mode 100644 share/bootloaders/extlinux/install.cfg
 create mode 100644 share/bootloaders/extlinux/install.cfg.in
 delete mode 100644 share/bootloaders/isolinux/install.cfg
 create mode 100644 share/bootloaders/isolinux/install.cfg.in
 delete mode 100644 share/bootloaders/pxelinux/install.cfg
 create mode 100644 share/bootloaders/pxelinux/install.cfg.in
 delete mode 100644 share/bootloaders/syslinux/install.cfg
 create mode 100644 share/bootloaders/syslinux/install.cfg.in

diff --git a/share/bootloaders/extlinux/install.cfg
b/share/bootloaders/extlinux/install.cfg
deleted file mode 100644
index 94fb816..0000000
--- a/share/bootloaders/extlinux/install.cfg
+++ /dev/null
@@ -1 +0,0 @@
-# FIXME
diff --git a/share/bootloaders/extlinux/install.cfg.in
b/share/bootloaders/extlinux/install.cfg.in
new file mode 100644
index 0000000..94fb816
--- /dev/null
+++ b/share/bootloaders/extlinux/install.cfg.in
@@ -0,0 +1 @@
+# FIXME
diff --git a/share/bootloaders/isolinux/install.cfg
b/share/bootloaders/isolinux/install.cfg
deleted file mode 100644
index 94fb816..0000000
--- a/share/bootloaders/isolinux/install.cfg
+++ /dev/null
@@ -1 +0,0 @@
-# FIXME
diff --git a/share/bootloaders/isolinux/install.cfg.in
b/share/bootloaders/isolinux/install.cfg.in
new file mode 100644
index 0000000..94fb816
--- /dev/null
+++ b/share/bootloaders/isolinux/install.cfg.in
@@ -0,0 +1 @@
+# FIXME
diff --git a/share/bootloaders/pxelinux/install.cfg
b/share/bootloaders/pxelinux/install.cfg
deleted file mode 100644
index 94fb816..0000000
--- a/share/bootloaders/pxelinux/install.cfg
+++ /dev/null
@@ -1 +0,0 @@
-# FIXME
diff --git a/share/bootloaders/pxelinux/install.cfg.in
b/share/bootloaders/pxelinux/install.cfg.in
new file mode 100644
index 0000000..94fb816
--- /dev/null
+++ b/share/bootloaders/pxelinux/install.cfg.in
@@ -0,0 +1 @@
+# FIXME
diff --git a/share/bootloaders/syslinux/install.cfg
b/share/bootloaders/syslinux/install.cfg
deleted file mode 100644
index 94fb816..0000000
--- a/share/bootloaders/syslinux/install.cfg
+++ /dev/null
@@ -1 +0,0 @@
-# FIXME
diff --git a/share/bootloaders/syslinux/install.cfg.in
b/share/bootloaders/syslinux/install.cfg.in
new file mode 100644
index 0000000..94fb816
--- /dev/null
+++ b/share/bootloaders/syslinux/install.cfg.in
@@ -0,0 +1 @@
+# FIXME
-- 
1.7.0.4


>From 67d82b9f4679c77951808925f9061b411dfdc19e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Masset?= <sebastien.masset@laposte.net>
Date: Tue, 21 Aug 2012 22:45:41 +0200
Subject: [PATCH 2/5] Fixing bootloader installer template files

---
 share/bootloaders/extlinux/install.cfg.in |    6 +++++-
 share/bootloaders/isolinux/install.cfg.in |    6 +++++-
 share/bootloaders/pxelinux/install.cfg.in |    6 +++++-
 share/bootloaders/syslinux/install.cfg.in |    6 +++++-
 4 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/share/bootloaders/extlinux/install.cfg.in
b/share/bootloaders/extlinux/install.cfg.in
index 94fb816..9efbd83 100644
--- a/share/bootloaders/extlinux/install.cfg.in
+++ b/share/bootloaders/extlinux/install.cfg.in
@@ -1 +1,5 @@
-# FIXME
+label install-@VARIANT@
+	menu label ^Install (@VARIANT@)
+	kernel @KERNEL@
+	append initrd=@INITRD@ boot=live config @LB_BOOTAPPEND_INSTALL@
+
diff --git a/share/bootloaders/isolinux/install.cfg.in
b/share/bootloaders/isolinux/install.cfg.in
index 94fb816..9efbd83 100644
--- a/share/bootloaders/isolinux/install.cfg.in
+++ b/share/bootloaders/isolinux/install.cfg.in
@@ -1 +1,5 @@
-# FIXME
+label install-@VARIANT@
+	menu label ^Install (@VARIANT@)
+	kernel @KERNEL@
+	append initrd=@INITRD@ boot=live config @LB_BOOTAPPEND_INSTALL@
+
diff --git a/share/bootloaders/pxelinux/install.cfg.in
b/share/bootloaders/pxelinux/install.cfg.in
index 94fb816..9efbd83 100644
--- a/share/bootloaders/pxelinux/install.cfg.in
+++ b/share/bootloaders/pxelinux/install.cfg.in
@@ -1 +1,5 @@
-# FIXME
+label install-@VARIANT@
+	menu label ^Install (@VARIANT@)
+	kernel @KERNEL@
+	append initrd=@INITRD@ boot=live config @LB_BOOTAPPEND_INSTALL@
+
diff --git a/share/bootloaders/syslinux/install.cfg.in
b/share/bootloaders/syslinux/install.cfg.in
index 94fb816..9efbd83 100644
--- a/share/bootloaders/syslinux/install.cfg.in
+++ b/share/bootloaders/syslinux/install.cfg.in
@@ -1 +1,5 @@
-# FIXME
+label install-@VARIANT@
+	menu label ^Install (@VARIANT@)
+	kernel @KERNEL@
+	append initrd=@INITRD@ boot=live config @LB_BOOTAPPEND_INSTALL@
+
-- 
1.7.0.4


>From a5bea4cb6d5b758e2e27fe623d0d8317a3530c91 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Masset?= <sebastien.masset@laposte.net>
Date: Thu, 23 Aug 2012 21:34:36 +0200
Subject: [PATCH 3/5] First attempt at fixing syslinux installer menus

---
 scripts/build/lb_binary_syslinux |   32
++++++++++++++++++++++++++++++--
 1 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/scripts/build/lb_binary_syslinux
b/scripts/build/lb_binary_syslinux
index 41b141d..7b7dd33 100755
--- a/scripts/build/lb_binary_syslinux
+++ b/scripts/build/lb_binary_syslinux
@@ -256,10 +256,38 @@ then
 	${_TARGET}/live.cfg
 fi
 
-if [ -e ${_TARGET}/install.cfg ]
+if [ -e "${_TARGET}/install.cfg.in" ]
+then
+	if [ -e "binary/install/vmlinuz" ]
+	then
+		sed -e "s|@VARIANT@|text|g" \
+		    -e "s|@KERNEL@|/install/vmlinuz|g" \
+		    -e "s|@INITRD@|/install/initrd.gz|g" \
+		    -e "s|@LB_BOOTAPPEND_INSTALL@|${LB_BOOTAPPEND_INSTALL}|g" \
+		"${_TARGET}/install.cfg.in" >> "${_TARGET}/install.cfg"
+	fi
+
+	if [ -e "binary/install/gtk/vmlinuz" ]
+	then
+		sed -e "s|@VARIANT@|gui|g" \
+		    -e "s|@KERNEL@|/install/gtk/vmlinuz|g" \
+		    -e "s|@INITRD@|/install/gtk/initrd.gz|g" \
+		    -e "s|@LB_BOOTAPPEND_INSTALL@|${LB_BOOTAPPEND_INSTALL}|g" \
+		"${_TARGET}/install.cfg.in" >> "${_TARGET}/install.cfg"
+	fi
+
+	if [ ! -e "${_TARGET}/install.cfg" ]
+	then
+		touch "${_TARGET}/install.cfg"
+	fi
+
+	rm -f "${_TARGET}/install.cfg.in"
+elif [ -e ${_TARGET}/install.cfg ]
 then
 	sed -i -e "s|@LB_BOOTAPPEND_INSTALL@|${LB_BOOTAPPEND_INSTALL}|g" \
-	${_TARGET}/install.cfg
+	"${_TARGET}/install.cfg"
+else
+	touch "${_TARGET}/install.cfg"
 fi
 
 if [ -e "${_TARGET}/splash.svg.in" ]
-- 
1.7.0.4


>From 14061aedce9a2e2f321975976bbd36fa378c8736 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Masset?= <sebastien.masset@laposte.net>
Date: Tue, 21 Aug 2012 21:28:35 +0200
Subject: [PATCH 4/5] Handling binary image type to compute initrd and
vmlinux path

---
 scripts/build/lb_binary_syslinux |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/scripts/build/lb_binary_syslinux
b/scripts/build/lb_binary_syslinux
index 7b7dd33..4b2d1e8 100755
--- a/scripts/build/lb_binary_syslinux
+++ b/scripts/build/lb_binary_syslinux
@@ -258,20 +258,39 @@ fi
 
 if [ -e "${_TARGET}/install.cfg.in" ]
 then
-	if [ -e "binary/install/vmlinuz" ]
+	# Setting destination directory
+	case "${LB_BINARY_IMAGES}" in
+		netboot)
+			#FIXME : check dirs
+			BOOT_DESTDIR="tftpboot/debian-install/${LB_ARCHITECTURES}"
+			BUILD_DESTDIR="tftpboot/debian-install/${LB_ARCHITECTURES}"
+			;;
+
+		hdd*|tar)
+			BOOT_DESTDIR="install"
+			BUILD_DESTDIR="binary/${BOOT_DESTDIR}"
+			;;
+
+		*)
+			BOOT_DESTDIR="install"
+			BUILD_DESTDIR="binary/${BOOT_DESTDIR}"
+			;;
+	esac
+
+	if [ -e "${BUILD_DESTDIR}/vmlinuz" ]
 	then
 		sed -e "s|@VARIANT@|text|g" \
-		    -e "s|@KERNEL@|/install/vmlinuz|g" \
-		    -e "s|@INITRD@|/install/initrd.gz|g" \
+		    -e "s|@KERNEL@|/${BOOT_DESTDIR}/vmlinuz|g" \
+		    -e "s|@INITRD@|/${BOOT_DESTDIR}/initrd.gz|g" \
 		    -e "s|@LB_BOOTAPPEND_INSTALL@|${LB_BOOTAPPEND_INSTALL}|g" \
 		"${_TARGET}/install.cfg.in" >> "${_TARGET}/install.cfg"
 	fi
 
-	if [ -e "binary/install/gtk/vmlinuz" ]
+	if [ -e "${BUILD_DESTDIR}/gtk/vmlinuz" ]
 	then
 		sed -e "s|@VARIANT@|gui|g" \
-		    -e "s|@KERNEL@|/install/gtk/vmlinuz|g" \
-		    -e "s|@INITRD@|/install/gtk/initrd.gz|g" \
+		    -e "s|@KERNEL@|/${BOOT_DESTDIR}/gtk/vmlinuz|g" \
+		    -e "s|@INITRD@|/${BOOT_DESTDIR}/gtk/initrd.gz|g" \
 		    -e "s|@LB_BOOTAPPEND_INSTALL@|${LB_BOOTAPPEND_INSTALL}|g" \
 		"${_TARGET}/install.cfg.in" >> "${_TARGET}/install.cfg"
 	fi
-- 
1.7.0.4


>From e42dcde8551276fe6a1c7bee966f761f41be335e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Masset?= <sebastien.masset@laposte.net>
Date: Tue, 21 Aug 2012 22:46:19 +0200
Subject: [PATCH 5/5] fixing _TARGET for pxelinux

---
 scripts/build/lb_binary_syslinux |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/build/lb_binary_syslinux
b/scripts/build/lb_binary_syslinux
index 4b2d1e8..2befd6e 100755
--- a/scripts/build/lb_binary_syslinux
+++ b/scripts/build/lb_binary_syslinux
@@ -65,7 +65,7 @@ case "${LB_BINARY_IMAGES}" in
 
 	netboot)
 		_BOOTLOADER="pxelinux"
-		_TARGET="tftpboot"
+		_TARGET="binary/tftpboot"
 		;;
 
 	hdd*|*)
@@ -263,7 +263,7 @@ then
 		netboot)
 			#FIXME : check dirs
 			BOOT_DESTDIR="tftpboot/debian-install/${LB_ARCHITECTURES}"
-			BUILD_DESTDIR="tftpboot/debian-install/${LB_ARCHITECTURES}"
+			BUILD_DESTDIR="binary/${BOOT_DESTDIR}"
 			;;
 
 		hdd*|tar)
-- 
1.7.0.4



Reply to: