title: how to boot uImage of arm 64 bit kernel on raspberrypi 3?
body: <p>I build the linux kernel-4.6 for rpi3 and tried to boot it up from u-boot using the following commands.</p>
  
  <p>In u-boot console</p>
  
  <p><code>fatload mmc 0:1 $fdt_addr_r bcm2710-rpi-3-b.dtb
  fatload mmc 0:1 $loadaddr Image
  setenv bootargs root=/dev/mmcblk0p2 rw rootwait console=tty0 rootfstype=ext4
  booti $loadaddr - $fdt_addr_r</code></p>
  
  <p>All the binaries are in place and the kernel just boots fine.</p>
  
  <p><code>$loadaddr</code> is <code>0x00200000</code><br>
  <code>$fdt_addr_r</code> is <code>0x00000100</code></p>
  
  <p>How can I boot the uImage of the kernel instead of the Image binary since I don't know much about the type of Image binary (which shows up as MS Dos executable on doing <code>file Image</code>)</p>
  
  <p><strong>My Failed Attempt</strong></p>
  
  <p>Using the <code>mkimage</code> utility, I created the uImage as follows and then tried to boot it up using the following commands.</p>
  
  <p><code>./mkimage -A arm64 -O Linux -T kernel -C none -a 0x80080000 -e 0x80080000 -d Image uImage</code> </p>
  
  <p>In u-boot console</p>
  
  <p><code>fatload mmc 0:1 $fdt_addr_r bcm2710-rpi-3-b.dtb
  fatload mmc 0:1 $loadaddr uImage
  setenv bootargs root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4 console=AMA0
  bootm $loadaddr - $fdt_addr_r</code></p>
  
  <p>But nothing happens and u-boot binary gets rebooted itself. Can <code>bootm</code> be used to boot the uImage of arm 64 bit kernel? Or the uImage created is itself not correct? What am I missing?</p>