Bug#867804: cdrom: Stretch netinst CD installs grub config file incorrectly

Steve McIntyre steve at einval.com
Fri Jul 14 00:21:09 UTC 2017


Control: reassign -1 867804 os-prober
Control: severity -1 important
Control: retitle -1 os-prober fails to parse lilo.conf correctly

Hi again Hazel,

Hint: please try to also CC <bugnumber>@bugs.debian.org on all bug
discussion - that way the conversation is logged and others can see
the mails too.

On Wed, Jul 12, 2017 at 07:29:49AM +0100, Hazel Russman wrote:
>On Wed, 12 Jul 2017 01:25:26 +0100
>Steve McIntyre <steve at einval.com> wrote:
>> 
>> Could you attach those too, please? This looks like a bug for upstream
>> to look into, and they're going to need those files too I assume...
>> 
>OK, here they are. Sorry my setup is so complicated. btw none of the
>actual lilo.conf files has missing quotes as far as I can see.

Awesome, thanks. Using these, I've found the problem. os-prober is the
piece of software which attempts to automatically find and add GRUB
boot entries for the other operating systems on your
computer. Unfortunately, in your case it's mis-parsing valid lilo.conf
config files and it's then creating invalid GRUB boot entries from
them.

I've added debug to demonstrate the problem. Using your Crux lilo.conf
as an example, I now see the data it's trying to use:

  ::Crux:/boot/vmlinuz-4.9.6::root /dev/sda1 ro vga normal append "quiet

including the broken missing quote.

I'm attaching your config files and the temporary grub.cfg again to
this email, so that the os-prober developer has them as a reference.

>Could you also point me to an explanation of why grub-mkconfig
>creates so many duplicate entries for my system? It looks weird to
>me, quite apart from the errors.

