[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#555394: os-prober: fails both sides of a Linux/kFreeBSD dual-boot



Package: os-prober
Version: 1.35
Severity: normal

My Squeeze testbed system dual-boots Debian GNU/Linux and Debian
GNU/kFreeBSD (installed from an October debian-installer netinst
daily image).  On both OSes, os-prober is pulled in by grub2, but
fails to live up to its documentation (by which of course I mean the
package description).

The partition layout is just:
 /dev/hda1 AKA ad0s1 (ext3) = i386 system
 /dev/hda2 AKA ad0s2 (ufs2) = kfreebsd-i386 system
 /dev/hda3 AKA ad0s3 (vfat) = unused "data partition"
 /dev/hda4 AKA ad0s4 (swap) = swap partition

On the Linux side (running either 2.6.30-2-486 or a kernel-packaged
2.6.31.custom), "sudo os-prober" outputs nothing - unless I first
mount the partition that has the GNU/kFreeBSD system on it, in which
case it misidentifies it:

 /dev/hda2:Debian GNU/Linux (squeeze/sid):Debian:linux

As a result, /etc/grub.d/30_os-prober either silently fails to
detect anything, or outputs:

 Found Debian GNU/Linux (squeeze/sid) on /dev/hda2

Either way it does nothing to the generated grub.cfg.  I might guess
that this is because "linux-boot-prober /dev/hda2" finds nothing,
but then again nor does "linux-boot-prober /dev/hda1".

No, wait, my mistake: update-grub also outputs copious "debug"
output to syslog.  That looks like a recently-added grub2 bug, but
here's a copy of the output anyway:

 Nov  9 12:00:07 xan 10freedos: debug: /dev/hda3 is a FAT32 partition
 Nov  9 12:00:07 xan 10qnx: debug: /dev/hda3 is not a QNX4 partition: exiting
 Nov  9 12:00:07 xan 20microsoft: debug: /dev/hda3 is a FAT32 partition
 Nov  9 12:00:07 xan kernel:
 Nov  9 12:00:07 xan kernel: >>>WARNING<<< Wrong ufstype may corrupt your filesystem, default is ufstype=old
 Nov  9 12:00:07 xan kernel: You didn't specify the type of your ufs filesystem
 Nov  9 12:00:07 xan kernel: mount -t ufs -o ufstype=sun|sunx86|44bsd|ufs2|5xbsd|old|hp|nextstep|nextstep-cd|openstep ...
 Nov  9 12:00:07 xan kernel: ufs_read_super: bad magic number
 Nov  9 12:00:07 xan macosx-prober: debug: /dev/hda3 is not an HFS+ partition: exiting
 Nov  9 12:00:07 xan os-prober: debug: running /usr/lib/os-probes/50mounted-tests on /dev/hda1
 Nov  9 12:00:07 xan os-prober: debug: running /usr/lib/os-probes/50mounted-tests on /dev/hda2
 Nov  9 12:00:07 xan os-prober: debug: running /usr/lib/os-probes/mounted/10freedos on mounted /dev/hda3
 Nov  9 12:00:07 xan os-prober: debug: running /usr/lib/os-probes/mounted/10qnx on mounted /dev/hda3
 Nov  9 12:00:07 xan os-prober: debug: running /usr/lib/os-probes/mounted/20macosx on mounted /dev/hda3
 Nov  9 12:00:07 xan os-prober: debug: running /usr/lib/os-probes/mounted/20microsoft on mounted /dev/hda3
 Nov  9 12:00:07 xan os-prober: debug: running /usr/lib/os-probes/mounted/30utility on mounted /dev/hda3
 Nov  9 12:00:08 xan 30utility: debug: /dev/hda3 is a FAT32 partition
 Nov  9 12:00:08 xan 50mounted-tests: debug: /dev/hda4 is a swap partition; skipping
 Nov  9 12:00:08 xan os-prober: debug: os detected by /usr/lib/os-probes/50mounted-tests
 Nov  9 12:00:08 xan os-prober: debug: running /usr/lib/os-probes/50mounted-tests on /dev/hda4
 Nov  9 12:00:08 xan os-prober: debug: running /usr/lib/os-probes/mounted/40lsb on mounted /dev/hda3
 Nov  9 12:00:08 xan os-prober: debug: running /usr/lib/os-probes/mounted/70hurd on mounted /dev/hda3
 Nov  9 12:00:08 xan os-prober: debug: running /usr/lib/os-probes/mounted/80minix on mounted /dev/hda3
 Nov  9 12:00:08 xan os-prober: debug: running /usr/lib/os-probes/mounted/90linux-distro on mounted /dev/hda3
 Nov  9 12:00:08 xan os-prober: debug: running /usr/lib/os-probes/mounted/90solaris on mounted /dev/hda3

It obviously isn't guessing the UFS-type that d-i gave me.

On the kFreeBSD side, "sudo os-prober" outputs only:

 Cannot find list of partitions!

...with no debug output to syslog.

The same problem with identifying kFreeBSD partitions affects
grub-install, which isn't a disaster because I don't really want it
to lay claim to the boot sector.  update-grub does at least generate
a grub.cfg with a kFreeBSD boot stanza, and I can use a script on
the Linux side to copy that from /mnt/boot/grub/grub.cfg into 
/boot/grub/grub.cfg... so everything boots happily.

Nonetheless, it seems to me that os-prober should be able to identify
Debian installs, and it isn't managing to do that here.

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing'), (50, 'unstable')
Architecture: {i386,kfreebsd-i386} (i686)

Kernel: {Linux 2.6.31.custom,kFreeBSD 7.2-1-686}
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages os-prober depends on:
ii  libc{6,0.1}                     2.10.1-5   GNU C Library: Shared libraries

os-prober recommends no packages.

os-prober suggests no packages.

-- no debconf information
-- 
JBR
Ankh kak! (Ancient Egyptian blessing)



Reply to: