https://bugzilla.novell.com/show_bug.cgi?id=759635
https://bugzilla.novell.com/show_bug.cgi?id=759635#c7
--- Comment #7 from Agnelo de la Crotche 2012-05-02 11:12:22 UTC ---
Hi Michael,
Yes, I noticed that I should not use grub-mkconfig_lib after testing os-prober
on other distros, where grub-mkconfig_lib was in a different location or even
not installed at all (I also use os-prober on systems withouth Grub2).
You might want to take a look at the patches against version 1.52 in my home
repo:
https://build.opensuse.org/package/files?package=os-prober&project=home%3Aplease_try_again.
os-prober-85bsd.patch adds detection for FreeBSD, NetBSD and openBSD kernels.
os-prober-90linux-distro.patch skips ufs partitions in the last probe.
Before the patch:
No volume groups found
/dev/sda1:Windows NT/2000/XP (loader):Windows:chain
/dev/sda11:Linux Mint 12 Lisa (12):LinuxMint:linux
/dev/sda13:Arch Linux (rolling):archlinux:linux
/dev/sda16:Debian GNU/Linux (squeeze/sid):Debian:linux
/dev/sda2:OpenBSD:OpenBSD 4.7:openbsd
/dev/sda23:unknown Linux distribution:Linux:linux
/dev/sda25:unknown Linux distribution:Linux1:linux
/dev/sda27:unknown Linux distribution:Linux2:linux
/dev/sda3:FreeBSD:FreeBSD 8.1-RELEASE:freebsd
/dev/sda6:Ubuntu 11.10 (11.10):Ubuntu:linux
/dev/sdb1:Windows NT/2000/XP (loader):Windows1:chain
/dev/sdb20:unknown Linux distribution:Linux3:linux
/dev/sdb23:unknown Linux distribution:Linux4:linux
/dev/sdb3:FreeBSD:FreeBSD 7.0-RC1:freebsd
/dev/sdb6:Mandriva Linux 2010.2 (2010.2):MandrivaLinux:linux
After the patch:
No volume groups found
/dev/sda1:Windows NT/2000/XP (loader):Windows:chain
/dev/sda11:Linux Mint 12 Lisa (12):LinuxMint:linux
/dev/sda13:Arch Linux (rolling):archlinux:linux
/dev/sda16:Debian GNU/Linux (squeeze/sid):Debian:linux
/dev/sda2:OpenBSD:OpenBSD 4.7:openbsd
/dev/sda3:FreeBSD:FreeBSD 8.1-RELEASE:freebsd
/dev/sda6:Ubuntu 11.10 (11.10):Ubuntu:linux
/dev/sdb1:Windows NT/2000/XP (loader):Windows1:chain
/dev/sdb3:FreeBSD:FreeBSD 7.0-RC1:freebsd
/dev/sdb6:Mandriva Linux 2010.2 (2010.2):MandrivaLinux:linux
However, this patch is not needed under Ubuntu (I don't get any "unknown Linux
distribution" there) but also introduces another bug. Here's the output on an
Ubuntu machine with several BSDs installed:
With os-prober-90linux-distro.patch:
/dev/sda1:Windows NT/2000/XP (loader):Windows:chain
[: 137: fuseblk: unexpected operator
/dev/sda10:openSUSE 12.1 (x86_64):SUSE:linux
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
/dev/sda13:Fedora release 16 (Verne):Fedora:linux
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
/dev/sda15:Debian GNU/Linux (squeeze/sid):Debian:linux
[: 137: ext4: unexpected operator
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
/dev/sda2:OpenBSD:OpenBSD 4.7:openbsd
[: 137: fuseblk: unexpected operator
/dev/sda21:OpenBSD:OpenBSD 4.7:openbsd
[: 137: fuseblk: unexpected operator
/dev/sda22:unknown Linux distribution:Linux:linux
[: 137: fuseblk: unexpected operator
/dev/sda24:FreeBSD:FreeBSD 8.1-RELEASE:freebsd
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
/dev/sda27:NetBSD:NetBSD 5.0.2/i386:netbsd
[: 137: fuseblk: unexpected operator
/dev/sda28:unknown Linux distribution:Linux1:linux
[: 137: fuseblk: unexpected operator
/dev/sda3:FreeBSD:FreeBSD 8.1-RELEASE:freebsd
[: 137: ext4: unexpected operator
[: 137: ext4: unexpected operator
[: 137: ext3: unexpected operator
/dev/sdb1:Windows NT/2000/XP (loader):Windows1:chain
[: 137: fuseblk: unexpected operator
[: 137: ext4: unexpected operator
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
/dev/sdc1:Windows NT/2000/XP (loader):Windows2:chain
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
[: 137: ext4: unexpected operator
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
/dev/sdc17:NetBSD:NetBSD:netbsd
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
/dev/sdc20:FreeBSD:FreeBSD 7.0-RC1:freebsd
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
/dev/sdc24:NetBSD:NetBSD 5.1/i386:netbsd
[: 137: fuseblk: unexpected operator
/dev/sdc3:FreeBSD:FreeBSD 7.0-RC1:freebsd
[: 137: fuseblk: unexpected operator
/dev/sdc6:Gentoo Base System release 1.12.13:Gentoo:linux
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
[: 137: fuseblk: unexpected operator
Without os-prober-90linux-distro.patch (everything's fine):
/dev/sda1:Windows NT/2000/XP (loader):Windows:chain
/dev/sda2:OpenBSD:OpenBSD 4.7:openbsd
/dev/sda21:OpenBSD:OpenBSD 4.7:openbsd
/dev/sda24:FreeBSD:FreeBSD 8.1-RELEASE:freebsd
/dev/sda27:NetBSD:NetBSD 5.0.2/i386:netbsd
/dev/sda3:FreeBSD:FreeBSD 8.1-RELEASE:freebsd
/dev/sdb1:Windows NT/2000/XP (loader):Windows1:chain
/dev/sdc1:Windows NT/2000/XP (loader):Windows2:chain
/dev/sdc17:NetBSD:NetBSD:netbsd
/dev/sdc20:FreeBSD:FreeBSD 7.0-RC1:freebsd
/dev/sdc24:NetBSD:NetBSD 5.1/i386:netbsd
/dev/sdc3:FreeBSD:FreeBSD 7.0-RC1:freebsd
I think that we should find another way to skip ufs partitons in linux probe,
which doesn't break fuse... but don't know exactly if it wasn't changed in the
meantime. Ubuntu 11.10 uses 1.49, and I used 1.52 + my patches. Also skipping
ufs partitions in this test would prevent the detection of Linux distros
installed in ufs partitions... but I don't know anybody who would do that (!).
Further, cases for "freebsd", "netbsd" and "openbsd" can be added in Grub2's
30_os-prober to write menu entries for these OSes. (I did and it's working).
One more word about the 85*bsd probes.
ID_PART_ENTRY_SCHEME is either dos or freebsd (maybe openbsd or netbsd as well
- I haven't checked yet). If it is "freebsd" or something else than "dos", it
is a BSD slice and should be skipped (it's not going to be booted at all).
I read in 1.52 ChangeLog that code for BSD had been added and removed because
it broke things. I haven't seen that code at all (I updated from 1.49 to 1.52).
I might have taken a totally different approach.
I ported os-prober from ArchLinux a while ago to openSUSE in my repo, as the
the project didn't exist in factory. That's why I'm still using my own version
- since a couple scripts I wrote depend on it.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.