Issues When Following the Tutorial on Mender - BootOrder not defined

I have a BeagleBone Black and I am trying to use Yocto to build a dual rootfs system with Mender so that future upgrades will be a breeze. I’ve followed various tutorials, tried other various ways but I always seem to come across issues.

I followed the tutorial for a BeagleBone that is here but I cannot get it to boot. I am building a core-image-full-cmdline image. I have only added a couple of IMAGE_FSTYPES to the local.conf file. Everything else is as it is in the tutorial. When I attach a screen, I get the Yocto Project splash screen and then just a blank blinking cursor. I when I view the serial port messages through screen, I get the following;

385024 bytes read in 28 ms (13.1 MiB/s)

Starting EFI application at 82000000 …

Welcome to GRUB!
lock: OK
lock: OK
EFI stub: Booting Linux Kernel…
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map…
data abort
pc : [<9ff591e0>] lr : [<9ff59215>]
reloc pc : [<808011e0>] lr : [<80801215>]
sp : 9df36d7c ip : 1f758000 fp : 00000000
r10: 9ff5a000 r9 : 9df37eb8 r8 : 00000000
r7 : 9ff59460 r6 : 9ff59414 r5 : 000000ad r4 : 20069460
r3 : 00000000 r2 : 00000050 r1 : 9ff59410 r0 : abb1aaad
Flags: NzCv IRQs off FIQs on Mode SVC_32
Code: 2010ea83 bdf0d1f5 5b04f856 b2c54068 (5025f854)
UEFI image [0x9cecd000:0x9cf2afff] ‘/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/USB(0x6,0x0)/HD(1,MBR,0x2ca7d59b,0x800000000000,0x0)/efi\boot\bootarm.efi’
UEFI image [0x946d5000:0x94d92fff]
Resetting CPU …
resetting …
U-Boot SPL 2019.04-00002-g07d5700e21 (Mar 06 2020 - 11:24:55 -0600)
Trying to boot from MMC2
Loading Environment from EXT4…
** Unable to use mmc 0:1 for loading the env **
U-Boot 2019.04-00002-g07d5700e21
Trying to boot from MMC2
Loading Environment from EXT4…
** Unable to use mmc 0:1 for loading the env **
U-Boot 2019.04-00002-g07d5700e21 (Mar 06 2020 - 11:24:55 -0600), Build: jenkins-github_Bootloader-Builder-137
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
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…
** Unable to use mmc 0:1 for loading the env **
Board: BeagleBone Black
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 0 seconds
board_name=[A335BNLT] …
board_rev=[00C0] …
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1…
58300 bytes read in 7 ms (7.9 MiB/s)
58300 bytes read in 8 ms (6.9 MiB/s)
Found EFI removable media binary efi/boot/bootarm.efi
Scanning disks on usb…
Disk usb0 not ready
Disk usb1 not ready
Disk usb2 not ready
Disk usb3 not ready
Scanning disks on mmc…
MMC Device 2 not found
MMC Device 3 not found
Found 7 disks
BootOrder not defined

I have searched high and low on how to define the BootOrder, but to no avail as that seems to be the issue. Can anyone point me in the right direction

Hi @aslansutu,

I had a similar problem the first day I had to deal with this board. Are you pressing the S2 button of the Beaglebone Black when plugging it into the power/USB cable?

beaglebone_BeagleBoneBlack

If not, can you try it? Just unplug the beaglebone, hold the button shown in the image and plug it into the power (or USB). A new set of blue lights should blink and the device will start booting from the SD card.

Please let me know if it helps. :slight_smile:

Have a great day!
Luis

Yes that seemed to do the trick. I later used UART to see what all the fuss was about, and what was happening was that it was just restarting GRUB constantly. I assume if I were to format the emmc or flash from the SD card to the emmc and remove the SD card, it should be fine. Thing is, I cant be constantly pressing the button because the devices is eventually going to be locked up in another product. Anywho, thank you.

Hi @aslansutu,

The recommended way (to my understanding) is using the eMMC for non-development environments.

As a trick I did on my end, I marked the eMMC as non-bootable, so then it will try to boot from the SD card instead, and I did not have to push the button anymore. I saw that recommendation on Stack Overflow, and it worked for me. However, I don’t know how official it is from the beaglebone community perspective.

Regards,
Luis

Using eMMC can work but it’s pretty small on the Beaglebone which is part of the reason we normally just use SDCard. If you wipe the eMMC block device then I think it will automatically boot from SDCard regardless of the position of the S2 switch.

Drew