The "Aha" Moment Most Beginners Miss
If you've flashed an SD card, plugged it into a BeagleBone Black, and stared at a board that just won't boot, you're not alone. Almost every beginner hits this wall, and it's almost always the same root cause: the SD card only has one partition when the BBB's boot process actually needs two.
This is one of the most important concepts to understand in embedded Linux. Once it clicks, everything about how a board boots from an SD card โ bootloader, kernel, root filesystem โ starts to make sense. I put together a 13-minute video that walks through the whole process from scratch inside a safe Ubuntu VM, so you can practice without risking your host machine or your actual SD card.
Why Two Partitions? FAT vs. EXT4 Explained
The BeagleBone Black's on-chip ROM bootloader can only read a small number of filesystem formats when it first powers on โ and EXT4 isn't one of them. That's why the SD card needs to be split into two distinct partitions:
- FAT (boot partition) โ holds the bootloader (MLO, u-boot.img) and boot configuration. The ROM bootloader can read FAT natively, which is why this partition has to exist and has to come first.
- EXT4 (root filesystem) โ holds the actual Linux root filesystem: your kernel modules, libraries, and userspace applications. This is where the OS "lives" once u-boot hands off control.
Skip the FAT partition, or format the whole card as a single EXT4 volume, and the ROM bootloader has nothing it can read โ so the board never gets past the first stage of boot. That's the silent failure most beginners run into.
Tools Used
- Board: BeagleBone Black
- Environment: Ubuntu VM (safe sandbox โ no risk to your host OS)
- Partitioning: GParted and
fdisk - Formatting:
mkfs.vfatfor FAT,mkfs.ext4for the root filesystem
Video Timestamps
- 00:00 โ Why two partitions? The FAT + EXT4 explained
- 02:30 โ Launching the Ubuntu VM and identifying the SD card device
- 05:00 โ Creating partitions with
fdisk/ GParted step by step - 08:30 โ Formatting:
mkfs.vfatfor FAT,mkfs.ext4for root filesystem - 11:00 โ Verifying the partitions and copying boot files to FAT
My take: understanding the FAT + EXT4 split isn't just a BeagleBone quirk โ it's the same boot pattern you'll run into on most SBCs (Raspberry Pi included). Learn it once here and it transfers everywhere.
More BeagleBone & Embedded Linux Videos
- BBB Boot Flow โ why FAT matters
- BBB Setup (Windows & Linux)
- STM32 DMA RX deep dive
- Git version control for embedded
Final Verdict
If you're setting up a BeagleBone Black for the first time โ or you've tried and hit a
dead boot โ this is the step to slow down on. Practice the partitioning inside a
disposable Ubuntu VM first so a typo in fdisk never costs you a real SD
card. Once you can create, format, and verify FAT + EXT4 from scratch, booting the BBB
for real becomes almost boring.
๐ If the FAT vs. EXT4 explanation finally clicked for you, that's exactly what this
post (and the video) is for. ๐ฌ Are you using GParted or fdisk for your
partitioning? Let me know below.