From dce7f08255230eaf08fbec5e4195b1b04778850e Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@robotics.uk.to>
Date: Sat, 12 Jan 2019 13:09:54 +0000
Subject: [PATCH] Prepare for 64bit arm

---
 src/freedombone-image-hardware-setup | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/freedombone-image-hardware-setup b/src/freedombone-image-hardware-setup
index f294440a7..920ceb497 100755
--- a/src/freedombone-image-hardware-setup
+++ b/src/freedombone-image-hardware-setup
@@ -54,6 +54,7 @@ beaglebone_repack_kernel() {
     beaglebone_variant="$1"
     arm_loadaddr="$2"
     arm_initrd_addr="$3"
+    arm_arch="$4"
     # process installed kernel to create uImage, uInitrd, dtb
     # using flash-kernel would be a good approach, except it fails in the
     # cross build environment due to too many environment checks...
@@ -102,10 +103,10 @@ beaglebone_repack_kernel() {
     (cd /boot || exit 24 ; \
      cp "${bbb_dtb_file}" dtb ; \
      cat "$vmlinuz" dtb >> temp-kernel ; \
-     mkimage -A arm -O linux -T kernel -n "Debian kernel ${version}" \
+     mkimage -A "${arm_arch}" -O linux -T kernel -n "Debian kernel ${version}" \
              -C none -a "${arm_loadaddr}" -e "${arm_loadaddr}" -d temp-kernel uImage ; \
      rm -f temp-kernel ; \
-     mkimage -A arm -O linux -T ramdisk -C gzip -a "${arm_initrd_addr}" -e "${arm_initrd_addr}" \
+     mkimage -A "${arm_arch}" -O linux -T ramdisk -C gzip -a "${arm_initrd_addr}" -e "${arm_initrd_addr}" \
              -n "Debian ramdisk ${version}" \
              -d "$initRd" uInitrd )
 }
@@ -161,6 +162,7 @@ arm_setup_boot() {
     arm_boot_start=
     arm_boot_dev=
     arm_boot_console='ttyO0,115200n8'
+    arm_arch=arm
 
     case "$dtb" in
         "am"*) arm_loadaddr='0x82000000'
@@ -179,7 +181,8 @@ arm_setup_boot() {
         "sun"*) { echo "rtc_sunxi";
                   echo "vfat"; } >> /etc/initramfs-tools/modules
                 ;;
-        "rock"*) echo "vfat" >> /etc/initramfs-tools/modules
+        "rock"*) arm_arch=arm64
+                 echo "vfat" >> /etc/initramfs-tools/modules
                  ;;
     esac
 
@@ -263,7 +266,7 @@ EOF
         case "$arm_flash_name" in
             "TI "*)
                 beaglebone_flash "$arm_flash_name"
-                beaglebone_repack_kernel "${dtb}" "$arm_loadaddr" "$arm_initrd_addr"
+                beaglebone_repack_kernel "${dtb}" "$arm_loadaddr" "$arm_initrd_addr" "$arm_arch"
                 ;;
         esac
     fi
-- 
GitLab