๐Ÿ’พ You Only Need One File

In my last post I walked through creating separate FAT and EXT4 partitions by hand with fdisk and GParted โ€” useful for understanding why the BBB needs two partitions to boot. But if you just want a working board, you can skip all of that manual partitioning.

For the BeagleBone Black, the official BeagleBoard.org image is a single .img.xz file that already contains both partitions โ€” a small FAT BOOT partition with the bootloader and kernel, and the ext4 rootfs. You write that one file to the SD card and you're done. No separate downloads, no manual partitioning, no copying files between filesystems.

๐Ÿ“ฅ Where to Get the Image

Grab the latest Debian image from the official distros page: beagleboard.org/distros. Pick the image built for your board (BeagleBone Black / IoT variant), download the .img.xz, and flash it with the BeagleBoard imager tool โ€” it handles decompressing the .xz and writing the raw image to the card in one step, the same way tools like balenaEtcher or Raspberry Pi Imager work for other boards.

๐Ÿ’ก Because both partitions live inside the single image file, whatever imaging tool you use just writes the whole thing sector-by-sector โ€” there's nothing left for you to partition or format manually.

๐Ÿ”Œ eMMC vs SD Card: Which One Boots?

The BeagleBone Black can boot two different ways, and it's easy to get confused about which one is actually running:

Boot Source How to Boot From It Notes
eMMC (on-board storage) Default โ€” just power on, don't touch anything Whatever was last flashed to the on-board eMMC
MicroSD card Hold the S2 (BOOT) button while applying power, release once the LEDs start moving Lets you boot a fresh image without touching the eMMC

This matters because you can also use a bootable SD card to flash a new image onto the on-board eMMC (some BeagleBoard.org images are built specifically as "eMMC flasher" images โ€” they boot from SD, copy themselves to eMMC, then optionally shut down). If you're not sure which mode you're in, the version check further down tells you exactly what's running.

๐Ÿ”‘ SSH In for the First Time

Once the board is booted and connected over USB (or your network), connect with:

ssh debian@192.168.7.2

Default login on most images:

  • Username: debian
  • Password: temppwd (older images โ€” some newer images use key-based login or prompt you to set a password on first boot)

If you've flashed a new image to the same board before, your computer may refuse to connect with a scary "REMOTE HOST IDENTIFICATION HAS CHANGED" warning. That's SSH protecting you because the board's host key changed โ€” expected behavior after reflashing. Clear the old key and try again:

ssh-keygen -R 192.168.7.2

๐Ÿ•ต๏ธ Verify Which Image Is Actually Running

Once you're in, don't assume โ€” check. This is especially useful after flashing to confirm you're actually running the new image and not an old one left over on eMMC:

cat /etc/dogtag /etc/os-release; uname -a
  • /etc/dogtag โ€” BeagleBoard.org's own build tag, shows the exact image version and build date
  • /etc/os-release โ€” standard Linux distro info (Debian version, codename)
  • uname -a โ€” kernel version and build info

๐ŸŽฅ Watch It End to End

I recorded the full flow โ€” downloading the image, flashing it, choosing SD vs eMMC boot, and the first SSH login:

My take: manually partitioning FAT + EXT4 is a great way to learn how BBB boot works, but for day-to-day flashing, the official single-file image is the right tool โ€” fewer steps, fewer chances to typo a dd command onto the wrong device.

Where to Go Next

If you haven't already, it's worth understanding why that single image file needs to contain two different filesystem types in the first place โ€” I cover the FAT vs EXT4 split in this companion post, and the full 4-stage boot process in this beginner's guide.