The hole in the barebox images is large enough to fit at least the
primary GPT header and the protective MBR, but the rest of the GPT
needs to live after the barebox image, so set the gpt-location to the
size of the barebox image. For the other bootloaders, nothing needs to
change, so set the gpt-location to its default value of 1024. For MBR,
this config setting is ignored.

Link: https://www.barebox.org/doc/latest/boards/imx.html#using-gpt-on-i-mx
Signed-off-by: Roland Hieber <r...@pengutronix.de>
---
 config/images/barebox_partitions.config | 2 +-
 config/images/hd.config                 | 1 +
 rules/image-hdimg.make                  | 3 +++
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/config/images/barebox_partitions.config 
b/config/images/barebox_partitions.config
index a5c55e69e952..114b461d9099 100644
--- a/config/images/barebox_partitions.config
+++ b/config/images/barebox_partitions.config
@@ -1,6 +1,6 @@
 partition barebox {
        in-partition-table = false
        image = "barebox-image"
-       holes = {"(440; 512)"}
+       holes = {"(440; 1024)"}
        size = 2M
 }
diff --git a/config/images/hd.config b/config/images/hd.config
index d33ddc43490a..0ae3c27b46b7 100644
--- a/config/images/hd.config
+++ b/config/images/hd.config
@@ -5,6 +5,7 @@ image @IMAGE@ {
        hdimage {
                align = 1M
                partition-table-type = "@PARTITION_TABLE_TYPE@"
+               gpt-location = "@GPT_LOCATION@"
        }
        @BOOTLOADER_PARTITIONS@
        partition root {
diff --git a/rules/image-hdimg.make b/rules/image-hdimg.make
index b470c0fb6b1a..02f7f84bfcad 100644
--- a/rules/image-hdimg.make
+++ b/rules/image-hdimg.make
@@ -30,17 +30,20 @@ IMAGE_HDIMG_BOOTLOADER_ENV := \
 
 ifdef PTXCONF_IMAGE_HDIMG_GRUB
 IMAGE_HDIMG_BOOTLOADER_ENV = \
+       GPT_LOCATION='1024' \
        GRUB_STAGE_DIR=$(GRUB_STAGE_DIR) \
        BOOTLOADER_IMAGES='include("grub.config")' \
        BOOTLOADER_PARTITIONS='include("grub_partitions.config")'
 endif
 ifdef PTXCONF_IMAGE_HDIMG_BAREBOX
 IMAGE_HDIMG_BOOTLOADER_ENV := \
+       GPT_LOCATION='2M' \
        BOOTLOADER_IMAGES='' \
        BOOTLOADER_PARTITIONS='include("barebox_partitions.config")'
 endif
 ifdef PTXCONF_IMAGE_HDIMG_VFAT
 IMAGE_HDIMG_BOOTLOADER_ENV := \
+       GPT_LOCATION='1024' \
        BOOTLOADER_IMAGES='' \
        BOOTLOADER_PARTITIONS='include("vfat_partitions.config")'
 
-- 
2.30.2


Reply via email to