Failed to boot from SD card

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Failed to boot from SD card

2,290 Views
takumishimada
Contributor II

Hello

According to this documents Freescale Technical Information Center, I tried to boot the kernel from SD card.

But the boot is failed because there is no command "ext2load".

I use the pre-installed U-boot(2014.01-00632-gf891181).

Regards

Shimada

Tags (3)
0 Kudos
4 Replies

1,415 Views
Pavel
NXP Employee
NXP Employee

It looks like that u-boot on your board is too old. Load the latest version of the u-boot for your board.

Freescale offers the latest Linux SDK 1.7 for QorIQ processors:

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=SDKLINUX&fsrch=1&sr=1&pageNum=1#

This SDK contains source files for image building and built images for different boards.

Load u-boot from this SDK to your board.

Freescale Technical Information Center contains list instructions for programming a new u-boot:

  http://www.freescale.com/infocenter/index.jsp?topic=%2FQORIQSDK%2F6332565.html

0 Kudos

1,415 Views
takumishimada
Contributor II

Thank you.

Using u-boot from SDK 1.7, the board can execute "ext2load".

But there is another program.

Although I copied the uImage.dtb in the SD card, the board cannot load the dtb file.

I sent the command `ext2load mmc 0:2 $fdtaddr /boot/uImage.dtb`, but the board said "** File not found uImage **".

I also tried to download the dtb file using tftp, but loading failed to timeout, despite using the same configuration in the pre-installed u-boot.

0 Kudos

1,415 Views
Pavel
NXP Employee
NXP Employee

See below command sequence for the MPC8308 board. Use similar command sequence for your board.

  1. 1. Set the following variables in the u-boot:

setenv mmcargs "setenv bootargs root=/dev/mmcblk0p1 rootwait rw console=$consoledev,$baudrate $othbootargs;mmcinfo"

setenv mmcload_uImage "ext2load mmc 0:1 $loadaddr /boot/uImage"

setenv mmcload_dtb "ext2load mmc 0:1 $fdtaddr /boot/mpc8308erdb.dtb"

setenv mmcboot "run mmcargs;run mmcload_uImage;run mmcload_dtb;bootm $loadaddr - $fdtaddr"

  1. 2. Copy rootfs folder to the SD card (command: sudo cp –af “source” “destination”).

  1. 3. run Linux using the following command on the MPC8308 board:

run mmcboot

0 Kudos

1,415 Views
takumishimada
Contributor II

I tried it, but same state.

The console output is as follow:

=> setenv mmcargs "setenv bootargs root=/dev/mmcblk0p2 rootwait rw console=$consoledev,$baudrate $othbootargs;mmcinfo"

=> setenv mmcload_uImage "ext2load mmc 0:2 $loadaddr /boot/uImage"

=> setenv mmcload_dtb "ext2load mmc 0:2 $fdtaddr /boot/uImage.dtb"

=> setenv mmcboot "run mmcargs;run mmcload_uImage;run mmcload_dtb;bootm $loadaddr - $fdtaddr"

=> saveenv

Saving Environment to Flash...

Un-Protected 1 sectors

Erasing Flash...

. done

Erased 1 sectors

Writing to Flash... 9....8....7....6....5....4....3....2....1....done

Protected 1 sectors

=> run mmcboot

Device: FSL_SDHC

Manufacturer ID: 74

OEM: 4a45

Name: SDC 

Tran Speed: 50000000

Rd Block Len: 512

SD version 3.0

High Capacity: Yes

Capacity: 14.7 GiB

Bus Width: 4-bit

3079896 bytes read in 279 ms (10.5 MiB/s)

** File not found uImage **

## Booting kernel from Legacy Image at 82000000 ...

  Image Name: Linux-3.12.19-rt30+ls1+g6619b8b

  Image Type: ARM Linux Kernel Image (uncompressed)

  Data Size: 3079832 Bytes = 2.9 MiB

  Load Address: 80008000

  Entry Point: 80008000

  Verifying Checksum ... OK

  Loading Kernel Image ... OK

Starting kernel ...

0 Kudos