File os-prober-bsd-newprobesfix.patch of Package os-prober
--- os-prober-1.53/os-probes/mounted/x86/85freebsd.orig 2012-04-29 01:09:05.766868449 -0700
+++ os-prober-1.53/os-probes/mounted/x86/85freebsd 2012-04-29 01:08:43.918410402 -0700
@@ -0,0 +1,27 @@
+#!/bin/sh
+# Attempt to check if FreeBSD is installed in this system
+# looking at the /boot/loader file and /boot/kernel directory.
+
+set -e
+
+. /usr/share/os-prober/common.sh
+
+partition="$1"
+dir="$2"
+type="$3"
+
+if [ -f "$dir/boot/loader" ] && [ -f "$dir/boot/kernel/kernel" ]; then
+ label=`strings $dir/boot/kernel/kernel | sed -n 's|^\(FreeBSD [0-9][0-9.][^ ]*\).*|\1|p'`
+ if [ "x$label" = "x" ] ; then
+ label="FreeBSD"
+ fi
+ scheme=`udevadm info --query=property --name=$partition | awk -F "=" '/ID_PART_ENTRY_SCHEME/ { print $2 }'`
+ if [ "$scheme" = "dos" ] ; then
+ result "$partition:FreeBSD:$label:freebsd"
+ exit 0
+ else
+ exit 2
+ fi
+else
+ exit 1
+fi
--- os-prober-1.53/os-probes/mounted/x86/85netbsd.orig 2012-04-29 01:09:05.766868449 -0700
+++ os-prober-1.53/os-probes/mounted/x86/85netbsd 2012-04-29 01:08:43.918410402 -0700
@@ -0,0 +1,32 @@
+#!/bin/sh
+# Attempt to check if NetBSD is installed in this system
+# looking at the /boot and /netbsd files.
+
+set -e
+
+. /usr/share/os-prober/common.sh
+
+partition="$1"
+dir="$2"
+type="$3"
+
+if [ -f "$dir/boot" ] && [ -f "$dir/netbsd" ]; then
+ if [ -f "$dir/etc/release" ] ; then
+ label=`grep '^NetBSD' $dir/etc/release | head -1`
+ else
+ label="NetBSD"
+ fi
+
+ if [ "x$label" = "x" ] ; then
+ label="NetBSD"
+ fi
+ scheme=`udevadm info --query=property --name=$partition | awk -F "=" '/ID_PART_ENTRY_SCHEME/ { print $2 }'`
+ if [ "$scheme" = "dos" ] ; then
+ result "$partition:NetBSD:$label:netbsd"
+ exit 0
+ else
+ exit 2
+ fi
+else
+ exit 1
+fi
--- os-prober-1.53/os-probes/mounted/x86/85openbsd.orig 2012-04-29 01:09:05.766868449 -0700
+++ os-prober-1.53/os-probes/mounted/x86/85openbsd 2012-04-29 01:08:43.918410402 -0700
@@ -0,0 +1,27 @@
+#!/bin/sh
+# Attempt to check if openBSD is installed in this system
+# looking at the /boot and /bsd files.
+
+set -e
+
+. /usr/share/os-prober/common.sh
+
+partition="$1"
+dir="$2"
+type="$3"
+
+if [ -f "$dir/boot" ] && [ -f "$dir/bsd" ]; then
+ label=`strings $dir/bsd | sed -n 's/\(^OpenBSD [0-9.]*\).*/\1/p'`
+ if [ "x$label" = "x" ] ; then
+ label="OpenBSD"
+ fi
+ scheme=`udevadm info --query=property --name=$partition | awk -F "=" '/ID_PART_ENTRY_SCHEME/ { print $2 }'`
+ if [ "$scheme" = "dos" ] ; then
+ result "$partition:OpenBSD:$label:openbsd"
+ exit 0
+ else
+ exit 2
+ fi
+else
+ exit 1
+fi