Package: live-build
Version: 4.0.3-1
Tags: patch

The --bootloader parameter lists (in the config man page and config
script usage output) a choice between grub and syslinux. It does not
list grub2 as an option, even though the codebase contains support for
grub2 and specifying grub2 will result in grub2 being installed into the
image.

Taking a look back over the changelog, there is mention of experimental
grub2 support being added way back in version 1.0.6-1, and a search
through the git commit history shows that this list of options was
formerly "grub|syslinux|yaboot", and that "yaboot" was removed in an
alpha build of 4.x, but grub2 has never been added to the list.

An option for grub2 is also not presented in the cgi frontend code.

Patch attached, built against debian-next.

Furthermore, the description for this parameter seems wrong. It states
that the flag only has an effect if the image type allows you to change
the bootloader, and specifically gives an example that building an iso,
syslinux (isolinux) will always be used. Actually, the code in
default.sh on lines 705-713 sets a default of syslinux for i386 or amd64
if one has not been specified, and in lines 1062 to 1083 issues a
warning if syslinux is selected with a fat/ntfs/ext[2/3/4]/btrfs fs
format, and an error if the hdd image type is selected along with grub
(but not grub2) as the bootloader. Nothing more.
commit 9351f9f4536e310f00f9792d9be05db5035b706f
Author: jnqnfe <jnq...@gmail.com>
Date:   Tue Dec 9 21:23:12 2014 +0000

    Fix missing grub2 option in bootloader selection.

diff --git a/manpages/en/lb_config.1 b/manpages/en/lb_config.1
index 3cb8c6b..b8916cb 100644
--- a/manpages/en/lb_config.1
+++ b/manpages/en/lb_config.1
@@ -39,7 +39,7 @@
 .br
        [\fB\-\-bootappend\-live\fR \fIPARAMETER\fR|\fI"PARAMETERS"\fR]
 .br
-       [\fB\-\-bootloader\fR grub|syslinux]
+       [\fB\-\-bootloader\fR grub|grub2|syslinux]
 .br
        [\fB\-\-bootstrap\fR cdebootstrap|cdebootstrap-static|debootstrap]
 .br
@@ -265,7 +265,7 @@ defines the filesystem to be used in the image type. This 
only has an effect if
 sets boot parameters specific to debian\-installer, if included.
 .IP "\fB\-\-bootappend\-live\fR \fIPARAMETER\fR|""\fIPARAMETERS\fR""" 4
 sets boot parameters specific to debian\-live. A complete list of boot 
parameters can be found in the \fIlive\-boot\fR(7) and \fIlive\-config\fR(7) 
manual pages.
-.IP "\fB\-\-bootloader\fR grub|syslinux" 4
+.IP "\fB\-\-bootloader\fR grub|grub2|syslinux" 4
 defines which bootloader is being used in the generated image. This has only 
an effect if the selected binary image type does allow to choose the 
bootloader. For example, if you build a iso, always syslinux (or more precise, 
isolinux) is being used. Also note that some combinations of binary images 
types and bootloaders may be possible but live\-build does not support them 
yet. \fBlb config\fR will fail to create such a not yet supported configuration 
and give a explanation about it. For hdd images on amd64 and i386, the default 
is syslinux.
 .IP "\fB\-\-bootstrap\fR cdebootstrap|cdebootstrap-static|debootstrap" 4
 defines which program is used to bootstrap the debian chroot, default is 
debootstrap.
diff --git a/scripts/build/config b/scripts/build/config
index e3b1e51..6b794db 100755
--- a/scripts/build/config
+++ b/scripts/build/config
@@ -32,7 +32,7 @@ USAGE="${PROGRAM}   [--apt apt|aptitude]\n\
 \t    [--bootappend-install PARAMETER|\"PARAMETERS\"]\n\
 \t    [--bootappend-live PARAMETER|\"PARAMETERS\"]\n\
 \t    [--bootappend-live-failsafe PARAMETER|\"PARAMETERS\"]\n\
-\t    [--bootloader grub|syslinux]\n\
+\t    [--bootloader grub|grub2|syslinux]\n\
 \t    [--bootstrap cdebootstrap|cdebootstrap-static|debootstrap]\n\
 \t    [--cache true|false]\n\
 \t    [--cache-indices true|false]\n\
diff --git a/templates/cgi/debian/form.html b/templates/cgi/debian/form.html
index d8c76e8..94f760d 100644
--- a/templates/cgi/debian/form.html
+++ b/templates/cgi/debian/form.html
@@ -173,6 +173,7 @@
                        <td>
                                <select id="Bootloader" name="bootloader" 
size="1">
                                        <option value="grub">grub</option>
+                                       <option value="grub2">grub2</option>
                                        <option selected 
value="syslinux">syslinux</option>
                                </select>
                        </td>

Reply via email to