AnsweredAssumed Answered

load kernel from SD card in U-boot

Question asked by Pawel Krzyzanowski on Nov 23, 2015
Latest reply on Nov 27, 2015 by Pawel Krzyzanowski


I would like to ask question how to load image from SD-card with U-boot running.

My setup is:

- U-boot loaded to i.MX6sl through serial download mode (because I compile under Linux, I have been using imx_usb to put U-boot on board)

- I have serial console working and steps I set:


Hit any key to stop autoboot:  0
U-Boot > setenv loadaddr 0x80800000
U-Boot > setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'
U-Boot > setenv kernel 'uImage'
U-Boot > setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw'
U-Boot > setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc dev 2;mmc read ${loadaddr} 0x800 0x1800;bootm
U-Boot > setenv bootcmd 'run bootcmd_mmc'
U-Boot > saveenv
Saving Environment to MMC...
Writing to MMC(2)... done
U-Boot > run bootcmd
mmc2 is current device

MMC read: dev # 2, block # 2048, count 6144 ... 6144 blocks read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!


I am using SD3 so card is seen on 2nd port.

I think that problem is with proper path settings to uImage (I wish to see line 'Uncompressing Linux....')

Card I am using have 2 partitions 1st fat bootable, 2nd Linux partition:

:~/$ cat /proc/partitions

major minor  #blocks  name

   8  49  8192 sdd1
   8  50544768 sdd2


How should I change my setting to be able to load from /sdd2/boot/uImage ?


uImage info:

Image Name:   Linux-3.0.35-02887-g731b440-dirt
Created:      Mon Nov 23 14:49:09 2015
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    3567572 Bytes = 3483.96 kB = 3.40 MB
Load Address: 10008000
Entry Point:  10008000
  Image arch/arm/boot/uImage is ready