Bug#608263: /etc/grub.d/05_debian_theme: new 05_debian_theme doesn't allow no background image

Mirosław Zalewski miniopl at gmail.com
Wed Dec 29 11:57:10 UTC 2010


Package: grub-pc
Version: 1.98+20100804-11
Severity: normal
File: /etc/grub.d/05_debian_theme

There is brand new 05_debian_theme in newest grub-pc. Unfortunetly, it
does not allow user to have no background splash image at all, unless
user seriously mess up with files.

In previous version, in order to have no background image, user had to
comment out or make empty WALLPAPER variable in
/usr/share/desktop-base/grub_background.sh

In new version if WALLPAPER variable is empty or commented out,
05_debian_theme will return an error in step two (line 51) and fall back
to set
/usr/share/images/desktop-base/desktop-grub.png
as default background (line 133). If this fails, then GRUB will fall
back to default theme without background image. But it will never fail
if desktop-base is installed.

So, in order to have no background image on GRUB2, user have to either:
a) remove desktop-base from system
b) manually edit 05_debian_theme file (i.e. commenting out lines 130-133)
c) rename /usr/share/images/desktop-base/desktop-grub.png file, so it
would not exist

I don't think that any of these is an option. First one is perhaps least
obtrusive, but I can imagine an user that wants one of themes provided by
desktop-base, but doesn't want any image on GRUB.

Also, it should be noted that currently there is no way to specify
custom colors for GRUB2 without using background image (lines 94-99 in
05_debian_theme).

I think that there could be special keyword for WALPAPER in
grub_background.sh for 05_debian_theme to just use colors from
grub_background.sh without any background image. Much as there is 'saved'
for GRUB_DEFAULT in /etc/default/grub.

Cheers
Mirosław Zalewski

-- Package-specific info:

*********************** BEGIN /proc/mounts
/dev/disk/by-uuid/2e9337c0-168e-4bb8-9814-937eb6f458fa / ext4 rw,relatime,errors=remount-ro,barrier=1,data=ordered 0 0
/dev/sda3 /boot ext2 rw,relatime,errors=continue 0 0
/dev/sda7 /home ext4 rw,noatime,barrier=1,data=ordered 0 0
/dev/sdc1 /mnt/zewnetrzny fuseblk rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
*********************** END /proc/mounts

*********************** BEGIN /boot/grub/device.map
(hd0)	/dev/disk/by-id/ata-TOSHIBA_MK3265GSX_50B8BC79B
*********************** END /boot/grub/device.map

*********************** BEGIN /boot/grub/grub.cfg
#
# 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
  load_env
fi
set default="${saved_entry}"
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 {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set 2e9337c0-168e-4bb8-9814-937eb6f458fa
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set c672121e-260f-4456-a635-25890f0f6233
set locale_dir=($root)/grub/locale
set lang=pl
insmod gettext
set timeout=2
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set 2e9337c0-168e-4bb8-9814-937eb6f458fa
insmod png
if background_image /usr/share/images/desktop-base/spacefun-grub.png; then
  set color_normal=black/black
  set color_highlight=magenta/black
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 ###
menuentry 'Debian GNU/Linux, with Linux 2.6.36-0.dmz.15-liquorix-amd64' --class debian --class gnu-linux --class gnu --class os {
	savedefault
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos3)'
	search --no-floppy --fs-uuid --set c672121e-260f-4456-a635-25890f0f6233
	echo	'Loading Linux 2.6.36-0.dmz.15-liquorix-amd64 ...'
	linux	/vmlinuz-2.6.36-0.dmz.15-liquorix-amd64 root=UUID=2e9337c0-168e-4bb8-9814-937eb6f458fa ro acpi=copy_dsdt quiet
	echo	'Loading initial ramdisk ...'
	initrd	/initrd.img-2.6.36-0.dmz.15-liquorix-amd64
}
menuentry 'Debian GNU/Linux, with Linux 2.6.36-0.dmz.15-liquorix-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	savedefault
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos3)'
	search --no-floppy --fs-uuid --set c672121e-260f-4456-a635-25890f0f6233
	echo	'Loading Linux 2.6.36-0.dmz.15-liquorix-amd64 ...'
	linux	/vmlinuz-2.6.36-0.dmz.15-liquorix-amd64 root=UUID=2e9337c0-168e-4bb8-9814-937eb6f458fa ro single acpi=copy_dsdt
	echo	'Loading initial ramdisk ...'
	initrd	/initrd.img-2.6.36-0.dmz.15-liquorix-amd64
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian --class gnu-linux --class gnu --class os {
	savedefault
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos3)'
	search --no-floppy --fs-uuid --set c672121e-260f-4456-a635-25890f0f6233
	echo	'Loading Linux 2.6.32-5-amd64 ...'
	linux	/vmlinuz-2.6.32-5-amd64 root=UUID=2e9337c0-168e-4bb8-9814-937eb6f458fa ro acpi=copy_dsdt quiet
	echo	'Loading initial ramdisk ...'
	initrd	/initrd.img-2.6.32-5-amd64
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	savedefault
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos3)'
	search --no-floppy --fs-uuid --set c672121e-260f-4456-a635-25890f0f6233
	echo	'Loading Linux 2.6.32-5-amd64 ...'
	linux	/vmlinuz-2.6.32-5-amd64 root=UUID=2e9337c0-168e-4bb8-9814-937eb6f458fa ro single acpi=copy_dsdt
	echo	'Loading initial ramdisk ...'
	initrd	/initrd.img-2.6.32-5-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 ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_otheros ###

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
menuentry "Windows 7 Ultimate" {
	set root=(hd0,msdos1)
	search --no-floppy --fs-uuid --set 9ec81446c8141f59
	chainloader +1
}
### END /etc/grub.d/30_otheros ###

### 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.

menuentry "Chainload into Ubuntu GRUB" --class gnu-linux --class gnu --class os {
	set root=(hd0,msdos8)
	search --no-floppy --fs-uuid --set 69b6868e-aa0d-4160-896a-f5a928e196c5
	chainloader +1
}
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
*********************** END /boot/grub/grub.cfg

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.36-0.dmz.15-liquorix-amd64 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to pl_PL.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages grub-pc depends on:
ii  debconf [debconf-2.0]   1.5.36           Debian configuration management sy
hi  grub-common             1.98+20100804-11 GRand Unified Bootloader, version 
ii  libc6                   2.11.2-7         Embedded GNU C Library: Shared lib
ii  libdevmapper1.02.1      2:1.02.48-4      The Linux Kernel Device Mapper use
ii  ucf                     3.0025+nmu1      Update Configuration File: preserv

grub-pc recommends no packages.

Versions of packages grub-pc suggests:
ii  desktop-base                  6.0.2      common files for the Debian Deskto

-- debconf information:
  grub2/kfreebsd_cmdline:
  grub2/device_map_regenerated:
* grub2/linux_cmdline: acpi=copy_dsdt
  grub-pc/install_devices_empty: false
  grub-pc/install_devices_failed: false
  grub-pc/chainload_from_menu.lst: true
  grub-pc/kopt_extracted: false
* grub-pc/install_devices: /dev/disk/by-id/ata-TOSHIBA_MK3265GSX_50B8BC79B
  grub-pc/postrm_purge_boot_grub: false
  grub-pc/install_devices_failed_upgrade: true
  grub-pc/disk_description:
  grub2/kfreebsd_cmdline_default: quiet
  grub-pc/partition_description:
  grub-pc/install_devices_disks_changed:
* grub2/linux_cmdline_default: quiet
  grub-pc/mixed_legacy_and_grub2: true





More information about the Pkg-grub-devel mailing list