Can't change u-boot environment variables save location from SD to eMMC

Hi there,
I am trying to learn kernel coding on Beaglebone Black classical USB Mini version. However, even if I flash the proper OS provided by beagleborad, (2013, 2018,2021) or even I change uEnv.txt file manually about Env save variables(not sure if I did it right) always my beaglebone wants an SD card to save variables. If there is no SD card it gives an arror about voltage select which I believe means no card in tray. How can I disable SD card need completely I already use NFS boot so it is too unnecessary.

You need to rebuild u-boot, saving the u-boot environment to microSD was the safest choice at the time as that supported, both the pocketbeagle and beaglebone classic with didn’t have eMMC.

How can I rebuilt u-boot can you give me any resource for learning?

Install these distro packages:

sudo apt update
sudo apt-get install bc bison flex libssl-dev u-boot-tools

Clone our Branch for am335x

git clone -b
cd ./u-boot/

Make sure you have a cross compiler installed; for example:

voodoo@la-i5-1135G7:~$ /usr/bin/arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (Debian 12.2.0-14) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO

Then just:

touch load.menuconfig

Call our builds script:


After build is done, you’ll need MLO and u-boot-dtb.img

voodoo@la-i5-1135G7:~/u-boot$ ls -lha MLO
-rw-r--r-- 1 voodoo voodoo 104K Jun 24 10:25 MLO
voodoo@la-i5-1135G7:~/u-boot$ ls -lha u-boot-dtb.img
-rw-r--r-- 1 voodoo voodoo 965K Jun 24 10:24 u-boot-dtb.img

Then you’ll install them on either the microSD or eMMC via:

sudo dd if=MLO of=/dev/mmcblk0 count=2 seek=1 bs=128k
sudo dd if=u-boot-dtb.img of=/dev/mmcblk0 count=4 seek=1 bs=384k

thank you I will try ASAP.