MLO is behaving with 2 different way on 2 different BBB rev-c

NOTE:

  • All files are identical for both devices.

Questions

  1. Why Build history for both MLO/u-boot is different? :: 2015.10-00001 and 2018.09-00002.
  2. Why one device is fetching uEnv.txt while another one is for extlinux.conf? [Every time same version is showing for both devices]

uEnv.txt (434 Bytes)
u-boot.img (1.4 MB)
MLO (107.9 KB)
extlinux.conf (135 Bytes)

Device 1:

U-Boot 2015.10-00001-g143c9ee (Nov 06 2015 - 15:27:19 -0600), Build: jenkins-github_Bootloader-Builder-274

       Watchdog enabled
I2C:   ready
DRAM:  512 MiB
Reset Source: Global external warm reset has occurred.
Reset Source: Power-on reset has occurred.
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Using default environment

Net:   <ethaddr> not set. Validating first E-fuse MAC
cpsw
Hit any key to stop autoboot:  0 
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt ...
reading uEnv.txt
434 bytes read in 3 ms (140.6 KiB/s)
gpio: pin 55 (gpio 55) value is 1
Loaded environment from uEnv.txt
Importing environment from mmc ...
Checking if uenvcmd is set ...
gpio: pin 56 (gpio 56) value is 1
Running uenvcmd ...
reading /zImage
5248880 bytes read in 286 ms (17.5 MiB/s)
loading /am335x-boneblack.dtb ...
reading /am335x-boneblack.dtb
70112 bytes read in 11 ms (6.1 MiB/s)
bootargs=console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
Kernel image @ 0x82000000 [ 0x000000 - 0x501770 ]
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8ffeb000, end 8ffff1df ... OK

Starting kernel ...

Device 2:

U-Boot SPL 2018.09-00002-g0b54a51eee (Sep 10 2018 - 19:41:39 -0500)
Trying to boot from MMC2
Loading Environment from EXT4... 
* Unable to use mmc 0:1 for loading the env *


U-Boot 2018.09-00002-g0b54a51eee (Sep 10 2018 - 19:41:39 -0500), Build: jenkins-github_Bootloader-Builder-65

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 external warm reset has occurred.
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
<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
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...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
135 bytes read in 2 ms (65.4 KiB/s)
1:      beaglebone-buildroot
Retrieving file: /uImage
5248944 bytes read in 330 ms (15.2 MiB/s)
append: console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
Retrieving file: /am335x-boneblack.dtb
70112 bytes read in 6 ms (11.1 MiB/s)
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux-6.8.0-rc7
   Created:      2024-07-24  20:12:47 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5248880 Bytes = 5 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Kernel Image ... OK
   Loading Device Tree to 8ffeb000, end 8ffff1df ... OK

Starting kernel ...

Hi,

I suspect that your boards are booting from eMMC, which are flashed with U-Boot from 2015 and 2018 respectively. Whereas the u-boot you are trying to boot is from 2023:

$ strings u-boot.img | grep U-Boot
U-Boot 2023.04 (Jul 25 2024 - 00:24:12 +0530)

I suggest to erase the eMMC on your devices. The other option is to use the USR button - see the relevant documentation.

Regards,
Dimitar