/usr/bin/linux-boot-prober is in os-prober 1.70ubuntu3.
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 | #!/bin/sh
. /usr/share/os-prober/common.sh
set -e
newns "$@"
require_tmpdir
grep "^/dev/" /proc/mounts | parse_proc_mounts >"$OS_PROBER_TMP/mounted-map" || true
partition="$1"
if [ -z "$partition" ]; then
echo "usage: linux-boot-prober partition" >&2
exit 1
fi
if ! mapped="$(mapdevfs "$partition")"; then
log "Device '$partition' does not exist; skipping"
continue
fi
if ! grep -q "^$mapped " "$OS_PROBER_TMP/mounted-map"; then
for test in /usr/lib/linux-boot-probes/*; do
debug "running $test"
if [ -x $test ] && [ -f $test ]; then
if $test "$partition"; then
debug "linux detected by $test"
break
fi
fi
done
else
mpoint=$(grep "^$mapped " "$OS_PROBER_TMP/mounted-map" | head -n1 | cut -d " " -f 2)
mpoint="$(unescape_mount "$mpoint")"
if [ "$mpoint" != "/target/boot" ] && [ "$mpoint" != "/target" ] && [ "$mpoint" != "/" ]; then
type=$(grep "^$mapped " "$OS_PROBER_TMP/mounted-map" | head -n1 | cut -d " " -f 3)
if ! grep -q " $mpoint/boot " "$OS_PROBER_TMP/mounted-map"; then
linux_mount_boot "$partition" "$mpoint"
bootpart="${mountboot%% *}"
bootmounted="${mountboot#* }"
else
bootpart="$partition"
bootmounted=0
fi
for test in /usr/lib/linux-boot-probes/mounted/*; do
if [ -f $test ] && [ -x $test ]; then
debug "running $test on mounted $partition"
if $test "$partition" "$bootpart" "$mpoint" "$type"; then
debug "$test succeeded"
break
fi
fi
done
if [ "$bootmounted" = 1 ]; then
if ! umount "$mpoint/boot"; then
warn "failed to umount $mpoint/boot"
fi
fi
fi
fi
|