On 16.04.25 04:03, Stefano Stabellini wrote:
On Mon, 14 Apr 2025, Grygorii Strashko wrote:
From: Grygorii Strashko <[email protected]>

The current code in generate_uboot_images() does not detect arm64 properly
and always generates ARM u-boot image. This causes Xen boot issues.

Fix it by searching for "ARM64" for AArch64 binary detection.

- mkimage -l xen.ub
Before:
Image Type:   ARM Linux Kernel Image (uncompressed)

After:
Image Type:   AArch64 Linux Kernel Image (uncompressed)

Signed-off-by: Grygorii Strashko <[email protected]>
---
  scripts/uboot-script-gen | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index a9f698f00fd1..c4d26caf5e0e 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -815,13 +815,13 @@ function linux_config()
generate_uboot_images()
  {
-    local arch=$(file -L $XEN | grep "ARM")
+    local arch=$(file -L $XEN | grep -o "ARM64")

My file -L gives:

for arm32: ARM OpenFirmware [...]
for arm64: Aarch64

So the ARM64 grep wouldn't work as intended. Is the version of `file'
that you are using really printing ARM64?

Hm, yes.

        file -L xen
        xen: Linux kernel ARM64 boot executable Image, little-endian, 4K pages

        file -v
        file-5.41

u-boot boot command:
         bootm 0x4EA00000 - 0x4EE00000


 If so, we can do:

   file -L $XEN | grep -E 'ARM64|Aarch64'

sure. I'll update.



      if test "$arch"
      then
-        arch=arm
-    else
          arch=arm64
+    else
+        arch=arm
      fi
mkimage -A $arch -T kernel -C none -a $memaddr -e $memaddr -d $XEN "$XEN".ub
--
2.34.1


--
Best regards,
-grygorii

Reply via email to