Month: May 2020

Setting up the BeagleBoneBlack (BBB)

Disclaimer

The main purpose of this blog entry is for me to remember what I did to configure the BeagleBone-Black single board computer.


A couple of years back (somewhere around 2014) I was working on projects primarily ran on Embedded Linux operating systems. I purchased a BeagleBone-Black to learn driver development, kernel internals, etc.. However, I did not have time (or rather priority) to do any projects on these boards. Fast-forward 6 years, and now, somehow I feel like I have some spare time to dedicate to hobby projects.

My BeagleBone-Black still lives in it’s original packaging and last week I decided to get it updated to the latest operating system. I checked what version I have in the eMMC and realized that it is the ancient version that the manufacturers originally flahsed way back in 2014. The Angstrom distribution which is now tagged as outdated.

I’m going to list down the steps I followed to get the board updated with the latest BeagleBone-Black image and setup wifi.

List of things to buy

  1. Micro SD card (I bought a SanDisk-Ultra microSDHC 16GB card)
  2. 5V Power supply with a center positive barrel connector (I bought one which can provide 3 A current)
  3. A wifi dongle (I bought a $4 cheap RTL8188CUS based wifi dongle)

Flashing the latest firmware

References

  1. Beaglebone black – Getting Started
  2. Link to latest (as at 20-05-2020) debian image

Steps

  • Download the SD Card format software (Balena-etcher)
  • Download the latest debian image
  • Flash the debian image to the microSD Card using ‘BalenaEtcher’
  • Remove power from BeagleBoneBlack
  • Insert the microSD card
  • Apply power to BeagleBoneBlack while holding the UserBoot button
  • Once the 4 blue LEDs are ON, let go of the button
  • Connect the board to PC
  • Wait for sometime for the device to boot
  • Once it is booted, connect to 192.168.7.2 using your favorite SSH client
  • Issue the command:
debian@beaglebone:~$ cat /etc/dogtag
  • Output for me is:
BeagleBoard.org Debian Buster IoT Image 2020-04-06
  • Open /boot/uEnv.txt and change the following line
##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

to

#enable Generic eMMC Flasher:
#make sure, these tools are installed: dosfstools rsync
cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh
  • Reboot the BeagleBoneBlack
  • Now you will see that LEDs will be fading left to right and it is the cue that the image is being flashed to eMMC
  • This took around 20~30 mins to complete.
  • Once the flash operation has completed, the LEDs switch off
  • Remove the SD CARD and apply power again
  • Now it boots from eMMC and check the version again. You should get the same dogtag as above
BeagleBoard.org Debian Buster IoT Image 2020-04-06
  • Done!

Setting the default boot to be SD CARD

Reference

  1. https://www.erdahl.io/2016/12/beaglebone-black-booting-from-sd-by.html

Steps

  • Connect to BeagleBoneBlack terminal
  • Execute ‘lsblk’ command

BBB#1

  • Find out what is the microSD card (In my case mmcblk0 because it is 16 GB)
  • Execute ‘sudo fdisk /dev/mmcblk1’
  • Then select ‘a’ to toggle bootable flag
  • Then select ‘w’ to save and ‘q’ to exit
  • Then execute ‘sync’ and ‘reboot’
  • Now you should be rebooting in microSD card
  • You can confirm this by using ‘sudo fdisk -l’
  • In my case it looks like below (notice the * under /dev/mmblk0p1 boot column)

BBB#2

  • Done!

Setting up wifi

This is super easy now with connmanctl!

Reference

  1. A guide by Digikey

Steps

connmanctl> enable wifi
connmanctl> scan wifi
connmanctl> services
output: <WifiName> <WifiLongName>
connmanctl> agent on
connmanctl> connect <WifiLongName>
connmanctl> quit

That’s it!

I hope it helped.