x86: add preinit hook for bootloader upgrade
[openwrt/staging/jogo.git] / target / linux / x86 / base-files / lib / preinit / 81_upgrade_bootloader
1 #!/bin/sh
2
3 upgrade_bootloader() {
4 local diskdev
5
6 . /lib/upgrade/common.sh
7
8 if [ ! -f /boot/grub/upgraded ] && export_bootdevice && export_partdevice diskdev 0; then
9 echo "(hd0) /dev/$diskdev" > /tmp/device.map
10 /usr/sbin/grub-bios-setup \
11 -m "/tmp/device.map" \
12 -d "/boot/grub" \
13 -r "hd0,msdos1" \
14 "/dev/$diskdev" \
15 && touch /boot/grub/upgraded
16 fi
17 }
18
19 [ "$INITRAMFS" = "1" ] || boot_hook_add preinit_main upgrade_bootloader