/usr/lib/linux-boot-probes/mounted/50lilo is in os-prober 1.65+deb8u1.
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 | #!/bin/sh
. /usr/share/os-prober/common.sh
set -e
partition="$1"
bootpart="$2"
mpoint="$3"
type="$4"
found_item=0
title=""
rootdev=""
kernel=""
parameters=""
initrd=""
read_only=""
added_parameters=0
default_rootdev=""
default_kernel=""
default_parameters=""
default_initrd=""
default_read_only=""
dequote () {
item="${1%\"}"
echo "${item#\"}"
}
addparams () {
# Any parameters we find replace the default parameters, but
# otherwise append.
if [ "$added_parameters" = 0 ]; then
parameters="$1"
added_parameters=1
else
parameters="${parameters:+$parameters }$1"
fi
}
recordstanza () {
if [ -n "$kernel" ] && [ -n "$title" ]; then
if [ -e "$mpoint/$kernel" ] && [ -e "$mpoint/$initrd" ]; then
if [ "$read_only" ]; then
parameters="ro $parameters"
fi
if [ "$rootdev" ]; then
parameters="root=$rootdev $parameters"
fi
parameters="${parameters% }"
result "$rootpart:$bootpart:$title:$kernel:$initrd:$parameters"
found_item=1
else
debug "cannot find $kernel or $initrd, not recording"
fi
title=""
rootdev="$default_rootdev"
kernel="$default_kernel"
parameters="$default_parameters"
initrd="$default_initrd"
read_only="$default_read_only"
added_parameters=0
else
# Everything before set default values.
default_rootdev="$rootdev"
default_kernel="$kernel"
default_parameters="$parameters"
default_initrd="$initrd"
default_read_only="$read_only"
fi
}
parse_lilo_conf () {
mpoint="$1"
rootpart="$2"
bootpart="$3"
IFS=" ="
while read line; do
debug "parsing: $line"
set -f
set -- $line
set +f
case "$1" in
root)
rootdev=$(dequote "$2")
;;
image)
recordstanza
# Dereference if symbolic link
kernel="$(readlink -f "$(dequote "$2")")"
;;
append)
addparams "$(dequote "${line#append=}")"
;;
initrd)
# Dereference if symbolic link
initrd="$(readlink -f "$(dequote "$2")")"
;;
label)
shift 1
title="$(dequote "$*" | sed -e 's/:/ /g')"
;;
other)
recordstanza
;;
read-only)
read_only=1
;;
vga)
addparams "$line"
;;
esac
done
recordstanza
}
if [ -e "$mpoint/etc/lilo.conf" ]; then
debug "parsing lilo.conf"
parse_lilo_conf "$mpoint" "$partition" "$bootpart" < "$mpoint/etc/lilo.conf"
fi
if [ "$found_item" = 0 ]; then
exit 1
else
exit 0
fi
|