diff --git a/src/freedombone-image-hardware-setup b/src/freedombone-image-hardware-setup
index b9c94652e8a8aa4d31e6f6a432e51cfda8e89999..b10c2e622c30e6374db309795591fde57a85c746 100755
--- a/src/freedombone-image-hardware-setup
+++ b/src/freedombone-image-hardware-setup
@@ -52,6 +52,8 @@ beaglebone_flash() {
 
 beaglebone_repack_kernel() {
     beaglebone_variant="$1"
+    arm_loadaddr="$2"
+    arm_initrd_addr="$3"
     # 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...
@@ -101,9 +103,9 @@ beaglebone_repack_kernel() {
      cp "${bbb_dtb_file}" dtb ; \
      cat "$vmlinuz" dtb >> temp-kernel ; \
      mkimage -A arm -O linux -T kernel -n "Debian kernel ${version}" \
-             -C none -a 0x82000000 -e 0x82000000 -d temp-kernel uImage ; \
+             -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 0x88080000 -e 0x88080000 \
+     mkimage -A arm -O linux -T ramdisk -C gzip -a "${arm_initrd_addr}" -e "${arm_initrd_addr}" \
              -n "Debian ramdisk ${version}" \
              -d "$initRd" uInitrd )
 }
@@ -266,7 +268,7 @@ EOF
         case "$arm_flash_name" in
             "TI "*)
                 beaglebone_flash "$arm_flash_name"
-                beaglebone_repack_kernel "${dtb}"
+                beaglebone_repack_kernel "${dtb}" "$arm_loadaddr" "$arm_initrd_addr"
                 ;;
         esac
     fi