Sun 09 Feb 2014 03:46:40 PM UTC, original submission:
root@XPSm1530:/# grub-install /dev/sdc
Installing for i386-pc platform.
grub-install: error: attempt to install to encrypted disk without cryptodisk enabled. Set `GRUB_ENABLE_CRYPTODISK=1' in file `/etc/default/grub'.
root@XPSm1530:/# grep GRUB_ENABLE_CRYPTODISK /etc/default/grub
GRUB_ENABLE_CRYPTODISK=1
root@XPSm1530:/# apt-cache policy grub-pc
grub-pc:
Installed: 2.02~beta2-6
Candidate: 2.02~beta2-6
Version table:
500 http://gb.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages
100 /var/lib/dpkg/status
The message give incorrect information about the value to be assigned.
# grep -A 4 '!config\.is_cryptodisk_enabled' util/grub-install.c
if (!config.is_cryptodisk_enabled && have_cryptodisk)
grub_util_error (_("attempt to install to encrypted disk without cryptodisk enabled. "
"Set `%s' in file `%s'."), "GRUB_ENABLE_CRYPTODISK=1",
grub_util_get_config_filename ());
It appears to assume that any boolean-like value is acceptable, whereas the configuration scanner only looks for 'y'.
# grep -A5 GRUB_ENABLE_CRYPTODISK util/config.c
if (grub_strncmp (ptr, "GRUB_ENABLE_CRYPTODISK=",
sizeof ("GRUB_ENABLE_CRYPTODISK=") - 1) == 0)
{
ptr += sizeof ("GRUB_ENABLE_CRYPTODISK=") - 1;
if (ptr == '"' || ptr == '\'')
ptr++;
if (*ptr == 'y')
cfg->is_cryptodisk_enabled = 1;
continue;
|