x86/efi: add FAT32 esp mounting support
authorKagurazaka Kotori <kagurazakakotori@gmail.com>
Tue, 8 Sep 2020 08:00:02 +0000 (16:00 +0800)
committerPaul Spooren <mail@aparcar.org>
Sun, 3 Jan 2021 23:48:50 +0000 (13:48 -1000)
Adds a new function get_magic_fat32() in base-files to read FAT32 magic.
Now FAT32 EFI system partition can be handled in the same way as FAT12/FAT16.

Signed-off-by: Kagurazaka Kotori <kagurazakakotori@gmail.com>
[replace '-o' with '] || [' to satisfy shellsheck]
Signed-off-by: Paul Spooren <mail@aparcar.org>
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() {