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.

Blaze 4460 bootcmd setting issue on 4AI.1.4-P1 release

Other Parts Discussed in Thread: 4460

Hi,

I was trying to boot up my blaze (4460 MDP ES 1.1GP) with the 4AI.1.4-P1 release. Source codes were able to build successfully but when I was trying to boot from SD Card, bootcmd is always set to 'booti mmc0'. CONFIG_BOOTCOMMAND in u-boot/include/configs/omap4430sdp.h is set as 'booti mmc1' but I wonder why the bootcmd value is always set to 'booti mmc0'. Having the bootcmd set to 'booti mmc0' causes the boot enter Fastboot. Here's the messages shown on the minicom:

Welcome to minicom 2.4

OPTIONS: I18n
Compiled on Jan 25 2010, 07:02:36.
Port /dev/ttyUSB2

Press CTRL-A Z for help on special keys



Texas Instruments Inc X-Loader 1.41.0-g835089cd (Jun 21 2012 - 21:49:21)
OMAP4460: 1.5 GHz capable SOM
mmc read: Invalid size
Starting OS Bootloader from MMC/SD1 ...


U-Boot 1.1.4-gb2f9ce5c-dirty (Jun 25 2012 - 16:47:13)

Load address: 0x80e80000
DRAM: 1024 MB
Flash: 0 kB
Using default environment

In: serial
Out: serial
Err: serial
Initializing SD(0) Slot.
ptbl slot: SD:(0).
efi partition table not found
efi partition table:
ptbl slot: EMMC:(1).
256 128K xloader
512 256K bootloader
1024 128K misc
2048 16M efs
34816 16K crypto
34848 8M recovery
51232 8M boot
67616 512M system
1116192 256M cache
1640480 29630M userdata
Net: KS8851SNL
Hit any key to stop autoboot: 0
booti: bad boot image magic
I2C read: I/O error
I2C read: I/O error
Device Serial Number: 2506002200000001
Fastboot entered...

When I hit any key to stop autoboot and 'printenv':

bootargs=console=ttyO2,115200n8 mem=456M@0x80000000 mem=512M@0xA0000000 init=/init vram=10M omapfb.vram=0:4M androidboot.console=ttyO2
bootdelay=3
baudrate=115200
ipaddr=128.247.77.90
serverip=128.247.77.158
netmask=255.255.254.0
bootfile="uImage"
stdin=serial
stdout=serial
stderr=serial
bootcmd=booti mmc0
ethact=KS8851SNL

Environment size: 325/131068 bytes
OMAP44XX SDP #

Due to this problem, I have to manually boot by setting the bootcmd to 'booti mmc1'. Please advice.

Thanks!

Regards, MM


  • Hi MM,

    Could you please ensure that the S2 DIP Switch settings are in accordance with the SD Card boot as summarized in http://omapedia.org/wiki/4AI.1.4-P1_OMAP4_Icecream_Sandwich_Release_Notes ?

    For your quick reference, the S2 DIP Switch should have 1 & 3 as OFF.

    If there is no u-boot on your board's eMMC, you will have to boot using SD card. Copy u-boot.bin and MLO files to an SD card (boot partition) and then boot the target board from this external SD card using the following SYSBOOT switch settings to boot from external SD card: 01011101

       For Blaze & Blaze_Tablet board: Switch S2-(1:8): OFF ON OFF ON ON ON OFF ON

    Thanks & Best Regards,
    Venkat
  • Hello Venkat,

    I have the S2 DIP Switch settings set correctly. Booting up from emmc using the pre-built binaries worked perfectly. Bootcmd was set as 'booti mmc1' using the pre-built binaries. But somehow using the manually built binaries, I was not able to set the bootcmd to 'booti mmc1' even though it has been configured correctly in the omap4430sdp.h. 

    Any clues?

    Thanks, MM

  • MM,

    It looks like the bootcmd value in omap4430sdp.h is overwritten in /board/omap4430sdp/mmc.c, in the function omap4_mmc_init().  If you booted the u-boot from SD card (slot 0), then it sets "booti mmc0."  If you booted the u-boot from eMMC (slot 1), then it sets "booti mmc1."  See this patch which added this functionality: http://git.omapzoom.org/?p=repo/u-boot.git;a=commit;h=c8c68db9093c7c4936f3d3c575c8ab0e73c8bd60

    My guess is that, even though you thought you were booting from SD card, when you manually changed the bootcmd to "booti mmc1", it was actually pulling the boot.img from the eMMC.  Is your goal to boot entirely from the SD card?  The issue is that the "booti" command is intended for reading a kernel from a boot.img format.  If you have a uImage file on your SD card that you want to use, you will need to use a "bootm" command, along the lines of:  "mmcinit 0; fatload mmc 0 0x80000000 uImage;bootm 80000000".  However, it is recommended that you use eMMC boot if possible, as this is how our releases are validated.

    Regards,

    Gina

  • Gina,

    Thanks for your reply! It has clarified and solved my problem.

    Since I have to boot entirely from the SD card, I have edited the 'board/omap4430sdp/mmc.c' and 'include/configs/omap4430sdp.h' accordingly.

    Best Regards, MM