Your IP : 172.28.240.42


Current Path : /usr/lib/os-probes/mounted/
Upload File :
Current File : //usr/lib/os-probes/mounted/90bsd-distro

#!/bin/sh
# Test for *BSD distributions.
set -e

. /usr/share/os-prober/common.sh

partition="$1"
dir="$2"
type="$3"

# Weed out stuff that doesn't apply to us
case "$type" in
  ufs|ufs1|ufs2) ;;
  *) exit 1 ;;
esac

disk=$(echo $partition | gawk '{ match($0, /([[:alpha:][:punct:]]+)[[:digit:]]+/, disk); print disk[1] }')

if [ ! -z "$disk" ]; then
  tpartition=$(echo $partition | sed 's|\/|\\/|g')

  system=$(fdisk -l $disk | awk '/'$tpartition'[[:blank:]]+\*[[:blank:]]+.+[[:blank:]]+.+BSD/ {print $7}')

  if [ ! -z "$system" ]; then
    title=

    if [ -f $dir/etc/motd ]; then
      case $system in
      FreeBSD | NetBSD | OpenBSD) title=$(cat $dir/etc/motd | gawk '{ match($0, /('$system')[[:blank:]]+([[:graph:]]+)[[:blank:]]+(\([[:print:]]+\))/, title); print title[1], title[2], title[3]; exit 0}')
				  ;;
      esac
    fi

    if [ -z "$title" ]; then
      title="$system"
    fi

    label="$(count_next_label "$system")"
    echo "$partition:$title:$label:chain"

    exit 0
  else
    exit 1
  fi
else
  exit 1
fi