diff --git a/src/freedombone-image-hardware-setup b/src/freedombone-image-hardware-setup
index b3d38d73a7078044dfe1be8b1b40e52c5cb5f9bc..f30b75f2ca66fb641e58cb43551ea5c0e7d27c4f 100755
--- a/src/freedombone-image-hardware-setup
+++ b/src/freedombone-image-hardware-setup
@@ -164,10 +164,34 @@ arm_setup_boot() {
                arm_fdtaddr='0x88000000'
                arm_boot_script=/boot/uEnv.txt
                arm_uenvcmd='uenvcmd='
-               ;;
-    esac
+               cat >> $arm_boot_script <<EOF
+mmcroot=/dev/${arm_root_device} ro
+mmcrootfstype=$fstype rootwait fixrtc
+mmcrootflags=subvol=@
+
+console=ttyO0,115200n8
+
+kernel_file=$vmlinuz
+initrd_file=$initRd
+
+loadaddr=$arm_loadaddr
+initrd_addr=$arm_initrd_addr
+fdtaddr=$arm_fdtaddr
+
+initrd_high=0xffffffff
+fdt_high=0xffffffff
 
-    cat >> $arm_boot_script <<EOF
+loadkernel=load mmc \${mmcdev}:\${mmcpart} \${loadaddr} \${kernel_file}
+loadinitrd=load mmc \${mmcdev}:\${mmcpart} \${initrd_addr} \${initrd_file}; setenv initrd_size \${filesize}
+loadfdt=load mmc \${mmcdev}:\${mmcpart} \${fdtaddr} /dtbs/\${fdtfile}
+
+loadfiles=run loadkernel; run loadinitrd; run loadfdt
+mmcargs=setenv bootargs init=/lib/systemd/systemd console=tty0 console=\${console} root=\${mmcroot} rootfstype=\${mmcrootfstype} rootflags=\${mmcrootflags} ifnames=0 slub_debug=FZP slab_nomerge page_poison=1
+
+uenvcmd=run loadfiles; run mmcargs; bootz \${loadaddr} \${initrd_addr}:\${initrd_size} \${fdtaddr}
+EOF
+               ;;
+        *) cat >> $arm_boot_script <<EOF
 setenv mmcdev 0
 setenv mmcpart 1
 
@@ -197,6 +221,8 @@ setenv mmcargs setenv bootargs init=/lib/systemd/systemd console=tty0 console=\$
 
 ${arm_uenvcmd}run loadfiles; run mmcargs; bootz \${loadaddr} \${initrd_addr}:\${initrd_size} \${fdtaddr}
 EOF
+            ;;
+    esac
 
     mkdir -p /boot/dtbs