eMMC boot issues with Yocto build

Hello all,

I am having problem with booting my “custom” image from eMMC. I am trying to work a bit with swupdate layer to explore remote updates. I have made a basic build of the update-image.bb recipe which created a core-image-full-cmdline-beaglebone.wic file ready to be transferred to the SD card. This image booted and worked fine from SD card once I placed correct uEnv.txt file in its /boot directory. It found uEnv.txt, proper .dtb file and booted up the kernel.

Problem starts when I try booting the same image from the eMMC. The information I get from debug UART:

U-Boot SPL 2017.09 (Apr 17 2018 - 16:54:04)
Trying to boot from MMC2
reading u-boot.img
reading u-boot.img

U-Boot 2017.09 (Apr 17 2018 - 16:54:04 +0100)

CPU : AM335X-GP rev 2.1
I2C: ready
DRAM: 512 MiB
No match for driver ‘omap_hsmmc’
No match for driver ‘omap_hsmmc’
Some drivers were not found
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
not set. Validating first E-fuse MAC
Net: cpsw, usb_ether
Press SPACE to abort autoboot in 2 seconds
Card did not respond to voltage select!
mmc_init: -95, time 12
Card did not respond to voltage select!
mmc_init: -95, time 13
switch to partitions #0, OK
mmc1(part 0) is current device
SD/MMC found on device 1
** Invalid partition 3 **
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1…

Error: “bootcmd_nand0” not defined

starting USB…
USB0: scanning bus 0 for devices… Error: Cannot find high speed parent of usb-1 device
unable to get device descriptor (error=-71)
Error: Cannot find high speed parent of usb-1 device
unable to get device descriptor (error=-71)
1 USB Device(s) found
scanning usb for storage devices… 0 Storage Device(s) found
cpsw Waiting for PHY auto negotiation to complete… TIMEOUT !
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC 04:a3:16:ad:b0:a2
HOST MAC de:ad:be:af:00:00
RNDIS ready
ERROR: The remote end did not respond in time.
at /media/mike/LinTemp/Yocto_update/build/tmp/work/beaglebone-poky-linux-gnueabi/u-boot/1_2017.09-r0/git/drivers/usb/gadget/ether.c:2430/_usb_eth_init()
missing environment variable: pxeuuid
Retrieving file: pxelinux.cfg/01-04-a3-16-ad-b0-a2
cpsw Waiting for PHY auto negotiation to complete… TIMEOUT !
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC 04:a3:16:ad:b0:a2
HOST MAC de:ad:be:af:00:00
RNDIS ready
ERROR: The remote end did not respond in time.
at /media/mike/LinTemp/Yocto_update/build/tmp/work/beaglebone-poky-linux-gnueabi/u-boot/1_2017.09-r0/git/drivers/usb/gadget/ether.c:2430/_usb_eth_init()
Retrieving file: pxelinux.cfg/00000000
cpsw Waiting for PHY auto negotiation to complete…

What causes this error?

Error: “bootcmd_nand0” not defined

By the looks of it, boot-up procedure does not even try to read the uEnv.txt file, but I will post its content anyway (this one is specifically for the eMMC):

bootpart=1:2
bootdir=/boot
bootfile=zImage
console=ttyO0,115200n8
fdtaddr=0x88000000
fdtfile=am335x-boneblack.dtb
loadaddr=0x82000000
mmcroot=/dev/mmcblk1p2 ro
mmcrootfstype=ext4 rootwait
optargs=consoleblank=0
nohdmi=bbb-nohdmi.dtb
mmcargs=setenv bootargs console=${console} ${optargs} root=${mmcroot} rootfstype=${mmcrootfstype}
findfdtfile=if test -e mmc ${bootpart} ${bootdir}/nohdmi; then setenv fdtfile ${nohdmi}; fi;
loadfdt=run findfdtfile; load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
uenvcmd=if run loadfdt; then echo Loaded ${fdtfile}; if run loadimage; then run mmcargs; bootz ${loadaddr} - ${fdtaddr}; fi; fi;

Did anyone have similar issues with the boot-up procedure?