Bug#765540: grub2: grub fails with "error: 'grub_term_highlight_color' not found"
Gerben Meijer - Day by Day
gerben at daybyday.nl
Sat Nov 8 13:54:07 UTC 2014
I just hit this bug while upgrading from 2.00-22 to 2.02~beta2-15. I
believe #743477 is a duplicate of this bug.
The current behavior breaks an existing functional boot simply by
noninteractively upgrading grub-pc, which happens in an apt-get upgrade
and/or dist-upgrade. If this happens on a noninteractive upgrade from
wheezy to jessie, it would be a very serious release blocker. By its
definition, this should be a critical bug.
Steps to reproduce:
- Deploy this jessie vagrant box:
https://downloads.sourceforge.net/project/vagrantboxjessie/debian80.box
(or any box with grub 2.00-22)
- apt-get update
- DEBIAN_FRONTEND=noninteractive apt-get -y install grub-pc
- reboot
The "DEBIAN_FRONTEND=noninteractive" is there to reproduce what happenes
during provisioning automation (ansible/puppet/salt/chef etc). An
example vagrantfile is here: http://paste.debian.net/130854/
The workaround is to do a "grub-install --recheck /dev/sda" after
upgrading the package.
Due to the nature of deployable images like this, the install_devices
from debconf will likely never match the newly created drive; even in
cases where it is using /dev/sda it may be that an image would get
deployed with virtio and the booted drive would end up being /dev/vda.
For reference, the output of "debconf-get-selections | grep -i grub"
before upgrading grub-pc packages:
/usr/bin/debconf-get-selections |grep -i grub
grub-pc grub-pc/chainload_from_menu.lst boolean true
# Writing GRUB to boot device failed - continue?
grub-pc grub-pc/install_devices_failed boolean false
grub-pc grub-pc/kopt_extracted boolean false
# Hide the GRUB timeout
grub-pc grub-pc/hidden_timeout boolean false
# GRUB install devices:
grub-pc grub-pc/install_devices multiselect
/dev/disk/by-id/ata-VBOX_HARDDISK_VB4950a3eb-80192436
grub-pc grub2/linux_cmdline_default string quiet
# Remove GRUB 2 from /boot/grub?
grub-pc grub-pc/postrm_purge_boot_grub boolean false
# Writing GRUB to boot device failed - try again?
grub-pc grub-pc/install_devices_failed_upgrade boolean true
grub-pc grub2/linux_cmdline string debian-installer=en_US
grub-pc grub2/kfreebsd_cmdline string
# GRUB timeout
grub-pc grub-pc/timeout string 5
# /boot/grub/device.map has been regenerated
grub-pc grub2/device_map_regenerated note
# Continue without installing GRUB?
grub-pc grub-pc/install_devices_empty boolean false
# GRUB install devices:
grub-pc grub-pc/install_devices_disks_changed multiselect
grub-pc grub2/kfreebsd_cmdline_default string quiet
# Finish conversion to GRUB 2 now?
grub-pc grub-pc/mixed_legacy_and_grub2 boolean true
And after upgrading:
grub-pc grub-pc/kopt_extracted boolean false
# GRUB install devices:
grub-pc grub-pc/install_devices multiselect
/dev/disk/by-id/ata-VBOX_HARDDISK_VB4950a3eb-80192436
grub-pc grub2/linux_cmdline_default string quiet
# GRUB install devices:
grub-pc grub-pc/install_devices_disks_changed multiselect
/dev/disk/by-id/ata-VBOX_HARDDISK_VB4950a3eb-80192436
# /boot/grub/device.map has been regenerated
grub-pc grub2/device_map_regenerated note
# Remove GRUB 2 from /boot/grub?
grub-pc grub-pc/postrm_purge_boot_grub boolean false
grub-pc grub2/kfreebsd_cmdline string
grub-pc grub-pc/chainload_from_menu.lst boolean true
# Continue without installing GRUB?
grub-pc grub-pc/install_devices_empty boolean false
# Finish conversion to GRUB 2 now?
grub-pc grub-pc/mixed_legacy_and_grub2 boolean true
grub-pc grub2/kfreebsd_cmdline_default string quiet
grub-pc grub2/linux_cmdline string debian-installer=en_US
# Writing GRUB to boot device failed - try again?
grub-pc grub-pc/install_devices_failed_upgrade boolean true
# What do you want to do about modified configuration file grub?
# GRUB timeout; for internal use
grub-pc grub-pc/timeout string 0
# Hide the GRUB timeout; for internal use
grub-pc grub-pc/hidden_timeout boolean false
# Writing GRUB to boot device failed - continue?
grub-pc grub-pc/install_devices_failed boolean false
More information about the Pkg-grub-devel
mailing list