Beagle Bone Black Firmware Source Code

Hi All,

Actually I want the BBB Firmware source code, to analyze the internal movement of uboot command from prompt to registers of BBB Mircroprocessor. Can anybody help me to get the source code of same ?


Hi @Ankur the current production u-boot branch for the BBB is located here: Commits · · / u-boot · GitLab


Hi @RobertCNelson

Uboot code, I do have. I requested for the firmware code of board. Kindly share reference, if you have ? Regards.


Firmware for the BeagleBone Black???

Maybe this is a translation issue… Please post what you are looking for? Does it have a specific file name, or something else? The am335x does not have any real blobs required to run…


Hi Robert,
Thanks for your reply. I am looking for the source code of primary boot loader i.e. BIOS / bootloader source code of BBB. The main point, I want to know what happens after power button press step by step in hardware and software action/event sequence in a detailed manner.If somewhere some document or source code , if available, kindly let me know.
Thanks & Regards.

Hi @Ankur , well that’s u-boot.

TI only documents the order of events the internal BOOT rom will take, based on the sysboot pins. (There is no source available for this internal BOOT rom.)

In general, the am335x BOOT rom, will load MLO from storage (MLO comes from u-boot, aka u-boot SPL ) and then MLO loads u-boot-dtb.img also from storage.


HI @RobertCNelson,

Thanks for your quick reply. Where will these documents be, the order of events, the internal BOOT rom documents ? As per intel bios, after power on button, a hard coded address is reached by control that address has the address of bootloader then further process go ahead. IN the same manner what happens with TI/BBB. In short, from power till the start of uboot, what happens in details I want to know. Kind;y share some references for these. Even if somewhere this MLO details/documentation is available, please share …

All I want wrt BBB, if possible else whatever nearest …

You’ll find that right here: Starting at Page: 5017


Dear All,

I am getting this on sudo minicom -s

Welcome to minicom 2.7.1

Compiled on Dec 23 2019, 02:06:26.
Port /dev/ttyACM0, 12:47:20

Press CTRL-A Z for help on special keys

Debian GNU/Linux 10 beaglebone ttyGS0 Debian Buster IoT Image 2020-04-06

Support: Beagleboard:BeagleBoneBlack Debian -

default username:password is [debian:temppwd]
beaglebone login: debian
Last login: Mon Apr 6 14:27:20 UTC 2020 on ttyGS0

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

Issue - I want to work on uboot prompt, but for same logs must be on screen so that after getting message of timing, I can escape and get uboot prompt.
Kindly suggest , how to fix it ?

Thanks all,

ttyGS0 is the usb link, this only comes up after Linux userspace has loaded…

To access U-Boot, you need to use UART0, which is available at J1: Beagleboard:BeagleBone Black Serial -


Hi @RobertCNelson ,
I feel some of the very little piece of configurations/setting is missing at ubuntu side of board side, due to which logs are not coming out, and I am not able to get the screen of waiting message when moving from uboot to kernel. Rest I am able to see prompt directly. Kindly let me know, the missing piece need to add here. I am using here PL2303 TA Download Cable USB to TTL RS232 Module USB to Serial buy online at Low Price in India - to connect board to system.

I feel it must be ttyUSB0, but some of very missing piece is not allowing to make ttyUSB0 respond. System is listening ttyUSB0, but not displaying/reacting anything. I tried this setting, after sudo minicom -s

| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : Yes |
| |
| Change which setting? |

is it correct ?


That matches this: Beagleboard:BeagleBone Black Serial -

make sure your user is part of dialout, i personally don’t like minicom, just use tio or gtkterm…

Try swapping RX and TX, you might have them reversed, you only need 3 wires, GND, RX and TX connected…


Hi @RobertCNelson,

As on the other port , I am able to login, same as confirming that all other settings are correct. Only tty and uart parameters at both sides have space to configure to get console boot logs. The variation could be in tty port like ttyusb0,ttyacm0 etc etc and hardware /software flow or similar parameters has space to change. Rest regarding hardware connection are fine. Minicom will too make no difference as if things are well , it will work with any software utility either putty or grabserial or anything else.Hence request to kindly check and revert…


Hi @RobertCNelson,

Kindly help here , please… or even if u can share steps of any one minicom, tio , gtlterm or anyone… will help to get logs, onve waiting message , i will have uboot prompt can be received…


Hi @Ankur

Not sure what i can add beyond: Beagleboard:BeagleBone Black Serial -

Make sure your linux user is part of dialout, this allows your user to use serial adapters in user mode.

voodoo@la-i5-1135G7:~$ cat /etc/group| grep dialout

Looking at your cable:

Pin Connection
Red: +5 V
Black: GND
White: RXD
Green: TXD


Black: to Pin 1 (GND)
White: to Pin 5
Green: to Pin 4

Then run: tio:

tio /dev/ttyUSB0

Then hit reset on the board, you should see serial data in text form…

If you don’t, try swapping RX/TX…

Black: to Pin 1 (GND)
White: to Pin 4
Green: to Pin 5


Hi @Robert
Thanks for your reply…

In response to

cat /etc/group| grep dialout

I am getting


Rest after sudo tio /dev/ttyUSB0

oem@bhagwabhartiya:~/Desktop/interview/linux-5.15.1$ sudo tio /dev/ttyUSB0
[sudo] password for oem: 
[tio 17:08:57] tio v1.32
[tio 17:08:57] Press ctrl-t q to quit
[tio 17:08:57] Connected

Rest connections are as per you told, and is properly displayed.

Now where is the issue, is somewhere setting/configuration may be the issue, if yes then what is the exact configuration ?

Additionally , I have doubt about Software and Hardware flow control setting, which must be off and which must be on ? Can you share exact value of these two, if possible ?




both hardware and software flow control should be off.

you can add your username to the dialout group by running

sudo usermod -a -G dialout  your_username_here

After doing that you will need to exist the teminal window and open a new one.
To check you can run groups in a terminal window to list the groups you are in.

If you want a completely different sourcecode that replace the u-boot code, take a look at coreboot:

How exactly did you wire it up?


1 Like

Hi All,

I did long back, now I have forgot which image i took from website. Seems my old sdcard has been corrupted, and image from which I made, i forgot, so i humbly request to identify the exact pre-build image to get web interface on ip or via Ethernet cable and to well as serial port via minicom for beablebone black board as I need to make sdcard again to restart…

Kindly share the exact web-link with procedure to build and test upto serial port.