cryptomount -u incorrectly loops over uuids
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2 (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
I have a probably unusual setup in a VM where I need to luksOpen 3 disks during boot (I'm using ZFS raidz1 on 3 luks-encrypted disks).
"""
During boot, I get a rather puzzling error:
error: can't find command f94f182a584c4b4
error: can't find command 82fae0edbdc74b9
Press any key to continue...
"""
The generated grub.cfg file explains it. It has this bit repeated all over the place:
(...)
cryptomount -u 3c26d0e32abf412
f94f182a584c4b4
82fae0edbdc74b9
(...)
That should actually be 3 cryptomount -u lines, not just one.
I tracked it down to grub-mkconfig_lib in this bit of code:
if [ x$GRUB_
for uuid in "`"${grub_probe}" --device $@ --target=
echo "cryptomount -u $uuid"
done
fi
For some reason, the IFS this code is using isn't working to parse the output of grub_probe.
I ran the command manually in my shell, and it looks fine:
# /usr/sbin/
3c26d0e32abf412
f94f182a584c4b4
82fae0edbdc74b9
I made a few attempts at different values of IFS, but couldn't get it to correctly use one cryptomount line per uuid. It must be something simple, but I couldn't figure it out, sorry.
This doesn't prevent my system from booting, I just have to press ENTER when it errors like that, or wait a few seconds. Since I have to be at the console anyway to type the passphrases, it's not a blocker, just an annoyance.
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: grub-pc 2.02~beta2-
ProcVersionSign
Uname: Linux 4.4.0-22-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.1-0ubuntu2
Architecture: amd64
Date: Sun May 15 19:26:14 2016
ProcEnviron:
TERM=xterm-
PATH=(custom, no user)
XDG_RUNTIME_
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: grub2
UpgradeStatus: No upgrade log present (probably fresh install)