Installing Debian 10 on a BeagleBone Black

I previously blogged about Installing Debian 9.7 on a BeagleBone Black and there’s been a major release of Debian 10 ‘Buster’ in the meantime.

Getting Started

BeagleBone Black

Installing Debian on the BeagleBone Black is fairly straightforward. Most of what I needed came from Debian BeagleBoard instructions.

Installing the Base Image

I got my Debian BeagleBone base images from https://rcn-ee.com/rootfs/bb.org/testing/ because the https://beagleboard.org/latest-images were quite stale. I used the latest Debian stable “Stretch” IOT build for ARMHF on the BeagleBone buster-iot/bone-debian-10.0-iot-armhf compressed image. I flashed the image onto a 32 gig microSD card with Balena Etcher for OSX, which was quite painless.

With my microSD card ready I plugged in my micro HDMI cable, ethernet, and a USB keyboard and booted into Debian.

Configuring Debian

The default user/password combination on Debian is debian and temppwd, which you’ll want to immediately change with passwd.

I then copied over my SSH key so I wouldn’t need to use my password when logging in.

ssh-copy-id debian@10.0.0.4

root

To ensure the latest versions of the base install:

apt-get update
apt-get upgrade

To set the hostname I ran:

hostnamectl set-hostname cubert.bottlebru.sh

To set the timezone I ran:

timedatectl set-timezone Australia/Sydney

To use the whole microSD card I followed these instructions:

cd /opt/scripts/tools/
git pull
./grow_partition.sh
reboot

Finishing Up

Because I’ve previously built Chef 15.1 for the BeagleBone Black, I installed the .DEB:

dpkg -i chef_15.1.36_armhf.deb

and bootstrapped the box with my a home boxes cookbook and policyfile from my home-repo:

knife bootstrap 10.0.0.4 -x debian --sudo -N cubert --policy-group home --policy-name beaglebone

Now it was ready to use again.

Update

I’ve started running apt-cacher-ng on my internal network and the BeagleBone Black’s 4 GB eMMC is a convenient (and unused) storage option. In the mattray::beaglebone recipe I’ve mounted the eMMC storage as a filesystem and I’ve added the apt::cacher-ng recipe in my policyfile for this machine.