Looking at what you have (picking crux again) it's adding:

  * a "normal" entry for it (in theory the same as lilo would be using)
  * an "advanced" submenu, containing
    + the "normal" entry again (no, I don't know why)
    + a version without the kernel command line options (to remove
     "quiet" etc.)
    + a .old version

It's doing a very bad job of parsing your config, clearly.

The normal for a Debian GRUB system is to add:

 * the "normal" boot entry, complete with "quiet"
 * an "advanced" submenu, containing entries for that kernel and other
   kernels found, typically giving options for init (systemd /
   sysvinit) and "recovery" (adding "single" to the command line)

For now, I'd suggest you disable the lilo.conf parsing maybe? To do
that, you can simply do

 $ sudo chmod -x /usr/lib/linux-boot-probes/mounted/50lilo

Hope that helps!

-- 
Steve McIntyre, Cambridge, UK.                                steve at einval.com
"Managing a volunteer open source project is a lot like herding
 kittens, except the kittens randomly appear and disappear because they
 have day jobs." -- Matt Mackall
-------------- next part --------------
# /etc/lilo.conf  -   systemwide LILO configuration (LILO 23)
# details see in manpages: lilo(8) and lilo.conf(5)

# +-------------------------------------------------------------+
# |                        !! Reminder !!                       |
# |                                                             |
# | Don't forget to run 'lilo' after you make changes to this   |
# | conffile or you have installed a new kernel.                |
# +-------------------------------------------------------------+


# #################### LILO global section ######################

# With all newer systems (until year 2004) you can use the RAM
# above 15 MB. This option allows the use of this range of RAM.
#large-memory

# With all newer systems you can boot from any partition on disks 
# with more than 1024 cylinders. This option allows the use of 
# partitions above 1024 cylinders.
lba32
# install=text
# boot=/dev/#DEVICE#
# image=/boot/vmlinuz
#        label=CRUX
#        read-only
#        append="root=/dev/#ROOT_DEVICE#"

# Specifies the boot device.  This is where Lilo installs its boot
# block.  It can be either a partition, or the raw device, in which
# case it installs in the MBR, and will overwrite the current MBR.
# With newer kernel you should use the ID of the boot device, which
# can be found here: /dev/disks/by-id/ata*.
boot = /dev/sda
#boot = /dev/disk/by-id/ata-SAMSUNG_SV2042H_0273J1FR295888

# This option may be needed for some software RAID installs.
#raid-extra-boot = mbr-only

# Enable map compaction.  This tries to merge read requests for 
# adjacent sectors into a single read request. This drastically 
# reduces load time and keeps the map smaller.  Using 'compact' 
# is especially recommended when booting from a floppy disk.  
# It is disabled here by default because it doesn't always work.
#compact

# Set the verbose level for bootloader installation. Value range:
# 0 to 5. Default value is 0.
#verbose = 1

# Specifies the location of the map file. Lilo creates the (sector) 
# map file of direct sector addresses which are independent of any
# filesystem.
map = /boot/map

# ---------------------------------------------------------------

# Specifies the menu interface. You have the choice between:
#   text: simple text menu with black background and white text
#   menu: configurable text menu with background and text colors.
#   bmp:  graphical menu with 640x480 bitmap background.
install = menu

# A) Customized boot message for choice 'text'.
# For the simple text menu you can set an extra message in the 
# created file. Its text will be displayed before boot prompt.
#message = /boot/message.txt

# B) Configuration of the scheme for choice 'menu'.
# Use following coding: <text>:<highlight>:<border>:<title>
# The first character of each part sets the text frontcolor, 
# the second character of earch part sets the text backcolor,
# an upper-case character sets bold face text (frontcolor).
# i.g. 'menu-scheme=wm:rw:wm:Wm'. Possible colors: 
# k=black, b=blue, g=green, c=cyan, r=red, m=magenta, y=yellow, w=white.
menu-scheme = Wb:Yr:Wb:Wb
#menu-title = " DESDEMONA Boot-Manager "

# C) Configuration of the image for choice 'bmp'.
# For the graphical menu you need a bitmap file, which needs a special
# menu configuration in the file header (see: lilo -E). Ideally you 
# use one of the delivered images of the lilo package.
#   with 16 colors:    onlyblue, tuxlogo, inside
#   with 256 colors:   coffee
#   for Debian:        debianlilo, debian, debian-de
#bitmap = /boot/tuxlogo.bmp

# ---------------------------------------------------------------

# Specifies the number of deciseconds (0.1 seconds) how long LILO 
# should wait before booting the first image.  LILO doesn't wait if
# 'delay' is omitted or set to zero. You do not see the defined menu.
delay = 20

# Prompt to start one certain kernel from the displayed menu.
# It is very recommeded to also set 'timeout'. Without timeout boot 
# will not take place unless you hit return. Timeout is the number
# of deciseconds (0.1 seconds) after there the default image will 
# be started. With 'single-key' alias numbers for each menu line can
# be used.
prompt
timeout = 100
#single-key

# ---------------------------------------------------------------

# Specifying the VGA text mode that should be selected when booting.
# The following values are recognized (case is ignored):
#   vga=normal    80x25 text mode (default)
#   vga=extended  80x50 text mode (abbreviated to 'ext')
#   vga=ask       stop and ask for user input: choice of text mode
#   vga=<mode>    use the corresponding text mode number. A list of  
#                   available modes can be obtained by booting with  
#                   vga=ask'  and then pressing [Enter].
# Another way is the use of frame buffer mode. Then the kernel 
# will switch from the normal vga text mode (80x25) to the frame
# buffer mode (if frame buffer support is in the kernel):
#   vga=0x314      800x600 @ 16 bit
#   vga=0x317     1024x768 @ 16 bit
#   vga=0x318     1024x768 @ 24 bit
#vga = ask
vga = normal
#vga = 0x317

# ---------------------------------------------------------------

# Kernel command line options that apply to all installed images go
# here.  See 'kernel-parameters.txt' in the Linux kernel 'Documentation'
# directory. I.g. for start into 'init 5' write:  append="5"
#append = ""
 
# If you used a serial console to install Debian, this option should be
# enabled by default.
#serial = 0,9600

# Set the image which should be started after delay or timeout.
# If not set, the first defined image will be started.
#default = Linux


# ################### LILO per-image section ####################

# Each image is configured with the linux kernel (=image) and
# usually with the initrd file. Configure all GNU/Linux systems
# on other partitions, too.

image = /boot/vmlinuz-4.9.6
	label = "Crux"
	root = /dev/sda1
	read-only 
	append = "quiet"

image = /mnt/debian/boot/vmlinuz-4.9.0-3-amd64
	label= "Debian"
	initrd = /mnt/debian/boot/initrd.img-4.9.0-3-amd64 
	root = /dev/sda7
	read-only
	append = "quiet"

image = /mnt/lfs/boot/vmlinuz-4.9.9-lfs-8.0b
	label = "LFS"
	root = /dev/sda6
	read-only
	append = "quiet"

#image = /mnt/oldlfs/boot/vmlinuz-4.4.2-lfs-7.9
#	label = "Old LFS"
#	root = /dev/sda5
#	read-only
#	append = "quiet"

# End of file
-------------- next part --------------
#
# /etc/lilo.conf: lilo(8) configuration, see lilo.conf(5)
#

lba32
install=menu
menu-scheme = Wb:Yr:Wb:Wb
boot=/dev/sda
delay = 30
prompt
timeout = 100
vga = normal

#image=/boot/vmlinuz-4.7.2-lfs-7.10
#	label="Old LFS"
#	root=/dev/sda5
#	read-only
#	append="quiet"

image=/mnt/crux/boot/vmlinuz-4.9.6
        label= "Crux"
	root = /dev/sda1
        read-only
        append="quiet"

image=/mnt/newlfs/boot/vmlinuz-4.9.9-lfs-8.0b
	label="LFS"
	root = /dev/sda5
	read-only
	append = "quiet"

image=/mnt/debian/boot/vmlinuz-4.9.0-3-amd64
	label = "Debian"
	initrd = /mnt/debian/boot/initrd.img-4.9.0-3-amd64
	root = /dev/sda7
	read-only
	append = "quiet"
# End of file
-------------- next part --------------
#
# /etc/lilo.conf: lilo(8) configuration, see lilo.conf(5)
#

lba32
install=menu
menu-scheme = Wb:Yr:Wb:Wb
boot=/dev/sda
delay = 30
prompt
timeout = 100
vga = normal

image=/boot/vmlinuz-4.9.9-lfs-8.0b
	label="LFS"
	root = /dev/sda6
	read-only
	append = "quiet"

image=/mnt/crux/boot/vmlinuz-4.9.6
        label= "Crux"
	root = /dev/sda1
        read-only
        append="quiet"

image=/mnt/debian/boot/vmlinuz-3.16.0-4-amd64
	label = "Debian"
	initrd = /mnt/debian/boot/initrd.img-3.16.0-4-amd64
	root = /dev/sda7
	read-only
	append = "quiet"

#image=/mnt/oldlfs/boot/vmlinuz-4.7.9-lfs-7.10
#	label="Old LFS"
#	root=/dev/sda5
#	read-only
#	append="quiet"

# End of file
-------------- next part --------------
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7  b6b8db38-5b96-4121-ab3a-445944d9fbf1
else
  search --no-floppy --fs-uuid --set=root b6b8db38-5b96-4121-ab3a-445944d9fbf1
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_GB
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=5
  # Fallback normal timeout code in case the timeout_style feature is
  # unavailable.
  else
    set timeout=5
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7  b6b8db38-5b96-4121-ab3a-445944d9fbf1
else
  search --no-floppy --fs-uuid --set=root b6b8db38-5b96-4121-ab3a-445944d9fbf1
fi
insmod png
if background_image /usr/share/desktop-base/softwaves-theme/grub/grub-4x3.png; then
  set color_normal=white/black
  set color_highlight=black/white
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
	set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-b6b8db38-5b96-4121-ab3a-445944d9fbf1' {
	load_video
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos7'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7  b6b8db38-5b96-4121-ab3a-445944d9fbf1
	else
	  search --no-floppy --fs-uuid --set=root b6b8db38-5b96-4121-ab3a-445944d9fbf1
	fi
	echo	'Loading Linux 4.9.0-3-amd64 ...'
	linux	/boot/vmlinuz-4.9.0-3-amd64 root=UUID=b6b8db38-5b96-4121-ab3a-445944d9fbf1 ro  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-4.9.0-3-amd64
}
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-b6b8db38-5b96-4121-ab3a-445944d9fbf1' {
	menuentry 'Debian GNU/Linux, with Linux 4.9.0-3-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-3-amd64-advanced-b6b8db38-5b96-4121-ab3a-445944d9fbf1' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos7'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7  b6b8db38-5b96-4121-ab3a-445944d9fbf1
		else
		  search --no-floppy --fs-uuid --set=root b6b8db38-5b96-4121-ab3a-445944d9fbf1
		fi
		echo	'Loading Linux 4.9.0-3-amd64 ...'
		linux	/boot/vmlinuz-4.9.0-3-amd64 root=UUID=b6b8db38-5b96-4121-ab3a-445944d9fbf1 ro  quiet
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-4.9.0-3-amd64
	}
	menuentry 'Debian GNU/Linux, with Linux 4.9.0-3-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-3-amd64-recovery-b6b8db38-5b96-4121-ab3a-445944d9fbf1' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos7'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7  b6b8db38-5b96-4121-ab3a-445944d9fbf1
		else
		  search --no-floppy --fs-uuid --set=root b6b8db38-5b96-4121-ab3a-445944d9fbf1
		fi
		echo	'Loading Linux 4.9.0-3-amd64 ...'
		linux	/boot/vmlinuz-4.9.0-3-amd64 root=UUID=b6b8db38-5b96-4121-ab3a-445944d9fbf1 ro single 
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-4.9.0-3-amd64
	}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Crux GNU/Linux 3.3 (on /dev/sda1)' --class crux --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-e25b27ca-5d74-46c0-b732-b440dcf6b95c' {
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  e25b27ca-5d74-46c0-b732-b440dcf6b95c
	else
	  search --no-floppy --fs-uuid --set=root e25b27ca-5d74-46c0-b732-b440dcf6b95c
	fi
	linux /boot/vmlinuz-4.9.6 root=/dev/sda1 ro vga = normal append = "quiet
}
submenu 'Advanced options for Crux GNU/Linux 3.3 (on /dev/sda1)' $menuentry_id_option 'osprober-gnulinux-advanced-e25b27ca-5d74-46c0-b732-b440dcf6b95c' {
	menuentry 'Crux (on /dev/sda1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.9.6--e25b27ca-5d74-46c0-b732-b440dcf6b95c' {
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  e25b27ca-5d74-46c0-b732-b440dcf6b95c
		else
		  search --no-floppy --fs-uuid --set=root e25b27ca-5d74-46c0-b732-b440dcf6b95c
		fi
		linux /boot/vmlinuz-4.9.6 root=/dev/sda1 ro vga = normal append = "quiet
	}
	menuentry 'Crux GNU/Linux 3.3 (on /dev/sda1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.9.6--e25b27ca-5d74-46c0-b732-b440dcf6b95c' {
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  e25b27ca-5d74-46c0-b732-b440dcf6b95c
		else
		  search --no-floppy --fs-uuid --set=root e25b27ca-5d74-46c0-b732-b440dcf6b95c
		fi
		linux /boot/vmlinuz-4.9.6 root=/dev/sda1
	}
	menuentry 'Crux GNU/Linux 3.3 (on /dev/sda1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.9.6.old--e25b27ca-5d74-46c0-b732-b440dcf6b95c' {
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  e25b27ca-5d74-46c0-b732-b440dcf6b95c
		else
		  search --no-floppy --fs-uuid --set=root e25b27ca-5d74-46c0-b732-b440dcf6b95c
		fi
		linux /boot/vmlinuz-4.9.6.old root=/dev/sda1
	}
}

