On Fri, Nov 10, 2017 at 10:27:36AM +0200, Artturi Alm wrote:
> 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
0x0C is only used due to the broadcom boot rom not understanding
EFI System partition (0xEF). That should not be set outside of arm*.
As it is the partition is larger than it needs to be as kernels
are no longer stored there.
There is no reason to force MBR as both U-Boot and EDK2 should be able
to cope with GPT.
>
>
> 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'
>