This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

關於 Wrong Image Format for bootm command

Expert 2272 points

請問我使用TI 官方 SDK 內附的MLO,Uboot.img,uImage

放置Beaglebone Black 的emmc boot mmcbk0 p1分區

SPL與UBOOT  可以正常執行,但在載入Kernel發生了錯誤

請問這是什麼原因造成??

U-Boot 2013.01.01 (Nov 20 2013 - 14:22:13)

I2C: ready
DRAM: 512 MiB
WARNING: Caches not enabled
NAND: No NAND device found!!!
0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - readenv() failed, using default environment

musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO
Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO
Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
Net: <ethaddr> not set. Validating first E-fuse MAC
cpsw, usb_ether
Hit any key to stop autoboot: 0
mmc_send_cmd : timeout: No status update
Card did not respond to voltage select!
mmc0(part 0) is current device
mmc_send_cmd : timeout: No status update
Card did not respond to voltage select!
Booting from nand ...

no devices available
Wrong Image Format for bootm command
ERROR: can't get kernel image!
U-Boot#

  • 这个从nand上boot uImage了,是不是有跳线需要设置呢

  • 吧printenv打印出来,看看是不是从nand启动的

  • 虽然都叫MLO,uboot,但这是在makefile改名得来的,之前有nand,sd之分的,你的编译条件有问题。

  • 我MLO 與 Uboot 都是從emmc啟動的, uboot可以正常啟動,但是無法載kernel

    emmc boot分區

    MLO,uboot.,uImage

    emmc rootfs分區

    FileSystem

    下列為printenv

    U-Boot# printenv
    arch=arm
    baudrate=115200
    board=am335x
    board_name=A335BNLT
    board_rev=00A6
    bootargs=console=ttyO0,115200n8 root=ubi0:rootfs rw ubi.mtd=7,2048 rootfstype=ub
    ifs rootwait=1
    bootargs_defaults=setenv bootargs console=${console} ${optargs}
    bootcmd=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmc
    dev};if run loadbootenv; then echo Loaded environment from ${bootenv};run import
    bootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;if
    run loaduimagefat; then run mmcboot;elif run loaduimage; then run mmcboot;else e
    cho Could not find ${bootfile} ;fi;else run nandboot;fi;
    bootdelay=1
    bootenv=uEnv.txt
    bootfile=uImage
    console=ttyO0,115200n8
    cpu=armv7
    dfu_alt_info_emmc=rawemmc mmc 0 3751936
    dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw mmc 100 100;u
    -boot.img.raw mmc 300 3C0;u-boot.img fat 0 1;uEnv.txt fat 0 1
    dfu_alt_info_nand=SPL part 0 1;SPL.backup1 part 0 2;SPL.backup2 part 0 3;SPL.bac
    kup3 part 0 4;u-boot part 0 5;kernel part 0 7;rootfs part 0 8
    ethact=cpsw
    ethaddr=c8:a0:30:ab:a6:6e
    fdt_high=0xffffffff
    fdtaddr=0x80F80000
    findfdt=if test $board_name = A335BONE; then setenv fdtfile am335x-bone.dtb; fi;
    if test $board_name = A33515BB; then setenv fdtfile am335x-evm.dtb; fi; if test
    $board_name = A335X_SK; then setenv fdtfile am335x-evmsk.dtb; fi
    importbootenv=echo Importing environment from mmc ...; env import -t $loadaddr $
    filesize
    ip_method=none
    kloadaddr=0x80007fc0
    loadaddr=0x80200000
    loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}
    loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz
    loaduimage=ext2load mmc ${mmcdev}:2 ${kloadaddr} /boot/${bootfile}
    loaduimagefat=fatload mmc ${mmcdev} ${kloadaddr} ${bootfile}
    mmcargs=run bootargs_defaults;setenv bootargs ${bootargs} root=${mmcroot} rootfs
    type=${mmcrootfstype} ip=${ip_method}
    mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${kloadaddr}
    mmcdev=0
    mmcroot=/dev/mmcblk0p2 ro
    mmcrootfstype=ext3 rootwait
    mtdids=nand0=omap2-nand.0
    mtdparts=mtdparts=omap2-nand.0:128k(SPL),128k(SPL.backup1),128k(SPL.backup2),128
    k(SPL.backup3),1920k(u-boot),128k(u-boot-env),5m(kernel),-(rootfs)
    nandargs=setenv bootargs console=${console} ${optargs} root=${nandroot} rootfsty
    pe=${nandrootfstype}
    nandboot=echo Booting from nand ...; run nandargs; nand read ${loadaddr} ${nands
    rcaddr} ${nandimgsize}; bootm ${loadaddr}
    nandimgsize=0x500000
    nandroot=ubi0:rootfs rw ubi.mtd=7,2048
    nandrootfstype=ubifs rootwait=1
    nandsrcaddr=0x280000
    netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${se
    rverip}:${rootpath},${nfsopts} rw ip=dhcp
    netboot=echo Booting from network ...; setenv autoload no; dhcp; tftp ${loadaddr
    } ${bootfile}; run netargs; bootm ${loadaddr}
    nfsopts=nolock
    ramargs=setenv bootargs console=${console} ${optargs} root=${ramroot} rootfstype
    =${ramrootfstype}
    ramboot=echo Booting from ramdisk ...; run ramargs; bootm ${loadaddr}
    ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=${rdaddr},64M
    ramrootfstype=ext2
    rdaddr=0x81000000
    rootpath=/export/rootfs
    soc=am33xx
    spiargs=setenv bootargs console=${console} ${optargs} root=${spiroot} rootfstype
    =${spirootfstype}
    spiboot=echo Booting from spi ...; run spiargs; sf probe ${spibusno}:0; sf read
    ${loadaddr} ${spisrcaddr} ${spiimgsize}; bootm ${loadaddr}
    spibusno=0
    spiimgsize=0x362000
    spiroot=/dev/mtdblock4 rw
    spirootfstype=jffs2
    spisrcaddr=0xe0000
    static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
    stderr=serial
    stdin=serial
    stdout=serial
    usbnet_devaddr=c8:a0:30:ab:a6:6e
    vendor=ti
    ver=U-Boot 2013.01.01 (Nov 20 2013 - 14:22:13)

    Environment size: 3690/131068 bytes
    U-Boot#

  • 你跟一下,好像SD卡驱动还有些问题

    mmc_send_cmd : timeout: No status update
    Card did not respond to voltage select!

    另外nand的驱动也没有加上去啊

  • 您的uImage肯定没问题么? 请查看下,另外也要看看放的地方。
x 出现错误。请重试或与管理员联系。