/usr/lib/os-probes/mounted/90linux-distro is in os-prober 1.63ubuntu1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | #!/bin/sh
# Test for linux distributions.
set -e
. /usr/share/os-prober/common.sh
partition="$1"
dir="$2"
type="$3"
# This test is inaccurate, but given separate / and /boot partitions and the
# fact that only some architectures have ld-linux.so, I can't see anything
# better. Make sure this test has a high number so that more accurate tests
# can come first.
# Unless volumes to checked are already mounted, they will be mounted using
# GRUB's own filesystems through FUSE. Since these ATM doesn't support
# symlinks we need to also check in $dir/usr/lib* for distributions that
# moved /lib* to /usr and only left symlinks behind.
# TODO: look for ld-linux.so on arches that have it
if (ls "$dir"/lib*/ld*.so* || ls "$dir"/usr/lib*/ld*.so*) >/dev/null 2>/dev/null; then
if [ -e "$dir/etc/debian_version" ]; then
short="Debian"
long="$(printf "Debian GNU/Linux (%s)\n" "$(cat "$dir/etc/debian_version")")"
# RPM derived distributions may also have a redhat-release or
# mandrake-release, so check their files first.
elif [ -e "$dir/etc/altlinux-release" ]; then
short="ALTLinux"
long="$(cat "$dir/etc/altlinux-release")"
elif [ -e "$dir/etc/magic-release" ]; then
short="Magic"
long="$(cat "$dir/etc/magic-release")"
elif [ -e "$dir/etc/blackPanther-release" ]; then
short="blackPanther"
long="$(cat "$dir/etc/blackPanther-release")"
elif [ -e "$dir/etc/ark-release" ]; then
short="Ark"
long="$(cat "$dir/etc/ark-release")"
elif [ -e "$dir/etc/arch-release" ]; then
short="Arch"
long="$(cat "$dir/etc/arch-release")"
elif [ -e "$dir/etc/asplinux-release" ]; then
short="ASPLinux"
long="$(cat "$dir/etc/asplinux-release")"
elif [ -e "$dir/etc/lvr-release" ]; then
short="LvR"
long="$(cat "$dir/etc/lvr-release")"
elif [ -e "$dir/etc/caos-release" ]; then
short="cAos"
long="$(cat "$dir/etc/caos-release")"
elif [ -e "$dir/etc/aurox-release" ]; then
short="Aurox"
long="$(cat "$dir/etc/aurox-release")"
elif [ -e "$dir/etc/engarde-release" ]; then
short="EnGarde"
long="$(cat "$dir/etc/engarde-release")"
elif [ -e "$dir/etc/vine-release" ]; then
short="Vine"
long="$(cat "$dir/etc/vine-release")"
elif [ -e "$dir/etc/whitebox-release" ]; then
short="WhiteBox"
long="$(cat "$dir/etc/whitebox-release")"
elif [ -e "$dir/etc/pld-release" ]; then
short="PLD"
long="$(cat "$dir/etc/pld-release")"
elif [ -e "$dir/etc/startcom-release" ]; then
short="StartCom"
long="$(cat "$dir/etc/startcom-release")"
elif [ -e "$dir/etc/trustix-release" ]; then
short="Trustix"
long="$(cat "$dir/etc/trustix-release")"
elif [ -e "$dir/etc/openna-release" ]; then
short="OpenNA"
long="$(cat "$dir/etc/openna-release")"
elif [ -e "$dir/etc/conectiva-release" ]; then
short="Conectiva"
long="$(cat "$dir/etc/conectiva-release")"
elif [ -e "$dir/etc/mandrake-release" ]; then
short="Mandrake"
long="$(cat "$dir/etc/mandrake-release")"
elif [ -e "$dir/etc/fedora-release" ]; then
short="Fedora"
long="$(cat "$dir/etc/fedora-release")"
elif [ -e "$dir/etc/redhat-release" ]; then
short="RedHat"
long="$(cat "$dir/etc/redhat-release")"
elif [ -e "$dir/etc/SuSE-release" ]; then
short="SuSE"
long="$(head -n 1 "$dir/etc/SuSE-release")"
elif [ -e "$dir/etc/gentoo-release" ]; then
short="Gentoo"
long="$(cat "$dir/etc/gentoo-release")"
elif [ -e "$dir/etc/cobalt-release" ]; then
short="Cobalt"
long="$(cat "$dir/etc/cobalt-release")"
elif [ -e "$dir/etc/yellowdog-release" ]; then
short="YellowDog"
long="$(cat "$dir/etc/yellowdog-release")"
elif [ -e "$dir/etc/turbolinux-release" ]; then
short="Turbolinux"
long="$(cat "$dir/etc/turbolinux-release")"
elif [ -e "$dir/etc/pardus-release" ]; then
short="Pardus"
long="$(cat "$dir/etc/pardus-release")"
elif [ -e "$dir/etc/kanotix-version" ]; then
short="Kanotix"
long="$(cat "$dir/etc/kanotix-version")"
elif [ -e "$dir/etc/slackware-version" ]; then
short="Slackware"
long="$(printf "Slackware Linux (%s)\n" "$(cat "$dir/etc/slackware-version")")"
elif [ -e "$dir/sbin/pkgtool" ]; then
short="Slackware"
long="Slackware Linux"
elif grep -qs OpenLinux "$dir/etc/issue"; then
short="Caldera"
long="Caldera OpenLinux"
elif [ -e "$dir/etc/frugalware-release" ]; then
short="Frugalware Linux"
long="$(cat "$dir/etc/frugalware-release")"
elif [ -e "$dir/etc/kdemar-release" ]; then
short="K-DEMar"
long="$(printf "K-DEMar GNU/Linux (%s)\n" "$(cat "$dir/etc/kdemar-release")")"
elif [ -e "$dir/etc/lfs-release" ]; then
short="LFS"
long="$(printf "Linux From Scratch (%s)\n" "$(cat "$dir/etc/lfs-release")")"
elif [ -e "$dir/etc/meego-release" ]; then
short="MeeGo"
long="$(head -1 "$dir/etc/meego-release")"
else
short="Linux"
long="unknown Linux distribution"
fi
label="$(count_next_label "$short")"
result "$partition:$long:$label:linux"
exit 0
else
exit 1
fi
|