../
Looking for a senior C++ dev? I'm looking for work. Hire me!

Summary

In a continuing series of posts on BeagleBone, I decided to look into the various BeagleBone images available. For reference, my previous BeagleBone posts include:

Mounting images

I'm assuming you've already downloaded a BB installation image file, or at the very least you know where to find the images. If not, the BB test images can be found at https://rcn-ee.com/rootfs/bb.org/testing/.

Mounting .iso disk images is relatively simple. Mounting the BeagleBone .img files is similar, but requires one additional step. The .img files are full disk images, so when mounting them you need to specify the byte offset to the filesystem in the first partition. This is what happens if you try to use the loopback device to mount one of the BB .img files:

unxz --verbose BBB-blank-debian-8.7-iot-armhf-2017-01-17-4gb.img.xz mkdir test sudo mount -o loop BBB-blank-debian-8.7-iot-armhf-2017-01-17-4gb.img test mount: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so.

To get this working correctly, find the offset using the file command:

file BBB-blank-debian-8.7-iot-armhf-2017-01-17-4gb.img BBB-blank-debian-8.7-iot-armhf-2017-01-17-4gb.img: DOS/MBR boot sector; partition 1 : ID=0x83, active, start-CHS (0x0,130,3), end-CHS (0x1b1,111,62), startsector 8192, 6955008 sectors

At 512 bytes per sector, the start offset is 512 * 8192 = 4194304 bytes. So modify the usual mount command and specify the exact offset. For example, in the case above with a startsector value of 8192:

mkdir test sudo mount -o loop,offset=4194304 BBB-blank-debian-8.7-iot-armhf-2017-01-17-4gb.img test cd test ls -lh ...

You can now fully explore and even modify the content of .img file.

Once finished, remember to unmount the loopback image:

cd .. sudo umount test rmdir test

Differences between images

At the time I wrote this post, the latest images from Robert C. Nelson are dated 2017-01-17: https://rcn-ee.com/rootfs/bb.org/testing/2017-01-17/. There are two main categories of BB images -- a text-mode console image, and a X11 graphical desktop image.

Filename X Desktop Flasher Script
(/opt/scripts/tools/eMMC/)
Free Space Description
bone-debian-8.7-iot-armhf-2017-01-17-4gb.img no none 1.8 GiB Base for Debian 8.7 console image. The flasher script at the end of /boot/uEnv.txt is commented out, and thus wont overwrite the eMMC on boot.
BBB-blank-debian-8.7-iot-armhf-2017-01-17-4gb.img no init-eMMC-flasher-v3.sh 1.8 GiB Debian 8.7 console image. The only difference is the flasher script on the last line in /boot/uEnv.txt.
BBBL-blank-debian-8.7-iot-armhf-2017-01-17-4gb.img no init-eMMC-flasher-v3-bbbl.sh 1.8 GiB Debian 8.7 console image. The only difference is the flasher script on the last line in /boot/uEnv.txt.

Filename X Desktop Flasher Script
(/opt/scripts/tools/eMMC/)
Free Space Description
bone-debian-8.7-lxqt-4gb-armhf-2017-01-17-4gb.img lxqt none 379 MiB Base for Debian 8.7 with X11 desktop. The flasher script at the end of /boot/uEnv.txt is commented out, and thus wont overwrite the eMMC on boot.
BBBW-blank-debian-8.7-lxqt-4gb-armhf-2017-01-17-4gb.img lxqt init-eMMC-flasher-v3-bbbw.sh 379 MiB Debian 8.7 X11 desktop image. The only difference is the flasher script on the last line in /boot/uEnv.txt.
BBB-blank-debian-8.7-lxqt-4gb-armhf-2017-01-17-4gb.img lxqt init-eMMC-flasher-v3.sh 379 MiB Debian 8.7 X11 desktop image. The only difference is the flasher script on the last line in /boot/uEnv.txt.
The "Free Space" columun indicates the amount of space available on the eMMC once the image has been installed.

When I say the only difference between these builds is the last line of /boot/uEnv.txt, I mean it really is the only difference. I generated the MD5 hash of every file in the images and used diff to locate the differences:

wc -l BBB-blank-debian-8.7-iot-armhf-2017-01-17-4gb.txt 69373 BBB-blank-debian-8.7-iot-armhf-2017-01-17-4gb.txt diff BBB-blank-debian-8.7-iot-armhf-2017-01-17-4gb.txt BBBL-blank-debian-8.7-iot-armhf-2017-01-17-4gb.txt 189c189 < ./boot/uEnv.txt 1278 0978c7bd8d47c36249d0241ce7d25872 ./boot/uEnv.txt --- > ./boot/uEnv.txt 1281 e9a4bd7dc9fb51b14a6a78e54cf25ae2 ./boot/uEnv.txt wc -l BBB-blank-debian-8.7-lxqt-4gb-armhf-2017-01-17-4gb.txt 94479 BBB-blank-debian-8.7-lxqt-4gb-armhf-2017-01-17-4gb.txt diff BBBW-blank-debian-8.7-lxqt-4gb-armhf-2017-01-17-4gb.txt BBB-blank-debian-8.7-lxqt-4gb-armhf-2017-01-17-4gb.txt 210c210 < ./boot/uEnv.txt 1281 395d704aab408ad2f1c458691db43417 ./boot/uEnv.txt --- > ./boot/uEnv.txt 1278 0978c7bd8d47c36249d0241ce7d25872 ./boot/uEnv.txt

In the end, the biggest difference is whether the installation image includes X11.

Most BeagleBone end users can ignore the images that start with bone-debian-... With the flasher script commented out, it is better to stick to the BBx-blank-debian-... installation images.

Last modified: 2017-01-21
Stéphane Charette, stephanecharette@gmail.com
../