Bug#681691: os-prober relies on grub-mount which fails silently on missing fuse module
Package: os-prober
Version: 1.58
Followup-For: Bug #681691
Hello,
there was no reaction on this bug which actually makes my life miserable each
time there is a kernel update, because I need to mount all relevant partitions
by hand.
Anyway, I looked a bit more about it and found the following:
1. os-prober calls "/usr/lib/os-prober/newns /usr/bin/os-prober" which itself
calls "/usr/lib/os-probes/50mounted-tests /dev/sda2" (for example).
2. 50mounted-tests relies itself on grub-mount to mount the partition.
3. The call to grub-mount looks as such:
mounted=
if type grub-mount >/dev/null 2>&1 && \
type grub-probe >/dev/null 2>&1 && \
grub-mount "$partition" "$tmpmnt" 2>/dev/null; then
mounted=1
4. Calling grub-mount gives then the following error:
# grub-mount /dev/sda2 /mnt
fuse: device not found, try 'modprobe fuse' first
# echo $?
0
# modprobe fuse
FATAL: Module fuse not found.
i.e. we have multiple errors combined to make a big mess:
a. grub-mount relies on a fuse module which doesn't exist (by default).
b. it fails with an error message but a successful return code.
c. 50mounted-tests thinks that the command is successful (and hides
the error message which could have been helpful).
Conclusion, I think this bug should be duplicated, once to fix grub-mount
resp. grub-common package, once to fix os-prober (at least to improve error
handling, at best to stop using grub-mount). I'd be more than happy to
read your opinion.
Thanks, Eric
-- System Information:
Debian Release: 7.2
APT prefers stable
APT policy: (1000, 'stable'), (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.8.11+vdr2 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages os-prober depends on:
ii libc6 2.17-93
os-prober recommends no packages.
os-prober suggests no packages.
-- no debconf information
Reply to: