Bug#584540: grub-pc: savedefault not working (grubenv not updating?)

Tim Richardson tim at tim-richardson.net
Fri Jun 4 12:59:25 UTC 2010


Package: grub-pc
Version: 1.98+20100602-1
Severity: normal


To the best of my ability I have configured /etc/default/grub for savedefault functionality.
But it's not working.
I note that /boot/grub/grubenv has a modified date of May 25 and that if I move this file, a new one is not created in its place, which is not what I expected.

When I say it's not working, I mean that grub-pc always defaults to the first entry in my list, regardless of whether I most recently booted into Windows.

My /etc/default/grub is

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2>/dev/null || echo Sidux Debian`
#GRUB_DISTRIBUTOR=`echo Sidux Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="vga=791"
GRUB_SAVEDEFAULT=true

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1280x800

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_LINUX_RECOVERY="true"
~                                                         
-- Package-specific info:

*********************** BEGIN /proc/mounts
/dev/disk/by-uuid/573c35ff-3f2a-4218-8e3a-933354b1f738 / ext4 rw,noatime,errors=remount-ro,barrier=0,data=ordered 0 0
/dev/sda1 /media/disk1part1 vfat rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro 0 0
/dev/sda2 /media/disk1part2 fuseblk ro,nosuid,nodev,noexec,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
/dev/sda3 /media/disk1part3 fuseblk ro,nosuid,nodev,noexec,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
*********************** END /proc/mounts

*********************** BEGIN /boot/grub/device.map
(hd0) /dev/sda
*********************** END /boot/grub/device.map

*********************** BEGIN /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/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
}
insmod msdos
insmod ext2
set root='(hd0,6)'
search --no-floppy --fs-uuid --set 573c35ff-3f2a-4218-8e3a-933354b1f738
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=1280x800
  insmod gfxterm
  insmod vbe
fi
if terminal_output gfxterm ; then true ; else
  # For backward compatibility with versions of terminal.mod that don't
  # understand terminal_output
  terminal gfxterm
fi
insmod msdos
insmod ext2
set root='(hd0,6)'
search --no-floppy --fs-uuid --set 573c35ff-3f2a-4218-8e3a-933354b1f738
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod msdos
insmod ext2
set root='(hd0,6)'
search --no-floppy --fs-uuid --set 573c35ff-3f2a-4218-8e3a-933354b1f738
insmod png
if background_image /boot/grub/moreblue-orbit-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.34-0.slh.7-sidux-686' --class debian --class gnu-linux --class gnu --class os {
	savedefault
	insmod msdos
	insmod ext2
	set root='(hd0,6)'
	search --no-floppy --fs-uuid --set 573c35ff-3f2a-4218-8e3a-933354b1f738
	echo	'Loading Linux 2.6.34-0.slh.7-sidux-686 ...'
	linux	/boot/vmlinuz-2.6.34-0.slh.7-sidux-686 root=UUID=573c35ff-3f2a-4218-8e3a-933354b1f738 ro vga=791 quiet
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.34-0.slh.7-sidux-686
}
menuentry 'Debian GNU/Linux, with Linux 2.6.34-0.slh.7-sidux-686 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	savedefault
	insmod msdos
	insmod ext2
	set root='(hd0,6)'
	search --no-floppy --fs-uuid --set 573c35ff-3f2a-4218-8e3a-933354b1f738
	echo	'Loading Linux 2.6.34-0.slh.7-sidux-686 ...'
	linux	/boot/vmlinuz-2.6.34-0.slh.7-sidux-686 root=UUID=573c35ff-3f2a-4218-8e3a-933354b1f738 ro single vga=791
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.34-0.slh.7-sidux-686
}
menuentry 'Debian GNU/Linux, with Linux 2.6.34-0.slh.5-sidux-686' --class debian --class gnu-linux --class gnu --class os {
	savedefault
	insmod msdos
	insmod ext2
	set root='(hd0,6)'
	search --no-floppy --fs-uuid --set 573c35ff-3f2a-4218-8e3a-933354b1f738
	echo	'Loading Linux 2.6.34-0.slh.5-sidux-686 ...'
	linux	/boot/vmlinuz-2.6.34-0.slh.5-sidux-686 root=UUID=573c35ff-3f2a-4218-8e3a-933354b1f738 ro vga=791 quiet
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.34-0.slh.5-sidux-686
}
menuentry 'Debian GNU/Linux, with Linux 2.6.34-0.slh.5-sidux-686 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	savedefault
	insmod msdos
	insmod ext2
	set root='(hd0,6)'
	search --no-floppy --fs-uuid --set 573c35ff-3f2a-4218-8e3a-933354b1f738
	echo	'Loading Linux 2.6.34-0.slh.5-sidux-686 ...'
	linux	/boot/vmlinuz-2.6.34-0.slh.5-sidux-686 root=UUID=573c35ff-3f2a-4218-8e3a-933354b1f738 ro single vga=791
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.34-0.slh.5-sidux-686
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
	insmod msdos
	insmod ext2
	set root='(hd0,6)'
	search --no-floppy --fs-uuid --set 573c35ff-3f2a-4218-8e3a-933354b1f738
	multiboot	/boot/memtest86+_multiboot.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
	insmod msdos
	insmod ext2
	set root='(hd0,6)'
	search --no-floppy --fs-uuid --set 573c35ff-3f2a-4218-8e3a-933354b1f738
	multiboot	/boot/memtest86+_multiboot.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda2)" {
	savedefault
	insmod msdos
	insmod ntfs
	set root='(hd0,2)'
	search --no-floppy --fs-uuid --set 00080f07080efc02
	chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### 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 ###
*********************** END /boot/grub/grub.cfg

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.34-0.slh.5-sidux-686 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages grub-pc depends on:
ii  debconf [debconf-2.0]    1.5.32          Debian configuration management sy
ii  grub-common              1.98+20100602-1 GRand Unified Bootloader, version 
ii  libc6                    2.11.1-2        Embedded GNU C Library: Shared lib
ii  libdevmapper1.02.1       2:1.02.47-1     The Linux Kernel Device Mapper use
ii  ucf                      3.0025          Update Configuration File: preserv

grub-pc recommends no packages.

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

-- debconf information:
  grub2/kfreebsd_cmdline:
* grub2/linux_cmdline: vga=791
  grub-pc/chainload_from_menu.lst: true
  grub-pc/kopt_extracted: false
* grub-pc/install_devices: /dev/sda
  grub-pc/postrm_purge_boot_grub: false
  grub2/kfreebsd_cmdline_default: quiet
  grub2/linux_cmdline_default: quiet





More information about the Pkg-grub-devel mailing list