Stuck at "Starting kernel ..." while booting BBB rev-c from Sd Card

Hi,
I ma trying to boot BBB from Sd Card But It always stuck at “Starting kernel …”
MLO, u-boot.img, uEnv.txt, am335x-boneblack.dtb are paced in BOOT partation of sdcard.
MLO, u-boot.img ---->> created by u-boot
rootfs.ext4 ---->> created by build-root
uImage ---->> linux-6.9.9


uEnv.txt

console=ttyS0,115200n8
ipaddr=192.168.7.2
serverip=192.168.7.1
loadaddr=0x82000000
fdtaddr=0x88080000
netargs=echo Setting netargs from uEnv.txt ...; setenv bootargs console={console} root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait debug earlyprintk mem=512M
netboot=echo Booting/Loading netboot from microSD ...; load mmc 0:1 ${loadaddr} uImage ; load mmc 0:1 ${fdtaddr} am335x-boneblack.dtb 
uenvcmd=setenv autoload no ; run netboot; run netargs; bootm ${loadaddr} - ${fdtaddr}

minicom Log

U-Boot SPL 2015.10-00001-g143c9ee (Nov 06 2015 - 15:27:19)
bad magic


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
475 bytes read in 4 ms (115.2 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 ...
Booting/Loading netboot from microSD ...
reading uImage
5281496 bytes read in 289 ms (17.4 MiB/s)
reading am335x-boneblack.dtb
86904 bytes read in 11 ms (7.5 MiB/s)
Setting netargs from uEnv.txt ...
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux-6.9.9
   Created:      2024-07-20  17:32:47 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5281432 Bytes = 5 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 88080000
   Booting using the fdt blob at 0x88080000
   Loading Kernel Image ... OK
   Loading Device Tree to 8ffe7000, end 8ffff377 ... OK

Starting kernel ...

Look closely, missing $ … console={console}console=${console}

Regards,

1 Like

Hi @RobertCNelson,
Still the issue is same… I am trying since last 2 days But I stuck at this part.

can’t be the same issue, if you changed that one parameter…

Regards,

I again Cross checked it.
It still stuck at the part.

FYI…
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt …
reading uEnv.txt
481 bytes read in 3 ms (156.3 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 …
Booting/Loading netboot from microSD …
reading uImage
5281496 bytes read in 288 ms (17.5 MiB/s)
reading am335x-boneblack.dtb
86904 bytes read in 11 ms (7.5 MiB/s)
Setting netargs from uEnv.txt …

Booting kernel from Legacy Image at 82000000 …

Image Name: Linux-6.9.9
Created: 2024-07-20 17:32:47 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 5281432 Bytes = 5 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … OK

Flattened Device Tree blob at 88080000

Booting using the fdt blob at 0x88080000
Loading Kernel Image … OK
Loading Device Tree to 8ffe7000, end 8ffff377 … OK

Starting kernel …

If you built MLO/u-boot.img, why does it have my build info: 2015.10-00001-g143c9ee (Nov 06 2015), so your not using your MLO/u-boot.img (erase the eMMC or hold the usr button) on bootup to force the microSD to be used…

You used buildroot, what kernel config?

Regards,

1 Like

Hi @RobertCNelson,
I am new to BBB, I did “git clone GitHub - u-boot/u-boot: "Das U-Boot" Source Tree” and then create a script file to build MLO/u-boot and copy newely created MLO and u-boot.img file.

But I don’t know why It is showing:
U-Boot 2015.10-00001-g143c9ee (Nov 06 2015 - 15:27:19 -0600)

If my steps & any command are unappropriate then Please inform me.

u-boot config—>>>
config (59.2 KB)

buildroot config—>>>
config (113.8 KB)

are you booting from emmc or sdcard ??
if sdcard, then you may have an old u-boot in emmc, which is being used.

I am booting from sd card , and I am not pressing S2 button because what I saw in serial logs it first attempt to boot from mmc0(sd card) if that is not successfully done then it switch to mmc1(MMC) .

Hi @vishant_yadav
Can you share your updated uEnv.txt file ???

1 Like

sure,
uEnv.txt (481 Bytes)

if your booting with a newer u-boot on sdcard and the boot log shows 2015 u-boot, then it is using the one in emmc. if you have no reason to keep whats in emmc, ya might want to dd zero to the emmc, this will make the boot from sd card.

@vishant_yadav

  1. What are the commands you used to to build BOOT partition binaries?

  2. Please share your .config file as well ? You can use make savedefconfig command for that.

  1. u-boot,img, MLO, uEnv.txt, uImage, dtb file
  2. Already mentioned in the above discussion.

Hello @RobertCNelson @amf99 @Viveky1794

Now I am getting issue with “Loading Kernel Image … Image too large: increase CONFIG_SYS_BOOTM_LEN

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 warm SW 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
475 bytes read in 4 ms (115.2 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 ...
Booting/Loading netboot from microSD ...
reading uImage
20316736 bytes read in 1094 ms (17.7 MiB/s)
reading am335x-evm.dtb
65859 bytes read in 9 ms (7 MiB/s)
Setting netargs from uEnv.txt ...
## Booting kernel from Legacy Image at 80008000 ...
   Image Name:   Linux-5.10.162-cip24
   Created:      2024-07-24  19:52:42 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    20316672 Bytes = 19.4 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 ... Image too large: increase CONFIG_SYS_BOOTM_LEN
Must RESET board to recover
resetting ...

U-Boot SPL 2015.10-00001-g143c9ee (Nov 06 2015 - 15:27:19)
bad magic

started to reproduce your work today, using latest buildroot (did not see above what version your using)
did use your config with same cross compile stuff. it built ok
download u-boot from the link you provided, using the config you provided, it build ok
next;
Linux-6.9.9
where did you get this from?? is this from main line?? and can you provide your config file for it.

more than happy to help out, reproducing your build is the key.

Yes, I got it from main line.
config file: omap2plus_defconfig

buildroot version:

# Set and export the version string
export BR2_VERSION := 2024.08-git
# Actual time the release is cut (for reproducible builds)
BR2_VERSION_EPOCH = 1718188000

# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)

# Check for minimal make version (note: this check will break at make 10.x)
MIN_MAKE_VERSION = 3.81

while looking at linux download,
stable: 6.9.11
could 6.9.9 have issues ??

https://www.kernel.org/
has stable of 6.10.1, which i will look at

@vishant_yadav

using a rootfs from Buildroot 2023.08 (only because i have an image)
for buildroot 2024.08, i’ll need to do more work, but it should work also

replaced MLO and u-boot.img built from 2024.10 (the link you provided, master branch)
BBB booted ok
then replaced zImage and am335x-boneblack.dtb built from linux-6.9.11
BBB booted ok
boot log for new u-boot and zImage is attached.
linux_boot.log (22.4 KB)

1 Like

Thank you @everyone for supporting,

This issue is finally resolved.
By creating uImage from “GitHub - beagleboard/linux: The official Read Only BeagleBoard and BeagleBone kernel repository https://git.beagleboard.org/beagleboard/linux” insteed of “kernel/git/stable/linux.git - Linux kernel stable tree

1 Like