blob: b2898a31842beda6b03d206eb079f42aabababc9 (
plain)
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
|
#!/bin/bash
30_os-prober() {
local file=/etc/grub.d/30_os-prober # from package 'grub'
sed -i $file \
-e "s|\(echo \${LINUX} \| cut -d ':' -f 5\)\`|\1 \| tr '^' ' '\`|" \
-e 's|LINITRD="${LINITRD#/boot}"$|LINITRD=$(echo "$LINITRD" \| sed -e "s\|/boot/\|/\|g")|' # remove /boot
}
40grub2() {
local file=/usr/lib/linux-boot-probes/mounted/40grub2 # from package 'os-prober'
# use all (but first) parameters:
local c1='s|initrd="$(echo "$2"|shift; initrd="$(echo "$@"|'
# add prefix /boot:
local c2='s|initrd="/boot$initrd"|initrd=$(echo "$initrd" \| sed -e "s\|^/\|/boot/\|" -e "s\| /\| /boot/\|g")|'
sed -i $file -e "$c1" -e "$c2"
}
Main()
{
local hookname="$1"
case "$hookname" in
30_os-prober) 30_os-prober ;;
40grub2) 40grub2 ;;
"") 30_os-prober
40grub2
;;
esac
}
Main "$@"
|