Hi,

currently, just editing the mbr to give more room for u-boot env growth,
will result in unbootable system, as the installer will fail to mount it,
and naturally things won't work beyond u-boot after reboot either.

i'm not really sure about this diff, but it does seem like it might do,
what i think it should? might take a while, before i can test myself, so
i thought i'd mail and ask, if there's a reason for how it is atm.? :)

-Artturi


diff --git a/distrib/armv7/ramdisk/install.md b/distrib/armv7/ramdisk/install.md
index 23d574e4e7a..1639e06c221 100644
--- a/distrib/armv7/ramdisk/install.md
+++ b/distrib/armv7/ramdisk/install.md
@@ -141,8 +141,14 @@ partition on the disk.
 $(fdisk ${_disk})
 __EOT
                        fdisk -e ${_disk}
-                       disk_has $_disk mbr openbsd && return
-                       echo No OpenBSD partition in MBR, try again. ;;
+                       disk_has $_disk mbr efi ||
+                               { echo No EFI(FAT id 0C) partition in MBR, try 
again.; continue; }
+                       disk_has $_disk mbr efi_bootable ||
+                               { echo No bootable EFI partition in MBR, try 
again.; continue; }
+                       disk_has $_disk mbr openbsd ||
+                               { echo No OpenBSD partition in MBR, try again.; 
continue; }
+                       newfs -t ${bootfstype} ${newfs_args} ${_disk}i
+                       return ;;
                esac
        done
 }
diff --git a/distrib/miniroot/install.sub b/distrib/miniroot/install.sub
index ef8c069588d..e204dd49d27 100644
--- a/distrib/miniroot/install.sub
+++ b/distrib/miniroot/install.sub
@@ -368,6 +368,8 @@ disk_has() {
        local _p_mbr_openbsd='^..: A6 '
        local _p_mbr_dos='^..: 06 '
        local _p_mbr_dos_active='^\*.: 06 '
+       local _p_mbr_efi='^..: 0C '
+       local _p_mbr_efi_bootable='^\*.: 0C '
        local _p_mbr_linux='^..: 83 '
        local _p_sr='OPENBSD, SR'
        local _p_sr_crypto='OPENBSD, SR CRYPTO'

Reply via email to