menuentry 'Linux From Scratch (7.10-rc1) (on /dev/sda5)' --class linuxfromscratch --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-60ce765b-e4d4-406f-9833-323785b9520c' {
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos5'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  60ce765b-e4d4-406f-9833-323785b9520c
	else
	  search --no-floppy --fs-uuid --set=root 60ce765b-e4d4-406f-9833-323785b9520c
	fi
	linux /boot/vmlinuz-4.7.9-lfs-7.10 root=/dev/sda5
}
submenu 'Advanced options for Linux From Scratch (7.10-rc1) (on /dev/sda5)' $menuentry_id_option 'osprober-gnulinux-advanced-60ce765b-e4d4-406f-9833-323785b9520c' {
	menuentry 'Linux From Scratch (7.10-rc1) (on /dev/sda5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.7.9-lfs-7.10--60ce765b-e4d4-406f-9833-323785b9520c' {
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos5'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  60ce765b-e4d4-406f-9833-323785b9520c
		else
		  search --no-floppy --fs-uuid --set=root 60ce765b-e4d4-406f-9833-323785b9520c
		fi
		linux /boot/vmlinuz-4.7.9-lfs-7.10 root=/dev/sda5
	}
}

menuentry 'Linux From Scratch (8.0-rc1) (on /dev/sda6)' --class linuxfromscratch --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-c871f32d-0d01-48a8-9a0a-7e8a603a57c1' {
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos6'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  c871f32d-0d01-48a8-9a0a-7e8a603a57c1
	else
	  search --no-floppy --fs-uuid --set=root c871f32d-0d01-48a8-9a0a-7e8a603a57c1
	fi
	linux /boot/vmlinuz-4.9.9-lfs-8.0b root=/dev/sda6 ro vga = normal append = "quiet
}
submenu 'Advanced options for Linux From Scratch (8.0-rc1) (on /dev/sda6)' $menuentry_id_option 'osprober-gnulinux-advanced-c871f32d-0d01-48a8-9a0a-7e8a603a57c1' {
	menuentry 'LFS (on /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.9.9-lfs-8.0b--c871f32d-0d01-48a8-9a0a-7e8a603a57c1' {
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos6'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  c871f32d-0d01-48a8-9a0a-7e8a603a57c1
		else
		  search --no-floppy --fs-uuid --set=root c871f32d-0d01-48a8-9a0a-7e8a603a57c1
		fi
		linux /boot/vmlinuz-4.9.9-lfs-8.0b root=/dev/sda6 ro vga = normal append = "quiet
	}
	menuentry 'Linux From Scratch (8.0-rc1) (on /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.9.9-lfs-8.0--c871f32d-0d01-48a8-9a0a-7e8a603a57c1' {
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos6'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  c871f32d-0d01-48a8-9a0a-7e8a603a57c1
		else
		  search --no-floppy --fs-uuid --set=root c871f32d-0d01-48a8-9a0a-7e8a603a57c1
		fi
		linux /boot/vmlinuz-4.9.9-lfs-8.0 root=/dev/sda6
	}
	menuentry 'Linux From Scratch (8.0-rc1) (on /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.9.9-lfs-8.0a--c871f32d-0d01-48a8-9a0a-7e8a603a57c1' {
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos6'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  c871f32d-0d01-48a8-9a0a-7e8a603a57c1
		else
		  search --no-floppy --fs-uuid --set=root c871f32d-0d01-48a8-9a0a-7e8a603a57c1
		fi
		linux /boot/vmlinuz-4.9.9-lfs-8.0a root=/dev/sda6
	}
	menuentry 'Linux From Scratch (8.0-rc1) (on /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.9.9-lfs-8.0b--c871f32d-0d01-48a8-9a0a-7e8a603a57c1' {
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos6'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  c871f32d-0d01-48a8-9a0a-7e8a603a57c1
		else
		  search --no-floppy --fs-uuid --set=root c871f32d-0d01-48a8-9a0a-7e8a603a57c1
		fi
		linux /boot/vmlinuz-4.9.9-lfs-8.0b root=/dev/sda6
	}
}

### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###


More information about the Pkg-grub-devel mailing list