DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.
The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.
If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.
TI BeagleBoard is a development board built around the TI OMAP3530 which is a 720MHz ARM Cortex-A8 SoC. The SoC has NEON and VFP extensions for various multimedia accelerations, POWERVR™ SGX530 graphics and TMS320C64x+ DSP.
The original BeagleBoard came with a 5V power adapter and serial port cable. The developer would then download Angstrom or Debian bootable images onto a SD Card. The last Debian build from the BeagleBoard Images page was built on 2018-06-17.
Setting Up Your Hardware
In addition to your BeagleBoard and its serial cable, you will need these pieces of hardware:
- USB-A (male) to USB-B mini (male) cable
- 5V/2A power supply with 5.5mm OD and 2.1mm ID plug, center positive (optional)
- 4GB or larger SD Card
- USB SD memory card adapter (microSD support also recommended)
- USB-serial port adapter
The BeagleBoard can be powered by the USB OTG interface with the cable above. However, if you will be using video or other multimedia functionality, it is highly recommended you utilize the power supply option. Note that the 2A current rating is a minimum; 3A or better is ideal.
There are many USB-serial port adapters on the market. I have tested and confirmed that the following three adapters work for me:
- TRENDnet TU-S9
- Keyspan USA-19HS
- DYNEX DX-UBDB9
They are many USB-serial cables out there, so just find one that works for you.
Most of the images found for the BeagleBoard require a 4GB capacity card. I have yet to find any images larger than that. To avoid wearing out the card slot on the BeagleBoard (and your SD Card) consider using a microSD and SD Card adapter. This allows you to keep the adapter plugged into your board and you simply insert and remove the microSD card. I had a 4GB SD Card where the plastic casing started to come apart from so many insert/remove cycles. microSD for the win!
Creating a Debian Image
There is gentleman by the name of Robert C. Nelson who tirelessly supports a build system to create Debian images for OMAP-based boards, specifically BeagleBoard and BeagleBone variants. He also creates and maintains Debian package repositories for these boards. Without him, running Debian or any Debian-based distribution on the BeagleBoard would be a daunting task. There are links to his work in the Resources section.
Setting Up the Build System
Your build system should be the most current Debian distribution possible. The OMAP build system makes extensive use of QEMU, and we want to have the latest version. If you have not already, install the packages:
Building the Image
First, make sure you have a minimum of 4GB of free disk space. Next, get the image builder software by cloning the repository:
git clone https://github.com/RobertCNelson/omap-image-builder
You will need to either be the root user or have sudo privileges in order to build. Enter your cloned repository and run the following command:
./RootStock-NG.sh -c bb.org-debian-bullseye-iot-generic-armhf >& build-log.txt
I recommend piping all output to a text file in case of any failures. My system is a quad core Xeon-based system with 16GB of RAM and SSD drive. I also have a fairly fast Internet connection. My build took 37 minutes to complete. Your build time will vary based on your computing resources. When the build completes, your image files will be found in the following directory with whatever the current date as the suffix:
Writing the SD Card Image
You should be the root user for writing the image. I am not responsible for any accidental destruction of your own system. Substitute the device name sdX to be whatever your SD card is and follow the prompts:
./setup_sdcard.sh --mmc /dev/sdX --dtb omap3-beagle
Writing the image usually takes less than 10 minutes.
Booting Your BeagleBoard with Debian
Make sure the BeagleBoard is powered off. Take your SD (or microSD) card and insert it into the SD Card slot. Before applying power to your board, look at pictures in eLinux BeagleBoard#Hardware and locate the User button on your board. It is number 6 in the pictures and table. Hold that button down and apply power to your BeagleBoard. You should start seeing messages very similar below.
40W U-Boot SPL 2018.03-00001-g21a26066ea (May 21 2018 - 15:23:05 -0500) Trying to boot from MMC1 spl_load_image_fat_os: error reading image args, err - -2 U-Boot 2018.03-00001-g21a26066ea (May 21 2018 - 15:23:05 -0500), Build: jenkins-github_Bootloader-Builder-49 OMAP3530-GP ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 720 MHz Model: TI OMAP3 BeagleBoard OMAP3 Beagle board + LPDDR/NAND I2C: ready DRAM: 256 MiB NAND: 256 MiB MMC: OMAP SD/MMC: 0 Loading Environment from NAND... OK Beagle Rev C4 Timed out in wait_for_event: status=0000 Check if pads/pull-ups of bus are properly configured No EEPROM on expansion board Timed out in wait_for_event: status=0000 Check if pads/pull-ups of bus are properly configured No EEPROM on expansion board OMAP die ID: 250800040000000004039ba608011018 Net: usb_ether Error: usb_ether address not set. Hit any key to stop autoboot: 2 ^H^H^H 1 ^H^H^H 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... switch to partitions #0, OK mmc0 is current device D/MMC found on device 0 Checking for: /uEnv.txt ... Checking for: /boot/uEnv.txt ... 413 bytes read in 32 ms (11.7 KiB/s) Loaded environment from /boot/uEnv.txt Checking if uname_r is set in /boot/uEnv.txt... Running uname_boot ... loading /boot/vmlinuz-5.10.73-armv7-x56 ... 11284992 bytes read in 1032 ms (10.4 MiB/s) loading /boot/dtbs/5.10.73-armv7-x56/omap3-beagle.dtb ... 97972 bytes read in 630 ms (151.4 KiB/s) loading /boot/initrd.img-5.10.73-armv7-x56 ... 8027823 bytes read in 739 ms (10.4 MiB/s) debug: [console=ttyO2,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet] ... debug: [bootz 0x82000000 0x88080000:7a7eaf 0x88000000] ... ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Ramdisk to 89858000, end 89fffeaf ... OK Loading Device Tree to 8983d000, end 89857eb3 ... OK Starting kernel ... [ 4.616058] omap_hsmmc 4809c000.mmc: RX DMA channel request failed [ 5.221801] omap-sham 480c3000.sham: initialization failed. [ 5.541137] omap-aes 480a6000.aes1: Unable to request in DMA channel [ 5.548278] omap-aes 480a6000.aes1: initialization failed. [ 5.561370] omap-aes 480c5000.aes2: Unable to request in DMA channel [ 5.568481] omap-aes 480c5000.aes2: initialization failed. [FAILED] Failed to start Grow Root Partition. [ 72.165527] OF: graph: no port node found in /ocp@68000000/isp@480bc000/ports [ 72.447387] OF: graph: no port node found in /ocp@68000000/isp@480bc000/ports [ 72.689849] OF: graph: no port node found in /ocp@68000000/isp@480bc000/ports Debian GNU/Linux 11 BeagleBoard ttyS2 BeagleBoard.org Debian Bullseye Generic IoT Image 2021-11-15 Support: https://bbb.io/debian default username:password is [debian:temppwd] BeagleBoard login:
Hopefully your BeagleBoard booted successfully to a login prompt. And this brings us to the end of our little journey. I recommend you check out all the links in the Resources below for what to do next with your board. You can contact me at email@example.com for some basic help, but the forums are the place to go for asking questions and getting assistance. Have fun!
Robert's OMAP Image Builder
Robert's Digi-Key Page
BeagleBoard GIT Repositories
Embedded Linux Wiki for BeagleBoard
Embedded Linux Wiki for Ubuntu on BeagleBoard
Embedded Linux BeagleBoard Community
Official BeagleBoard Forums