x86/efi: add FAT32 esp mounting support
[openwrt/openwrt.git] / package / base-files / files / lib / upgrade / common.sh
index b44a5998f4e5fa77fbc56c0f0fd1edf4ac4a5787..e8a28f4138c5d3e3c1da071a3078a4514aba60fe 100644 (file)
@@ -133,6 +133,10 @@ get_magic_vfat() {
        (get_image "$@" | dd bs=1 count=3 skip=54) 2>/dev/null
 }
 
+get_magic_fat32() {
+       (get_image "$@" | dd bs=1 count=5 skip=82) 2>/dev/null
+}
+
 part_magic_efi() {
        local magic=$(get_magic_gpt "$@")
        [ "$magic" = "EFI PART" ]
@@ -140,7 +144,8 @@ part_magic_efi() {
 
 part_magic_fat() {
        local magic=$(get_magic_vfat "$@")
-       [ "$magic" = "FAT" ]
+       local magic_fat32=$(get_magic_fat32 "$@")
+       [ "$magic" = "FAT" ] || [ "$magic_fat32" = "FAT32" ]
 }
 
 export_bootdevice() {