mirror of
https://github.com/SkimrMe/funky_tv
synced 2026-01-29 19:15:23 +00:00
74 lines
1.6 KiB
Bash
74 lines
1.6 KiB
Bash
#!/bin/sh
|
|
|
|
find_grub_probe_path() {
|
|
if which grub-probe >/dev/null 2>&1; then
|
|
which grub-probe
|
|
elif which grub2-probe >/dev/null 2>&1; then
|
|
which grub2-probe
|
|
else
|
|
echo "XXX"
|
|
fi
|
|
}
|
|
|
|
find_grub_mkconfig_path() {
|
|
if which grub-mkconfig >/dev/null 2>&1; then
|
|
which grub-mkconfig
|
|
elif which grub2-mkconfig >/dev/null 2>&1; then
|
|
which grub2-mkconfig
|
|
else
|
|
echo "XXX"
|
|
fi
|
|
}
|
|
|
|
find_grub_config_path() {
|
|
for i in grub.cfg grub2.cfg grub-efi.cfg grub2-efi.cfg; do
|
|
if readlink -f -e /etc/$i > /dev/null; then
|
|
cfgfile=$(readlink -f -e /etc/$i)
|
|
echo $cfgfile
|
|
return
|
|
fi
|
|
done
|
|
|
|
for t in /boot/grub/grub.cfg /boot/grub2/grub.cfg; do
|
|
if grep -q 'BEGIN' $t 2>/dev/null; then
|
|
echo $t
|
|
return
|
|
fi
|
|
done
|
|
|
|
echo "xx"
|
|
}
|
|
|
|
update_grub_config() {
|
|
GRUB_UPDATE=""
|
|
if update-grub -V > /dev/null 2>&1; then
|
|
GRUB_UPDATE=update-grub
|
|
elif update-grub2 -V > /dev/null 2>&1; then
|
|
GRUB_UPDATE=update-grub2
|
|
else
|
|
vgrubcfg=$(find_grub_config_path)
|
|
mkconfig=$(find_grub_mkconfig_path)
|
|
|
|
if [ -f $mkconfig -a -f $vgrubcfg ]; then
|
|
GRUB_UPDATE="$mkconfig -o $vgrubcfg"
|
|
else
|
|
echo "no grub.cfg found."
|
|
return
|
|
fi
|
|
fi
|
|
|
|
if [ -n "$GRUB_UPDATE" ]; then
|
|
echo "update grub config $GRUB_UPDATE"
|
|
$GRUB_UPDATE
|
|
fi
|
|
}
|
|
|
|
USER=$(whoami)
|
|
if [ "$USER" != "root" ]; then
|
|
echo "Please run this script as root or use sudo"
|
|
echo ""
|
|
exit 1
|
|
fi
|
|
|
|
update_grub_config
|