Custom Image Fails to Boot

I’m building a debian bullseye (11.17) image following the steps outlined here. It seems something missing or misconfigured is preventing the board from booting Linux. The boot partition contains a single file, sysconf.txt.

#uEnv.txt
uname_r=5.10.168-ti-r66
cmdline=fsck.repair=yes earlycon net.ifnames=0
#attempted boot

-Boot 2024.10-g369ff7cf8cc9 (Jan 27 2026 - 00:11:27 -0800)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  512 MiB
Core:  161 devices, 18 uclasses, devicetree: separate
WDT:   Started wdt@44e35000 with servicing every 1000ms (60s timeout)
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1... 
<ethaddr> not set. Validating first E-fuse MAC
Net:   eth2: ethernet@4a100000using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
, eth3: usb_ether
Hit any key to stop autoboot:  0 
=> boot                               
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Extension init...
Found 0 extension board(s).
No EFI system partition
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
Loading Boot0000 'mmc 0' failed
Loading Boot0001 'mmc 1' failed
EFI boot manager: Cannot load any image
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
Extension init...
Loading Boot0000 'mmc 0' failed
Loading Boot0001 'mmc 1' failed
EFI boot manager: Cannot load any image
## Error: "bootcmd_nand0" not defined
starting USB...
Bus usb@47401800: Port not available.
USB is stopped. Please issue 'usb start' first.
starting USB...
Bus usb@47401800: Port not available.
ethernet@4a100000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
data abort
pc : [<9ff9c0a6>]	   lr : [<9ff9c04b>]
reloc pc : [<8083a0a6>]	   lr : [<8083a04b>]
sp : 9df2c3c0  ip : 9df508e8	 fp : 00000000
r10: 00000000  r9 : 9df41ea0	 r8 : 00000000
r7 : 9df508d0  r6 : 00000000	 r5 : 00000000  r4 : 9df508e8
r3 : 9df51b08  r2 : ffffff8d	 r1 : 00000000  r0 : 9df508d0
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32 (T)
Code: 6923 719a e8bd 8df0 (f8d5) 30bc 
#fdisk -l sdcard.img
Disk sdcard.img: 1.68 GiB, 1803122688 bytes, 3521724 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device      Boot Start     End Sectors  Size Id Type
sdcard.img1 *     8192   81919   73728   36M  c W95 FAT32 (LBA)
sdcard.img2      81920 3521724 3439805  1.6G 83 Linux

your on a different u-boot branch… Mainline u-boot needs extlinux.conf, we are too far into the am335x life for me to change our uEnv.txt’s default for end users with our images. :wink:

Side note, here is an old “extlinux.conf” generator i threw together a few years ago… it reles on running on a image, but it should help you start with a new one..

Regards,

Am I following? What is needed is to supply etlinunx.conf within the bootfs? I see that some configuration for extlinux is done by setup_sdcard.sh, can I just copy that?

edit: oh, we were typing at the same time, ha ha… I will take a look at that script.

One of the big gotcha with extlinux.conf… Everything has to be in the same partition.. With uEnv.txt we could jump between partitions.. But when extlinux.conf loads, everything is from a single partition context..

Regards,

2 Likes

This is the exact issue I was running into… moving images and inital device trees to bootfs now