Patches attached; three commits, one to correct each issue identified, in the given order.
I have tested these + my 775128 patch (v2 - not yet uploaded as of this moment), and they correctly amend the menu creation. I haven't actually tested running an image or an installer included in one, but I expect it to work perfectly - the menus created look good!
commit 67a5f6647393c2ac1493463d05252d63d442b187 Author: jnqnfe <jnq...@gmail.com> Date: Sun Jan 11 21:14:49 2015 +0000 Fix insertion order of user supplied kernel parameters in grub/grub2 menu creation (#775143) To match syslinux, and because I believe that placing them before the 'quiet' (d-i?) parameter is the correct place. diff --git a/scripts/build/binary_grub b/scripts/build/binary_grub index c311c12..2836d8f 100755 --- a/scripts/build/binary_grub +++ b/scripts/build/binary_grub @@ -85,19 +85,19 @@ Grub_install_entry () do case "${TYPE}" in Install) - TAPPEND="${APPEND} ${QAPPEND}" + TAPPEND="${APPEND} LB_BOOTAPPEND_INSTALL ${QAPPEND}" ;; Expert) - TAPPEND="priority=low ${APPEND}" + TAPPEND="priority=low ${APPEND} LB_BOOTAPPEND_INSTALL" ;; Rescue) - TAPPEND="rescue/enable=true ${APPEND} ${QAPPEND}" + TAPPEND="rescue/enable=true ${APPEND} LB_BOOTAPPEND_INSTALL ${QAPPEND}" ;; Auto) - TAPPEND="auto=true priority=critical ${APPEND} ${QAPPEND}" + TAPPEND="auto=true priority=critical ${APPEND} LB_BOOTAPPEND_INSTALL ${QAPPEND}" ;; esac @@ -112,7 +112,7 @@ Grub_install_entry () LINUX_INSTALL="${LINUX_INSTALL}\ntitle\t\t${LABEL} ${TYPE}" - LINUX_INSTALL="${LINUX_INSTALL}\nkernel\t\t/${KERNEL} ${TAPPEND} ${LB_BOOTAPPEND_INSTALL}" + LINUX_INSTALL="${LINUX_INSTALL}\nkernel\t\t/${KERNEL} ${TAPPEND}" LINUX_INSTALL="${LINUX_INSTALL}\ninitrd\t\t/${INITRD}" done } diff --git a/scripts/build/binary_grub2 b/scripts/build/binary_grub2 index bf5f8ce..d65e7f9 100755 --- a/scripts/build/binary_grub2 +++ b/scripts/build/binary_grub2 @@ -80,13 +80,15 @@ Grub_install_entry () INITRD="${3}" APPEND="${4}" + APPEND="${APPEND} LB_BOOTAPPEND_INSTALL" + if [ "${LABEL}" != "rescue" ] && [ "${LABEL}" != "rescuegui" ] then APPEND="${APPEND} quiet" fi LINUX_INSTALL="${LINUX_INSTALL}\nmenuentry \"Debian GNU/Linux - ${LABEL}\" {" - LINUX_INSTALL="${LINUX_INSTALL}\nlinux\t\t/${KERNEL} ${APPEND} LB_BOOTAPPEND_INSTALL" + LINUX_INSTALL="${LINUX_INSTALL}\nlinux\t\t/${KERNEL} ${APPEND}" LINUX_INSTALL="${LINUX_INSTALL}\ninitrd\t\t/${INITRD}" LINUX_INSTALL="${LINUX_INSTALL}\n}" }
commit 9f4094cdd10e45f9db912267873f8c005aad532c Author: jnqnfe <jnq...@gmail.com> Date: Sun Jan 11 21:20:14 2015 +0000 Fix quiet kernel parameter being excluded from rescue menu entries instead of expert menu entries (#775143) Live-build, when building grub2 menu entries, excludes this from rescue menu entries instead of expert. This is the opposite to what is done in the following: - Menu entries seen in official debian 7.7 disc images (grub2 and syslinux configs) - Menu entries live-build creates for grub (legacy) - Menu entries live-build creates for syslinux The evidence strongly suggests live-build grub2 menu creation was in the wrong! diff --git a/scripts/build/binary_grub2 b/scripts/build/binary_grub2 index d65e7f9..c2f6862 100755 --- a/scripts/build/binary_grub2 +++ b/scripts/build/binary_grub2 @@ -82,7 +82,7 @@ Grub_install_entry () APPEND="${APPEND} LB_BOOTAPPEND_INSTALL" - if [ "${LABEL}" != "rescue" ] && [ "${LABEL}" != "rescuegui" ] + if [ "${LABEL}" != "expert" ] && [ "${LABEL}" != "expertgui" ] then APPEND="${APPEND} quiet" fi
commit 5e7713ebe2fee20768c9e3c59aee9945cf567d2c Author: jnqnfe <jnq...@gmail.com> Date: Sun Jan 11 21:25:18 2015 +0000 Fix missing delimiter in grub menu kernel parameter lists (Closes: #775143) The '--' delimiter should appear before the final 'quiet' parameter (which is used by the debian installer I believe). This delimiter is added by live-build in syslinux configs, and is present in both grub2 and syslinux configs in an official debian 7.7 disc image, suggesting strongly that live-build grub/grub2 menu creation code is in the wrong here by missing it. diff --git a/scripts/build/binary_grub b/scripts/build/binary_grub index 2836d8f..cb1fb0f 100755 --- a/scripts/build/binary_grub +++ b/scripts/build/binary_grub @@ -79,7 +79,7 @@ Grub_install_entry () INITRD="${3}" APPEND="${4}" - QAPPEND="quiet" + QAPPEND="-- quiet" for TYPE in Install Expert Rescue Auto do diff --git a/scripts/build/binary_grub2 b/scripts/build/binary_grub2 index c2f6862..eda56f2 100755 --- a/scripts/build/binary_grub2 +++ b/scripts/build/binary_grub2 @@ -84,7 +84,7 @@ Grub_install_entry () if [ "${LABEL}" != "expert" ] && [ "${LABEL}" != "expertgui" ] then - APPEND="${APPEND} quiet" + APPEND="${APPEND} -- quiet" fi LINUX_INSTALL="${LINUX_INSTALL}\nmenuentry \"Debian GNU/Linux - ${LABEL}\" {"