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.

AM3359: eMMC boot fails

Part Number: AM3359

Dears:

customer can not boot from eMMC.

Based the link(https://e2e.ti.com/support/processors/f/791/t/792162) customer compiled booting files of MLO and u-boot.img by eMMC, and separated the format of eMMC to two parts by falsher.sh.

And copied the files of MLO and u-boot.img under ../dev/mmcblk 1p1.

The information as follows:

     Device Boot Start     End   #cyls    #block[  124.579857]  mmcblk1: p1 p2

s   Id  System

/dev/mmcblk1p1   *      0+      8       9-     72261    c  W95 FAT32 (LBA)

/dev/mmcblk1p2         10     232     223    1791247+  83  Linux

 

 Then power off and boot again, however, BBB can not boot through eMMC and the error information is failed about loading MLO and u-boot.img. 

There are some  strange value during the last booting's step of reading the u-boot.img's image_header under u-boot debug mode.  

enter spl_load_image_fat_buf:64.

spl: payload image: *s load addr: 0x20 size: -2139095072     // This is illegal value.

Jumping to U-Boot

loaded - jumping to U-Boot...

image entry point: 0x

The detailed log information as below file:

 

// 参考http://processors.wiki.ti.com/index.php/Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black,
// make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=emmc am335x_boneblack_config all 
// 打开u-boot debug模式后的启动log。

U-Boot SPL 2018.01-00558-g5cd92dbf12-dirty (Apr 12 2019 - 15:42:05)
omap24_i2c_findpsc: speed [kHz]: 100 psc: 0xb sscl: 0xd ssch: 0xf
Trying to boot from MMC2
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 -1 'gpio_omap'
   - -1 -1 'gpio_omap'
   - -1 -1 'gpio_omap'
   - -1 -1 'gpio_omap'
   - not found
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 0 'gpio_omap'
   - found
uclass_find_device_by_seq: 0 1
   - -1 0 'gpio_omap'
   - -1 -1 'gpio_omap'
   - -1 -1 'gpio_omap'
   - -1 -1 'gpio_omap'
   - not found
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 0 'gpio_omap'
   - found
uclass_find_device_by_seq: 0 1
   - -1 0 'gpio_omap'
   - -1 1 'gpio_omap'
   - found
uclass_find_device_by_seq: 0 2
   - -1 0 'gpio_omap'
   - -1 1 'gpio_omap'
   - -1 -1 'gpio_omap'
   - -1 -1 'gpio_omap'
   - not found
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 0 'gpio_omap'
   - found
uclass_find_device_by_seq: 0 1
   - -1 0 'gpio_omap'
   - -1 1 'gpio_omap'
   - found
uclass_find_device_by_seq: 0 2
   - -1 0 'gpio_omap'
   - -1 1 'gpio_omap'
   - -1 2 'gpio_omap'
   - found
uclass_find_device_by_seq: 0 3
   - -1 0 'gpio_omap'
   - -1 1 'gpio_omap'
   - -1 2 'gpio_omap'
   - -1 -1 'gpio_omap'
   - not found
part_init: try 'EFI': ret=-1
part_init: try 'DOS': ret=0
spl: mmc boot mode: fs
enter spl_mmc_do_fs_boot:259.
enter spl_start_uboot:250.
*** Warning - bad CRC, using default environment

Destroy Hash Table: 40303a74 table = 
Create Hash Table: N=92
INSERT: table 40303a74, filled 1/97 rv 81f02ae8 ==> name="bootcmd" value="if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run envboot;"
INSERT: table 40303a74, filled 2/97 rv 81f02b38 ==> name="bootdelay" value="2"
INSERT: table 40303a74, filled 3/97 rv 81f02908 ==> name="baudrate" value="115200"
INSERT: table 40303a74, filled 4/97 rv 81f02958 ==> name="arch" value="arm"
INSERT: table 40303a74, filled 5/97 rv 81f02f34 ==> name="cpu" value="armv7"
INSERT: table 40303a74, filled 6/97 rv 81f02ac0 ==> name="board" value="am335x"
INSERT: table 40303a74, filled 7/97 rv 81f02cc8 ==> name="board_name" value="am335x"
INSERT: table 40303a74, filled 8/97 rv 81f02cf0 ==> name="vendor" value="ti"
INSERT: table 40303a74, filled 9/97 rv 81f02b60 ==> name="soc" value="am33xx"
INSERT: free(data = 81f02708)
INSERT: done
enter spl_load_image_fat_buf:64.
spl: payload image: *s load addr: 0x20 size: -2139095072
Jumping to U-Boot
loaded - jumping to U-Boot...
image entry point: 0x



Btw, customer has tried to do the below method, but all failed, pls. kindly help to give more advice about it.

1. Directly use the prebuild image in the SDK.

2. Manually partition with eMMC, and formatting as FAE32 or FAE16.

3. Use different environment of ubuntu PC to compile. 

 

  • Hello,

    I am wondering if you have tried the method suggested in the following TI link.

    Regards,

    Krunal

  • Thanks for your reply.

    I doubt if there is a bug in ti-processor-sdk-linux-rt-am335x-evm-05.02.00.10/board-support/u-boot-2018.01+gitAUTOINC+313dcd69c2-g313dcd69c2 . 

    Because I was able to successfully boot Linux following the guide of this link:

    https://www.digikey.com/eewiki/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-SetupmicroSD/SDcard

    And Use the following steps to compile u-boot v2019.1,  the beagon black can successfully boot from eMMC:

    git clone https://github.com/u-boot/u-boot
    cd u-boot/
    git checkout v2019.01 -b tmp

    patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch

    patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch

    make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_defconfig
    The detailed log with u-boot-2019.01 as bellow.
    U-Boot SPL 2019.01-dirty (Apr 15 2019 - 17:17:15 +0800)
    Trying to boot from MMC2
    Loading Environment from EXT4... Card did not respond to voltage select!
    
    
    U-Boot 2019.01-dirty (Apr 15 2019 - 17:17:15 +0800)
    
    CPU  : AM335X-GP rev 2.0
    I2C:   ready
    DRAM:  512 MiB
    No match for driver 'omap_hsmmc'
    No match for driver 'omap_hsmmc'
    Some drivers were not found
    Reset Source: Global warm SW reset has occurred.
    Reset Source: Power-on reset has occurred.
    RTC 32KCLK Source: External.
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from EXT4... Card did not respond to voltage select!
    Board: BeagleBone Black
    <ethaddr> not set. Validating first E-fuse MAC
    BeagleBone Black:
    BeagleBone: cape eeprom: i2c_probe: 0x54:
    BeagleBone: cape eeprom: i2c_probe: 0x55:
    BeagleBone: cape eeprom: i2c_probe: 0x56:
    BeagleBone: cape eeprom: i2c_probe: 0x57:
    Net:   eth0: MII MODE
    cpsw, usb_ether
    Press SPACE to abort autoboot in 2 seconds
    
    > printenv
    arch=arm
    args_mmc=run finduuid;setenv bootargs console=${console} ${cape_disable} ${cape_enable} ${cape_uboot} root=PARTUUID=${uuid} ro rootfstype=${mmcrootfstype} ${uboot_detected_c
    apes} ${cmdline}
    args_mmc_old=setenv bootargs console=${console} ${optargs} ${cape_disable} ${cape_enable} ${cape_uboot} root=${oldroot} ro rootfstype=${mmcrootfstype} ${uboot_detected_capes
    } ${cmdline}
    args_mmc_uuid=setenv bootargs console=${console} ${optargs} ${cape_disable} ${cape_enable} ${cape_uboot} root=UUID=${uuid} ro rootfstype=${mmcrootfstype} ${uboot_detected_ca
    pes} ${cmdline}
    args_netinstall=setenv bootargs ${netinstall_bootargs} ${optargs} ${cape_disable} ${cape_enable} ${cape_uboot} root=/dev/ram rw ${uboot_detected_capes} ${cmdline}
    args_uenv_root=setenv bootargs console=${console} ${optargs} ${cape_disable} ${cape_enable} ${cape_uboot} root=${uenv_root} ro rootfstype=${mmcrootfstype} ${uboot_detected_c
    apes} ${cmdline}
    autoconf=off
    baudrate=115200
    board=am335x
    board_eeprom_header=undefined
    board_name=A335BNLT
    board_rev=00A5
    board_serial=5048BBBK4000
    boot=${devtype} dev ${mmcdev}; if ${devtype} rescan; then gpio set 54;setenv bootpart ${mmcdev}:1; if test -e ${devtype} ${bootpart} /etc/fstab; then setenv mmcpart 1;fi; ec
    ho Checking for: /uEnv.txt ...;if test -e ${devtype} ${bootpart} /uEnv.txt; then if run loadbootenv; then gpio set 55;echo Loaded environment from /uEnv.txt;run importbooten
    v;fi;echo Checking if uenvcmd is set ...;if test -n ${uenvcmd}; then gpio set 56; echo Running uenvcmd ...;run uenvcmd;fi;echo Checking if client_ip is set ...;if test -n ${
    client_ip}; then if test -n ${dtb}; then setenv fdtfile ${dtb};echo using ${fdtfile} ...;fi;gpio set 56; if test -n ${uname_r}; then echo Running nfsboot_uname_r ...;run nfs
    boot_uname_r;fi;echo Running nfsboot ...;run nfsboot;fi;fi; echo Checking for: /${script} ...;if test -e ${devtype} ${bootpart} /${script}; then gpio set 55;setenv scriptfil
    e ${script};run loadbootscript;echo Loaded script from ${scriptfile};gpio set 56; run bootscript;fi; echo Checking for: /boot/${script} ...;if test -e ${devtype} ${bootpart}
     /boot/${script}; then gpio set 55;setenv scriptfile /boot/${script};run loadbootscript;echo Loaded script from ${scriptfile};gpio set 56; run bootscript;fi; echo Checking f
    or: /boot/uEnv.txt ...;for i in 1 2 3 4 5 6 7 ; do setenv mmcpart ${i};setenv bootpart ${mmcdev}:${mmcpart};if test -e ${devtype} ${bootpart} /boot/uEnv.txt; then gpio set 5
    5;load ${devtype} ${bootpart} ${loadaddr} /boot/uEnv.txt;env import -t ${loadaddr} ${filesize};echo Loaded environment from /boot/uEnv.txt;if test -n ${dtb}; then echo debug
    : [dtb=${dtb}] ... ;setenv fdtfile ${dtb};echo Using: dtb=${fdtfile} ...;fi;echo Checking if uname_r is set in /boot/uEnv.txt...;if test -n ${uname_r}; then gpio set 56; set
    env oldroot /dev/mmcblk${mmcdev}p${mmcpart};echo Running uname_boot ...;run uname_boot;fi;fi;done;fi;
    boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
    boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${distro_bootpart} ${kernel
    _addr_r} efi/boot/bootarm.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
    boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
    boot_fdt=try
    boot_fit=0
    boot_net_usb_start=usb start
    boot_prefixes=/ /boot/
    boot_script_dhcp=boot.scr.uimg
    boot_scripts=boot.scr.uimg boot.scr
    boot_syslinux_conf=extlinux/extlinux.conf
    boot_targets=mmc0 legacy_mmc0 mmc1 legacy_mmc1 pxe dhcp 
    bootcmd=if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run envboot; run distro_bootcmd
    bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "$
    {soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00010:U
    NDI:003000;setenv bootp_arch 0xa;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr
    _r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv ef
    i_old_vci;
    bootcmd_legacy_mmc0=gpio clear 56; gpio clear 55; gpio clear 54; gpio set 53; setenv devtype mmc; setenv mmcdev 0; setenv bootpart 0:1 ; run boot
    bootcmd_legacy_mmc1=gpio clear 56; gpio clear 55; gpio clear 54; gpio set 53; setenv devtype mmc; setenv mmcdev 1; setenv bootpart 1:1 ; run boot
    bootcmd_mmc0=setenv devnum 0; run mmc_boot
    bootcmd_mmc1=setenv devnum 1; run mmc_boot
    bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
    bootcount=2
    bootdelay=2
    bootdir=/boot
    bootenv=uEnv.txt
    bootenvfile=uEnv.txt
    bootfile=zImage
    bootm_size=0x10000000
    bootpart=0:2
    bootscript=echo Running bootscript from mmc${bootpart} ...; source ${loadaddr}
    capeloadoverlay=if test -e ${devtype} ${bootpart} ${uboot_overlay}; then run loadoverlay;setenv cape_uboot bone_capemgr.uboot_capemgr_enabled=1; else echo uboot_overlays: un
    able to find [${devtype} ${bootpart} ${uboot_overlay}]...;fi;
    console=ttyO0,115200n8
    cpu=armv7
    device=eth0
    dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-a
    rgs.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1
    dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x20
    0;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1
    dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
    distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
    eeprom_bbb_header=i2c dev 0; i2c mw 0x50 0x00.2 aa; i2c mw 0x50 0x01.2 55; i2c mw 0x50 0x02.2 33; i2c mw 0x50 0x03.2 ee; i2c mw 0x50 0x04.2 41; i2c mw 0x50 0x05.2 33; i2c mw
     0x50 0x06.2 33; i2c mw 0x50 0x07.2 35; i2c mw 0x50 0x08.2 42; i2c mw 0x50 0x09.2 4e; i2c mw 0x50 0x0a.2 4c; i2c mw 0x50 0x0b.2 54; 
    eeprom_bbbl_footer= i2c mw 0x50 0x0c.2 42; i2c mw 0x50 0x0d.2 4c; i2c mw 0x50 0x0e.2 41; i2c mw 0x50 0x0f.2 32; 
    eeprom_bbbw_footer= i2c mw 0x50 0x0c.2 42; i2c mw 0x50 0x0d.2 57; i2c mw 0x50 0x0e.2 41; i2c mw 0x50 0x0f.2 35; 
    eeprom_beaglelogic= i2c mw 0x50 0x00.2 aa; i2c mw 0x50 0x01.2 55; i2c mw 0x50 0x02.2 33; i2c mw 0x50 0x03.2 ee; i2c mw 0x50 0x04.2 41; i2c mw 0x50 0x05.2 33; i2c mw 0x50 0x0
    6.2 33; i2c mw 0x50 0x07.2 35; i2c mw 0x50 0x08.2 42; i2c mw 0x50 0x09.2 4c; i2c mw 0x50 0x0a.2 47; i2c mw 0x50 0x0b.2 43; i2c mw 0x50 0x0c.2 30; i2c mw 0x50 0x0d.2 30; i2c 
    mw 0x50 0x0e.2 30; i2c mw 0x50 0x0f.2 41; 
    eeprom_blank=i2c dev 0; i2c mw 0x50 0x00.2 ff; i2c mw 0x50 0x01.2 ff; i2c mw 0x50 0x02.2 ff; i2c mw 0x50 0x03.2 ff; i2c mw 0x50 0x04.2 ff; i2c mw 0x50 0x05.2 ff; i2c mw 0x50
     0x06.2 ff; i2c mw 0x50 0x07.2 ff; i2c mw 0x50 0x08.2 ff; i2c mw 0x50 0x09.2 ff; i2c mw 0x50 0x0a.2 ff; i2c mw 0x50 0x0b.2 ff; i2c mw 0x50 0x0c.2 ff; i2c mw 0x50 0x0d.2 ff; 
    i2c mw 0x50 0x0e.2 ff; i2c mw 0x50 0x0f.2 ff; i2c mw 0x50 0x10.2 ff; i2c mw 0x50 0x11.2 ff; i2c mw 0x50 0x12.2 ff; i2c mw 0x50 0x13.2 ff; i2c mw 0x50 0x14.2 ff; i2c mw 0x50 
    0x15.2 ff; i2c mw 0x50 0x16.2 ff; i2c mw 0x50 0x17.2 ff; i2c mw 0x50 0x18.2 ff; i2c mw 0x50 0x19.2 ff; i2c mw 0x50 0x1a.2 ff; i2c mw 0x50 0x1b.2 ff; i2c mw 0x50 0x1c.2 ff; i
    2c mw 0x50 0x1d.2 ff; i2c mw 0x50 0x1e.2 ff; i2c mw 0x50 0x1f.2 ff; 
    eeprom_dump=i2c dev 0; i2c md 0x50 0x00.2 20; 
    eeprom_pocketbeagle= i2c mw 0x50 0x00.2 aa; i2c mw 0x50 0x01.2 55; i2c mw 0x50 0x02.2 33; i2c mw 0x50 0x03.2 ee; i2c mw 0x50 0x04.2 41; i2c mw 0x50 0x05.2 33; i2c mw 0x50 0x
    06.2 33; i2c mw 0x50 0x07.2 35; i2c mw 0x50 0x08.2 50; i2c mw 0x50 0x09.2 42; i2c mw 0x50 0x0a.2 47; i2c mw 0x50 0x0b.2 4c; i2c mw 0x50 0x0c.2 30; i2c mw 0x50 0x0d.2 30; i2c
     mw 0x50 0x0e.2 41; i2c mw 0x50 0x0f.2 32; 
    eeprom_program=if test $board_eeprom_header = bbb_blank; then run eeprom_dump; run eeprom_blank; run eeprom_bbb_header; run eeprom_dump; reset; fi; if test $board_eeprom_hea
    der = bbbl_blank; then run eeprom_dump; run eeprom_blank; run eeprom_bbb_header; run eeprom_bbbl_footer; run eeprom_dump; reset; fi; if test $board_eeprom_header = bbbw_blan
    k; then run eeprom_dump; run eeprom_blank; run eeprom_bbb_header; run eeprom_bbbw_footer; run eeprom_dump; reset; fi; if test $board_eeprom_header = pocketbeagle_blank; then
     run eeprom_dump; run eeprom_blank; run eeprom_pocketbeagle; run eeprom_dump; reset; fi; if test $board_eeprom_header = beaglelogic_blank; then run eeprom_dump; run eeprom_b
    lank; run eeprom_beaglelogic; run eeprom_dump; reset; fi;  
    efi_dtb_prefixes=/ /dtb/ /dtb/current/
    envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loaded env
     from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi;
    eth1addr=c8:a0:30:a8:e6:1a
    ethact=cpsw
    ethaddr=c8:a0:30:a8:e6:18
    failumsboot=echo; echo FAILSAFE: U-Boot UMS (USB Mass Storage) enabled, media now available over the usb slave port ...; ums 0 ${devtype} 1;
    fdt_addr_r=0x88000000
    fdtaddr=0x88000000
    fdtfile=undefined
    findfdt=echo board_name=[$board_name] ...; if test $board_name = A335BLGC; then setenv fdtfile am335x-beaglelogic.dtb; fi; if test $board_name = A335BONE; then setenv fdtfil
    e am335x-bone.dtb; fi; if test $board_name = A335BNLT; then echo board_rev=[$board_rev] ...; if test $board_rev = GH01; then setenv fdtfile am335x-boneblack.dtb; elif test $
    board_rev = BBG1; then setenv fdtfile am335x-bonegreen.dtb; elif test $board_rev = BP00; then setenv fdtfile am335x-pocketbone.dtb; elif test $board_rev = GW1A; then setenv 
    fdtfile am335x-bonegreen-wireless.dtb; elif test $board_rev = AIA0; then setenv fdtfile am335x-abbbi.dtb; elif test $board_rev = EIA0; then setenv fdtfile am335x-boneblack.d
    tb; elif test $board_rev = ME06; then setenv fdtfile am335x-bonegreen.dtb; elif test $board_rev = M10A; then setenv fdtfile am335x-vsc8531bbb.dtb; elif test $board_rev = OS0
    0; then setenv fdtfile am335x-osd3358-sm-red.dtb; else setenv fdtfile am335x-boneblack.dtb; fi; fi; if test $board_name = A335PBGL; then setenv fdtfile am335x-pocketbeagle.d
    tb; fi; if test $board_name = BBBW; then setenv fdtfile am335x-boneblack-wireless.dtb; fi; if test $board_name = BBG1; then setenv fdtfile am335x-bonegreen.dtb; fi; if test 
    $board_name = BBGW; then setenv fdtfile am335x-bonegreen-wireless.dtb; fi; if test $board_name = BBBL; then setenv fdtfile am335x-boneblue.dtb; fi; if test $board_name = BBE
    N; then setenv fdtfile am335x-sancloud-bbe.dtb; fi; if test $board_name = OS00; then setenv fdtfile am335x-osd3358-sm-red.dtb; fi; if test $board_name = A33515BB; then seten
    v fdtfile am335x-evm.dtb; fi; if test $board_name = A335X_SK; then setenv fdtfile am335x-evmsk.dtb; fi; if test $board_name = A335_ICE; then setenv fdtfile am335x-icev2.dtb;
     fi; if test $fdtfile = undefined; then setenv board_name A335BNLT; setenv board_rev EMMC; setenv fdtfile am335x-bonegreen.dtb; fi; 
    finduuid=part uuid ${devtype} ${bootpart} uuid
    fit_bootfile=fitImage
    fit_loadaddr=0x87000000
    gw_ip=192.168.1.1
    if_netconsole=ping $serverip
    importbootenv=echo Importing environment from ${devtype} ...; env import -t ${loadaddr} ${filesize}
    init_console=if test $board_name = A335_ICE; then setenv console ttyO3,115200n8;elif test $board_name = A335BLGC; then setenv console ttyO4,115200n8;else setenv console ttyO
    0,115200n8;fi;
    ipaddr=192.168.1.2
    kernel_addr_r=0x82000000
    load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
    loadaddr=0x82000000
    loadbootenv=load ${devtype} ${bootpart} ${loadaddr} ${bootenvfile}
    loadbootscript=load ${devtype} ${bootpart} ${loadaddr} ${scriptfile};
    loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load ${devtype} ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}
    loadfit=run args_mmc; bootm ${loadaddr}#${fdtfile};
    loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
    loadoverlay=echo uboot_overlays: loading ${uboot_overlay} ...; load ${devtype} ${bootpart} ${rdaddr} ${uboot_overlay}; fdt addr ${fdtaddr}; fdt resize ${fdt_buffer}; fdt app
    ly ${rdaddr}; fdt resize ${fdt_buffer};
    loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz
    loadrd=load ${devtype} ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}
    mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi
    mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if test ${boot_fit} 
    -eq 1; then run loadfit; else run mmcloados;fi;fi;fi;
    mmcdev=0
    mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then if test -n ${uname_r}; then bootz ${loadaddr} ${rdaddr}:${rdsize} ${fd
    taddr}; else bootz ${loadaddr} - ${fdtaddr}; fi; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
    mmcrootfstype=ext4 rootwait
    netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
    netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}
    netloadfdt=tftp ${fdtaddr} ${fdtfile}
    netloadimage=tftp ${loadaddr} ${bootfile}
    netmask=255.255.255.0
    nfs_options=,vers=3
    nfsargs=setenv bootargs console=${console} ${optargs} ${cape_disable} ${cape_enable} ${cape_uboot} root=/dev/nfs rw rootfstype=${nfsrootfstype} nfsroot=${nfsroot} ip=${ip} $
    {cmdline}
    nfsboot=echo Booting from ${server_ip} ...; setenv nfsroot ${server_ip}:${root_dir}${nfs_options}; setenv ip ${client_ip}:${server_ip}:${gw_ip}:${netmask}:${hostname}:${devi
    ce}:${autoconf}; setenv autoload no; setenv serverip ${server_ip}; setenv ipaddr ${client_ip}; tftp ${loadaddr} ${tftp_dir}${bootfile}; tftp ${fdtaddr} ${tftp_dir}dtbs/${fdt
    file}; run nfsargs; bootz ${loadaddr} - ${fdtaddr}
    nfsboot_uname_r=echo Booting from ${server_ip} ...; setenv nfsroot ${server_ip}:${root_dir}${nfs_options}; setenv ip ${client_ip}:${server_ip}:${gw_ip}:${netmask}:${hostname
    }:${device}:${autoconf}; setenv autoload no; setenv serverip ${server_ip}; setenv ipaddr ${client_ip}; tftp ${loadaddr} ${tftp_dir}vmlinuz-${uname_r}; tftp ${fdtaddr} ${tftp
    _dir}dtbs/${uname_r}/${fdtfile}; run nfsargs; bootz ${loadaddr} - ${fdtaddr}
    nfsopts=nolock
    nfsrootfstype=ext4 rootwait fixrtc
    partitions=uuid_disk=${uuid_gpt_disk};name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}
    pb_eeprom_hdr=mw 82001000 ee3355aa; mw 82001004 35333341; mw 82001008 4c474250
    preboot=run if_netconsole start_netconsole
    pxefile_addr_r=0x80100000
    ramargs=setenv bootargs console=${console} ${optargs} root=${ramroot} rootfstype=${ramrootfstype}
    ramboot=echo Booting from ramdisk ...; run ramargs; bootz ${loadaddr} ${rdaddr} ${fdtaddr}
    ramdisk_addr_r=0x88080000
    ramroot=/dev/ram0 rw
    ramrootfstype=ext2
    rdaddr=0x88080000
    root_dir=/home/userid/targetNFS
    rootpath=/export/rootfs
    scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run 
    scan_dev_for_efi;
    scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtyp
    e} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done
    scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; for prefix in ${efi_dtb_p
    refixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} ef
    i/boot/bootarm.efi; then echo Found EFI removable media binary efi/boot/bootarm.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
    scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; e
    cho SCRIPT FAILED: continuing...; fi
    scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script
    }; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
    script=boot.scr
    scriptaddr=0x80000000
    scriptfile=${script}
    serial#=5048BBBK4000
    server_ip=192.168.1.100
    serverip=192.168.1.1
    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}; bootz ${loadaddr}
    spibusno=0
    spiimgsize=0x362000
    spiroot=/dev/mtdblock4 rw
    spirootfstype=jffs2
    spisrcaddr=0xe0000
    start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin serial,nc; setenv stdout serial,nc; setenv stderr serial,nc; version
    static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
    stderr=ns16550_serial
    stdin=ns16550_serial
    stdout=ns16550_serial
    uboot_adc=/lib/firmware/BB-ADC-00A0.dtbo
    uboot_base_dtb=am335x-boneblack-uboot.dtb
    uboot_base_dtb_univ=am335x-boneblack-uboot-univ.dtb
    uboot_cape_universal_bbb=1
    uboot_emmc=/lib/firmware/BB-BONE-eMMC1-01-00A0.dtbo
    uboot_try_cape_universal=1
    uboot_video=/lib/firmware/BB-HDMI-TDA998x-00A0.dtbo
    uboot_video_naudio=/lib/firmware/BB-NHDMI-TDA998x-00A0.dtbo
    uname_boot=setenv bootdir /boot; setenv bootfile vmlinuz-${uname_r}; if test -e ${devtype} ${bootpart} ${bootdir}/${bootfile}; then echo loading ${bootdir}/${bootfile} ...; 
    run loadimage;setenv fdtdir /boot/dtbs/${uname_r}; echo debug: [enable_uboot_overlays=${enable_uboot_overlays}] ... ;if test -n ${enable_uboot_overlays}; then echo debug: [e
    nable_uboot_cape_universal=${enable_uboot_cape_universal}] ... ;if test -n ${enable_uboot_cape_universal}; then echo debug: [uboot_base_dtb_univ=${uboot_base_dtb_univ}] ... 
    ;if test -n ${uboot_base_dtb_univ}; then echo uboot_overlays: [uboot_base_dtb=${uboot_base_dtb_univ}] ... ;if test -e ${devtype} ${bootpart} ${fdtdir}/${uboot_base_dtb_univ}
    ; then setenv fdtfile ${uboot_base_dtb_univ};echo uboot_overlays: Switching too: dtb=${fdtfile} ...;if test -n ${uboot_try_cape_universal}; then env delete -f uboot_try_cape
    _universal; fi;setenv cape_uboot bone_capemgr.uboot_capemgr_enabled=1; else echo debug: unable to find [${uboot_base_dtb_univ}] using [${uboot_base_dtb}] instead ... ;echo d
    ebug: [uboot_base_dtb_univ=${uboot_base_dtb}] ... ;if test -n ${uboot_base_dtb}; then echo uboot_overlays: [uboot_base_dtb=${uboot_base_dtb}] ... ;if test -e ${devtype} ${bo
    otpart} ${fdtdir}/${uboot_base_dtb}; then setenv fdtfile ${uboot_base_dtb};echo uboot_overlays: Switching too: dtb=${fdtfile} ...;fi;fi;fi;fi;else echo debug: [uboot_base_dt
    b_univ=${uboot_base_dtb}] ... ;if test -n ${uboot_base_dtb}; then echo uboot_overlays: [uboot_base_dtb=${uboot_base_dtb}] ... ;if test -e ${devtype} ${bootpart} ${fdtdir}/${
    uboot_base_dtb}; then setenv fdtfile ${uboot_base_dtb};echo uboot_overlays: Switching too: dtb=${fdtfile} ...;fi;fi;fi;fi;if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfi
    le}; then run loadfdt;else setenv fdtdir /usr/lib/linux-image-${uname_r}; if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then run loadfdt;else setenv fdtdir /lib/fi
    rmware/${uname_r}/device-tree; if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then run loadfdt;else setenv fdtdir /boot/dtb-${uname_r}; if test -e ${devtype} ${boot
    part} ${fdtdir}/${fdtfile}; then run loadfdt;else setenv fdtdir /boot/dtbs; if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then run loadfdt;else setenv fdtdir /boot
    /dtb; if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then run loadfdt;else setenv fdtdir /boot; if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtfile}; then run loa
    dfdt;else if test -e ${devtype} ${bootpart} ${fdtfile}; then run loadfdt;else echo; echo unable to find [dtb=${fdtfile}] did you name it correctly? ...; run failumsboot;fi;f
    i;fi;fi;fi;fi;fi;fi; if test -n ${enable_uboot_overlays}; then setenv fdt_buffer 0x60000;if test -n ${uboot_fdt_buffer}; then setenv fdt_buffer ${uboot_fdt_buffer};fi;echo u
    boot_overlays: [fdt_buffer=${fdt_buffer}] ... ;if test -n ${uboot_silicon}; then setenv uboot_overlay ${uboot_silicon}; run virtualloadoverlay;fi;if test -n ${uboot_model}; 
    then setenv uboot_overlay ${uboot_model}; run virtualloadoverlay;fi;if test -n ${uboot_overlay_addr0}; then if test -n ${disable_uboot_overlay_addr0}; then echo uboot_overla
    ys: uboot loading of [${uboot_overlay_addr0}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr0=1]...;else setenv uboot_overlay ${uboot_overlay_addr0}; run capeloadove
    rlay;fi;fi;if test -n ${uboot_overlay_addr1}; then if test -n ${disable_uboot_overlay_addr1}; then echo uboot_overlays: uboot loading of [${uboot_overlay_addr1}] disabled by
     /boot/uEnv.txt [disable_uboot_overlay_addr1=1]...;else setenv uboot_overlay ${uboot_overlay_addr1}; run capeloadoverlay;fi;fi;if test -n ${uboot_overlay_addr2}; then if tes
    t -n ${disable_uboot_overlay_addr2}; then echo uboot_overlays: uboot loading of [${uboot_overlay_addr2}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr2=1]...;else s
    etenv uboot_overlay ${uboot_overlay_addr2}; run capeloadoverlay;fi;fi;if test -n ${uboot_overlay_addr3}; then if test -n ${disable_uboot_overlay_addr3}; then echo uboot_over
    lays: uboot loading of [${uboot_overlay_addr3}] disabled by /boot/uEnv.txt [disable_uboot_overlay_addr3=1]...;else setenv uboot_overlay ${uboot_overlay_addr3}; run capeloado
    verlay;fi;fi;if test -n ${uboot_overlay_addr4}; then setenv uboot_overlay ${uboot_overlay_addr4}; run capeloadoverlay;fi;if test -n ${uboot_overlay_addr5}; then setenv uboot
    _overlay ${uboot_overlay_addr5}; run capeloadoverlay;fi;if test -n ${uboot_overlay_addr6}; then setenv uboot_overlay ${uboot_overlay_addr6}; run capeloadoverlay;fi;if test -
    n ${uboot_overlay_addr7}; then setenv uboot_overlay ${uboot_overlay_addr7}; run capeloadoverlay;fi;if test -n ${uboot_emmc}; then if test -n ${disable_uboot_overlay_emmc}; t
    hen echo uboot_overlays: uboot loading of [${uboot_emmc}] disabled by /boot/uEnv.txt [disable_uboot_overlay_emmc=1]...;else setenv uboot_overlay ${uboot_emmc}; run virtuallo
    adoverlay;fi;fi;if test -n ${uboot_video}; then if test -n ${disable_uboot_overlay_video}; then echo uboot_overlays: uboot loading of [${uboot_video}] disabled by /boot/uEnv
    .txt [disable_uboot_overlay_video=1]...;else if test -n ${disable_uboot_overlay_audio}; then echo uboot_overlays: uboot loading of [${uboot_video}] disabled by /boot/uEnv.tx
    t [disable_uboot_overlay_audio=1]...;setenv uboot_overlay ${uboot_video_naudio}; run virtualloadoverlay;else setenv uboot_overlay ${uboot_video}; run virtualloadoverlay;fi;f
    i;fi;if test -n ${uboot_wireless}; then if test -n ${disable_uboot_overlay_wireless}; then echo uboot_overlays: uboot loading of [${uboot_wireless}] disabled by /boot/uEnv.t
    xt [disable_uboot_overlay_wireless=1]...;else setenv uboot_overlay ${uboot_wireless}; run virtualloadoverlay;fi;fi;if test -n ${uboot_adc}; then if test -n ${disable_uboot_o
    verlay_adc}; then echo uboot_overlays: uboot loading of [${uboot_adc}] disabled by /boot/uEnv.txt [disable_uboot_overlay_adc=1]...;else setenv uboot_overlay ${uboot_adc}; ru
    n virtualloadoverlay;fi;fi;if test -n ${uboot_overlay_pru}; then setenv uboot_overlay ${uboot_overlay_pru}; run virtualloadoverlay;fi;if test -n ${dtb_overlay}; then setenv 
    uboot_overlay ${dtb_overlay}; echo uboot_overlays: [dtb_overlay=${uboot_overlay}] ... ;run capeloadoverlay;fi;if test -n ${uboot_detected_capes}; then echo uboot_overlays: [
    uboot_detected_capes=${uboot_detected_capes_addr0}${uboot_detected_capes_addr1}${uboot_detected_capes_addr2}${uboot_detected_capes_addr3}] ... ;setenv uboot_detected_capes u
    boot_detected_capes=${uboot_detected_capes_addr0}${uboot_detected_capes_addr1}${uboot_detected_capes_addr2}${uboot_detected_capes_addr3}; fi;if test -n ${uboot_try_cape_univ
    ersal}; then if test -n ${enable_uboot_cape_universal}; then if test -n ${cape_uboot}; then echo uboot_overlays: cape universal disabled, external cape enabled or detected..
    .;else if test -n ${uboot_cape_universal_bbb}; then if test -n ${disable_uboot_overlay_emmc}; then if test -n ${disable_uboot_overlay_video}; then setenv uboot_overlay /lib/
    firmware/univ-bbb-xxx-00A0.dtbo; else if test -n ${disable_uboot_overlay_audio}; then setenv uboot_overlay /lib/firmware/univ-bbb-xVx-00A0.dtbo; else setenv uboot_overlay /l
    ib/firmware/univ-bbb-xVA-00A0.dtbo; fi;fi;else if test -n ${disable_uboot_overlay_video}; then setenv uboot_overlay /lib/firmware/univ-bbb-Exx-00A0.dtbo; else if test -n ${d
    isable_uboot_overlay_audio}; then setenv uboot_overlay /lib/firmware/univ-bbb-EVx-00A0.dtbo; else setenv uboot_overlay /lib/firmware/univ-bbb-EVA-00A0.dtbo; fi;fi;fi;run cap
    eloadoverlay;fi;if test -n ${uboot_cape_universal_bbg}; then if test -n ${disable_uboot_overlay_emmc}; then setenv uboot_overlay /lib/firmware/univ-bbb-xxx-00A0.dtbo; else s
    etenv uboot_overlay /lib/firmware/univ-bbb-Exx-00A0.dtbo; fi;run capeloadoverlay;fi;if test -n ${uboot_cape_universal_bbgw}; then if test -n ${disable_uboot_overlay_emmc}; t
    hen if test -n ${disable_uboot_overlay_wireless}; then setenv uboot_overlay /lib/firmware/univ-bbgw-xx-00A0.dtbo; else setenv uboot_overlay /lib/firmware/univ-bbgw-xW-00A0.d
    tbo; fi;else if test -n ${disable_uboot_overlay_wireless}; then setenv uboot_overlay /lib/firmware/univ-bbgw-Ex-00A0.dtbo; else setenv uboot_overlay /lib/firmware/univ-bbgw-
    EW-00A0.dtbo; fi;fi;run capeloadoverlay;fi;fi;else echo uboot_overlays: add [enable_uboot_cape_universal=1] to /boot/uEnv.txt to enable...;fi;fi;else echo uboot_overlays: ad
    d [enable_uboot_overlays=1] to /boot/uEnv.txt to enable...;fi;setenv rdfile initrd.img-${uname_r}; if test -e ${devtype} ${bootpart} ${bootdir}/${rdfile}; then echo loading 
    ${bootdir}/${rdfile} ...; run loadrd;if test -n ${netinstall_enable}; then run args_netinstall; run message;echo debug: [${bootargs}] ... ;echo debug: [bootz ${loadaddr} ${r
    daddr}:${rdsize} ${fdtaddr}] ... ;bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; fi;if test -n ${uenv_root}; then run args_uenv_root;echo debug: [${bootargs}] ... ;echo d
    ebug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; fi;if test -n ${uuid}; then run args_mmc_uuid;echo debug: [${
    bootargs}] ... ;echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; fi;run args_mmc_old;echo debug: [${boot
    args}] ... ;echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; else if test -n ${uenv_root}; then run args
    _uenv_root;echo debug: [${bootargs}] ... ;echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;bootz ${loadaddr} - ${fdtaddr}; fi;run args_mmc_old;echo debug: [${bootargs}] ...
     ;echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;bootz ${loadaddr} - ${fdtaddr}; fi;fi;
    update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
    usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi
    usbnet_devaddr=c8:a0:30:a8:e6:18
    vendor=ti
    ver=U-Boot 2019.01-dirty (Apr 15 2019 - 17:17:15 +0800)
    virtualloadoverlay=if test -e ${devtype} ${bootpart} ${uboot_overlay}; then run loadoverlay;else echo uboot_overlays: unable to find [${devtype} ${bootpart} ${uboot_overlay}
    ]...;fi;
    
    
    => printenv board_name
    board_name=A335BNLT
    => 
    board_name=A335BNLT
    => boot
    board_name=[A335BNLT] ...
    board_rev=[00A5] ...
    Card did not respond to voltage select!
    Card did not respond to voltage select!
    Card did not respond to voltage select!
    gpio: pin 56 (gpio 56) value is 0
    gpio: pin 55 (gpio 55) value is 0
    gpio: pin 54 (gpio 54) value is 0
    gpio: pin 53 (gpio 53) value is 1
    Card did not respond to voltage select!
    Card did not respond to voltage select!
    switch to partitions #0, OK
    mmc1(part 0) is current device
    Scanning mmc 1:1...
    gpio: pin 56 (gpio 56) value is 0
    gpio: pin 55 (gpio 55) value is 0
    gpio: pin 54 (gpio 54) value is 0
    gpio: pin 53 (gpio 53) value is 1
    switch to partitions #0, OK
    mmc1(part 0) is current device
    gpio: pin 54 (gpio 54) value is 1
    Checking for: /uEnv.txt ...
    Checking for: /boot.scr ...
    Checking for: /boot/boot.scr ...
    Checking for: /boot/uEnv.txt ...
    gpio: pin 55 (gpio 55) value is 1
    33 bytes read in 56 ms (0 Bytes/s)
    Loaded environment from /boot/uEnv.txt
    Checking if uname_r is set in /boot/uEnv.txt...
    gpio: pin 56 (gpio 56) value is 1
    Running uname_boot ...
    loading /boot/vmlinuz-4.14.79-rt47-g28d73230da ...
    3834368 bytes read in 342 ms (10.7 MiB/s)
    debug: [enable_uboot_overlays=] ...
    loading /boot/am335x-boneblack.dtb ...
    36793 bytes read in 52 ms (690.4 KiB/s)
    uboot_overlays: add [enable_uboot_overlays=1] to /boot/uEnv.txt to enable...
    debug: [console=ttyO0,115200n8 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait] ...
    debug: [bootz 0x82000000 - 0x88000000] ...
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8fff4000, end 8fffffb8 ... OK
    
    Starting kernel ...
    
    
    
    However, when I used u-boot-2018.01+gitAUTOINC+313dcd69c2-g313dcd69c2 , tried variety of methods,
    including the ones you provided in the above TI link, and still can't boot from eMMC.

    The log of the failure with u-boot-2018.01 is shown in the attachment.

    U-Boot SPL 2018.01-00558-g5cd92dbf12-dirty (Apr 16 2019 - 13:42:48)
    omap24_i2c_findpsc: speed [kHz]: 100 psc: 0xb sscl: 0xd ssch: 0xf
    Trying to boot from MMC2
    uclass_find_device_by_seq: 0 -1
    uclass_find_device_by_seq: 0 0
       - -1 -1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - not found
    uclass_find_device_by_seq: 0 -1
    uclass_find_device_by_seq: 0 0
       - -1 0 'gpio_omap'
       - found
    uclass_find_device_by_seq: 0 1
       - -1 0 'gpio_omap'
       - -1 -1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - not found
    uclass_find_device_by_seq: 0 -1
    uclass_find_device_by_seq: 0 0
       - -1 0 'gpio_omap'
       - found
    uclass_find_device_by_seq: 0 1
       - -1 0 'gpio_omap'
       - -1 1 'gpio_omap'
       - found
    uclass_find_device_by_seq: 0 2
       - -1 0 'gpio_omap'
       - -1 1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - not found
    uclass_find_device_by_seq: 0 -1
    uclass_find_device_by_seq: 0 0
       - -1 0 'gpio_omap'
       - found
    uclass_find_device_by_seq: 0 1
       - -1 0 'gpio_omap'
       - -1 1 'gpio_omap'
       - found
    uclass_find_device_by_seq: 0 2
       - -1 0 'gpio_omap'
       - -1 1 'gpio_omap'
       - -1 2 'gpio_omap'
       - found
    uclass_find_device_by_seq: 0 3
       - -1 0 'gpio_omap'
       - -1 1 'gpio_omap'
       - -1 2 'gpio_omap'
       - -1 -1 'gpio_omap'
       - not found
    part_init: try 'EFI': ret=-1
    part_init: try 'DOS': ret=0
    spl: mmc boot mode: raw
    enter spl_start_uboot:250.
    *** Warning - bad CRC, using default environment
    
    Destroy Hash Table: 40303aa8 table = 
    Create Hash Table: N=92
    INSERT: table 40303aa8, filled 1/97 rv 81f02ae8 ==> name="bootcmd" value="if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run envboot; 
    run distro_bootcmd"
    INSERT: table 40303aa8, filled 2/97 rv 81f02b38 ==> name="bootdelay" value="2"
    INSERT: table 40303aa8, filled 3/97 rv 81f02908 ==> name="baudrate" value="115200"
    INSERT: table 40303aa8, filled 4/97 rv 81f02958 ==> name="arch" value="arm"
    INSERT: table 40303aa8, filled 5/97 rv 81f02f34 ==> name="cpu" value="armv7"
    INSERT: table 40303aa8, filled 6/97 rv 81f02ac0 ==> name="board" value="am335x"
    INSERT: table 40303aa8, filled 7/97 rv 81f02cc8 ==> name="board_name" value="am335x"
    INSERT: table 40303aa8, filled 8/97 rv 81f02cf0 ==> name="vendor" value="ti"
    INSERT: table 40303aa8, filled 9/97 rv 81f02b60 ==> name="soc" value="am33xx"
    INSERT: free(data = 81f02708)
    INSERT: done
    hdr read sector 300, count=1
    spl: payload image: *s load addr: 0x20 size: -2139095072
    read 36b sectors to 807fffc0
    Jumping to U-Boot
    loaded - jumping to U-Boot...
    image entry point: 0x
    
    U-Boot SPL 2018.01-00558-g5cd92dbf12-dirty (Apr 16 2019 - 13:42:48)
    omap24_i2c_findpsc: speed [kHz]: 100 psc: 0xb sscl: 0xd ssch: 0xf
    Trying to boot from MMC2
    uclass_find_device_by_seq: 0 -1
    uclass_find_device_by_seq: 0 0
       - -1 -1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - not found
    uclass_find_device_by_seq: 0 -1
    uclass_find_device_by_seq: 0 0
       - -1 0 'gpio_omap'
       - found
    uclass_find_device_by_seq: 0 1
       - -1 0 'gpio_omap'
       - -1 -1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - not found
    uclass_find_device_by_seq: 0 -1
    uclass_find_device_by_seq: 0 0
       - -1 0 'gpio_omap'
       - found
    uclass_find_device_by_seq: 0 1
       - -1 0 'gpio_omap'
       - -1 1 'gpio_omap'
       - found
    uclass_find_device_by_seq: 0 2
       - -1 0 'gpio_omap'
       - -1 1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - -1 -1 'gpio_omap'
       - not found
    uclass_find_device_by_seq: 0 -1
    uclass_find_device_by_seq: 0 0
       - -1 0 'gpio_omap'
       - found
    uclass_find_device_by_seq: 0 1
       - -1 0 'gpio_omap'
       - -1 1 'gpio_omap'
       - found
    uclass_find_device_by_seq: 0 2
       - -1 0 'gpio_omap'
       - -1 1 'gpio_omap'
       - -1 2 'gpio_omap'
       - found
    uclass_find_device_by_seq: 0 3
       - -1 0 'gpio_omap'
       - -1 1 'gpio_omap'
       - -1 2 'gpio_omap'
       - -1 -1 'gpio_omap'
       - not found
    part_init: try 'EFI': ret=-1
    part_init: try 'DOS': ret=0
    spl: mmc boot mode: raw
    enter spl_start_uboot:250.
    *** Warning - bad CRC, using default environment
    
    Destroy Hash Table: 40303aa8 table = 
    Create Hash Table: N=92
    INSERT: table 40303aa8, filled 1/97 rv 81f02ae8 ==> name="bootcmd" value="if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run envboot; 
    run distro_bootcmd"
    INSERT: table 40303aa8, filled 2/97 rv 81f02b38 ==> name="bootdelay" value="2"
    INSERT: table 40303aa8, filled 3/97 rv 81f02908 ==> name="baudrate" value="115200"
    INSERT: table 40303aa8, filled 4/97 rv 81f02958 ==> name="arch" value="arm"
    INSERT: table 40303aa8, filled 5/97 rv 81f02f34 ==> name="cpu" value="armv7"
    INSERT: table 40303aa8, filled 6/97 rv 81f02ac0 ==> name="board" value="am335x"
    INSERT: table 40303aa8, filled 7/97 rv 81f02cc8 ==> name="board_name" value="am335x"
    INSERT: table 40303aa8, filled 8/97 rv 81f02cf0 ==> name="vendor" value="ti"
    INSERT: table 40303aa8, filled 9/97 rv 81f02b60 ==> name="soc" value="am33xx"
    INSERT: free(data = 81f02708)
    INSERT: done
    hdr read sector 300, count=1
    spl: payload image: *s load addr: 0x20 size: -2139095072
    read 36b sectors to 807fffc0
    Jumping to U-Boot
    loaded - jumping to U-Boot...
    image entry point: 0x
    

  • Hello,

    Using the pre-built images in PSDK5.2, I was able to boot my BBB from the eMMC using the instructions mentioned in the following thread.

    Regards,

    Krunal