File os-prober-mountedtests-ufs2fix.patch of Package os-prober
--- os-prober-1.56/os-probes/common/50mounted-tests.orig 2012-10-23 10:24:16.000000000 -0700
+++ os-prober-1.56/os-probes/common/50mounted-tests 2012-10-23 11:00:03.000000000 -0700
@@ -19,6 +19,10 @@
if type ntfs-3g >/dev/null 2>&1; then
types='ntfs-3g ntfs'
fi
+elif [ "$types" = ufs ]; then
+ if (file -s $partition | grep -q 'v2') ; then
+ ufstype='ufs2'
+ fi
elif [ -z "$types" ]; then
if type cryptsetup >/dev/null 2>&1 && \
cryptsetup luksDump "$partition" >/dev/null 2>&1; then
@@ -47,23 +51,33 @@
mounted=
if type grub-mount >/dev/null 2>&1 && \
- type grub-probe >/dev/null 2>&1 && \
+ type grub2-probe >/dev/null 2>&1 && \
grub-mount "$partition" "$tmpmnt" 2>/dev/null; then
mounted=1
- type="$(grub-probe -d "$partition" -t fs)"
+ type="$(grub2-probe -d "$partition" -t fs)"
if [ "$type" ]; then
debug "mounted using GRUB $type filesystem driver"
+ [ "$OSPDEBUG" ] && echo "mounted using GRUB $type filesystem driver"
else
debug "mounted using GRUB, but unknown filesystem?"
+ [ "$OSPDEBUG" ] && echo "mounted using GRUB, but unknown filesystem?"
type=fuseblk
fi
else
ro_partition "$partition"
for type in $types $delaytypes; do
- if mount -o ro -t "$type" "$partition" "$tmpmnt" 2>/dev/null; then
- debug "mounted as $type filesystem"
- mounted=1
- break
+ if [ "$type" = ufs ]; then
+ for ufstype in ufs2 44bsd; do
+ if mount -o ro,ufstype=$ufstype -t "$type" "$partition" "$tmpmnt" 2>/dev/null; then
+ debug "mounted as $(echo $ufstype | sed 's|44bsd|ufs1|') filesystem"
+ mounted=1
+ fi
+ done
+ else
+ if mount -o ro -t "$type" "$partition" "$tmpmnt" 2>/dev/null; then
+ debug "mounted as $type filesystem"
+ mounted=1
+ fi
fi
done
fi