The steps below was tested on a Ubuntu 18.04 workstation, but it should work for most modern Linux distributions. Most notably, it might be that other distributions use different package names & too old versions (see below). ## Convert a 9.4 Debian disk image to support OTA Download images from: https://beagleboard.org/latest-images * http://debian.beagleboard.org/images/bone-debian-9.4-iot-armhf-2018-06-17-4gb.img.xz * https://debian.beagleboard.org/images/bone-debian-9.5-iot-armhf-2018-08-30-4gb.img.xz Extract the xz files into a directory. Open a terminal. First, we need a Mender client binary compatible with the board. Instructions for cross-compiling are available here: https://github.com/mendersoftware/mender#cross-compiling, we recommend using the latest stable tag (1.6.0 at time of writing). Install dependencies (Ubuntu 18.04 packages): sudo apt install mtools parted mtd-utils e2fsprogs u-boot-tools pigz kpartx Now get the mender-convert tool: git clone https://github.com/mendersoftware/mender-conversion-tools.git cd mender-conversion-tools Copy your Hosted Mender tenant token; go to https://hosted.mender.io/ui/#/settings/my-organization and click "Copy to clipboard". (If you do not have an account to Hosted Mender, sign up at https://mender.io/signup) In the same terminal, paste the tenant token into a variable: TENANT_TOKEN="ey..." Replace the two instances to the correct paths below and convert the 9.4 Debian disk image into a disk image supporting full system updates with rollback using Mender with this commmand: ./mender-convert.sh make_all --embedded /bone-debian-9.4-iot-armhf-2018-06-17-4gb.img \ --image bone-debian-9.4-iot-armhf-2018-06-17-4-mender.img --device-type beaglebone \ --mender /mender-1.6.0-arm-linux-gnueabihf --artifact bone-debian-9.4-iot-armhf-2018-06-17-4 \ --hosted-token $TENANT_TOKEN --toolchain arm-linux-gnueabihf --keep This may take 10 minutes, depending on the resources available on your machine. After this your converted image is in output/bone-debian-9.4-iot-armhf-2018-06-17-4-mender.img. Flash this image to a SD card. Ensure your BealgeBone device has Internet connectivity (e.g. through Ethernet cable with DHCP support). Boot your BeagleBone device from the SD card (need to press S2 button during boot). After about 10 minutes, you should see your device Pending authorization in https://hosted.mender.io/ui/#/devices/pending. Authorize your device to join your Hosted Mender account. You shoululd now see your device, as well as inventory information about it under Devices! ## Create an update Artifact containing Debian 9.5 Using the official 9.5 Debian image, we first convert it into a Mender-enabled disk image, just like above: ./mender-convert.sh make_all --embedded /bone-debian-9.5-iot-armhf-2018-08-30-4gb.img \ --image bone-debian-9.5-iot-armhf-2018-08-30-mender.img --device-type beaglebone \ --mender /mender-1.6.0-arm-linux-gnueabihf --artifact bone-debian-9.5-iot-armhf-2018-08-30 \ --hosted-token $TENANT_TOKEN --toolchain arm-linux-gnueabihf --keep Just like above, this should take about 10 minutes. After this your converted image is in output/bone-debian-9.5-iot-armhf-2018-08-30-mender.img. However, this time we will rather use it to generate an Mender Artifact (.mender) containing this new OS release that can be deployed to our existing device. Now install mender-artifact: sudo wget -O /usr/bin/mender-artifact https://d1b0l86ne08fsf.cloudfront.net/mender-artifact/2.3.0/mender-artifact sudo chmod +x /usr/bin/mender-artifact Run this command to create a Mender Artifact (.mender), based on the image we converted above: ./mender-convert.sh make_artifact --image output/bone-debian-9.5-iot-armhf-2018-08-30-mender.img \ --device-type beaglebone --artifact bone-debian-9.5-iot-armhf-2018-08-30 \ --rootfs-type rootfs_a NOTE: If you get an error "mkfs.ext4: invalid option -- 'd'", please upgrade your e2fsprogs package to version 1.44 or later. Your Mender Artifact should now be in output/beaglebone_bone-debian-9.5-iot-armhf-2018-08-30.mender Upload this Mender Artifact to Hosted Mender: https://hosted.mender.io/ui/#/artifacts Then trigger a Deployment to your BeagleBone under Deployments. This may take a while depending on your BeagleBone's network connection (you can calculate ETA given the Artifact size and the speed of the network connection).