case "$(get_magic_word "$1")" in
eb48|eb63) ;;
*)
- echo "Invalid image type"
+ v "Invalid image type"
return 1
;;
esac
export_bootdevice && export_partdevice diskdev 0 || {
- echo "Unable to determine upgrade device"
+ v "Unable to determine upgrade device"
return 1
}
rm -f /tmp/image.bs /tmp/partmap.bootdisk /tmp/partmap.image
if [ -n "$diff" ]; then
- echo "Partition layout has changed. Full image will be written."
+ v "Partition layout has changed. Full image will be written."
ask_bool 0 "Abort" && exit 1
return 0
fi
echo "(hd0) /dev/$diskdev" > /tmp/device.map
part_magic_efi "/dev/$diskdev" && parttable=gpt
- echo "Upgrading bootloader on /dev/$diskdev..."
+ v "Upgrading bootloader on /dev/$diskdev..."
grub-bios-setup \
-m "/tmp/device.map" \
-d "/tmp/boot/boot/grub" \
local diskdev partdev diff
export_bootdevice && export_partdevice diskdev 0 || {
- echo "Unable to determine upgrade device"
+ v "Unable to determine upgrade device"
return 1
}
#iterate over each partition from the image and write it to the boot disk
while read part start size; do
if export_partdevice partdev $part; then
- echo "Writing image to /dev/$partdev..."
+ v "Writing image to /dev/$partdev..."
get_image "$@" | dd of="/dev/$partdev" ibs=512 obs=1M skip="$start" count="$size" conv=fsync
else
- echo "Unable to find partition $part device, skipped."
+ v "Unable to find partition $part device, skipped."
fi
done < /tmp/partmap.image
#copy partition uuid
- echo "Writing new UUID to /dev/$diskdev..."
+ v "Writing new UUID to /dev/$diskdev..."
get_image "$@" | dd of="/dev/$diskdev" bs=1 skip=440 count=4 seek=440 conv=fsync
platform_do_bootloader_upgrade "$diskdev"