Building the Firmware

Jump to navigation Jump to search

If you prefer to build the MassMesh firmware from the source, you may do so by using our fork of meta-imagebuilder.

Prerequisites

In order to build the firmware image, you will need:

  1. The name of the profile you wish to build
  2. The name of the device you wish to build for

There are currently 2 device profiles:

  • meshnode: This firmware runs the mesh routing and encryption protocol on more powerful devices
  • meshradio: This firmware configures an addon radio to mesh wirelessly with other mesh radios

Check the device page for your device to determine which profiles are available for that device,

Build The Image

First, you will need to grab the meta-imagebuilder repository. This repository has a script in it that builds pre-configured OpenWRT images.

git clone https://github.com/massmesh/meta-imagebuilder
cd meta-imagebuilder

Next, build the image using the `build` script.

./build massmesh <profile> <device>

Replacing <profile> with the desired profile and <device> with the target device. For example, the following command would build the meshnode firmware for espressobin:

./build massmesh meshnode globalscale_espressobin

The builder will output the files in communities/massmesh/<profile>/bin/<device>:

ls -l communities/massmesh/meshnode/bin/meshnode_espressobin/
total 17976
openwrt-massmesh-meshnode-mvebu-cortexa53-device-globalscale-espressobin.manifest
openwrt-massmesh-meshnode-mvebu-cortexa53-globalscale_espressobin-ext4-sdcard.img.gz
openwrt-massmesh-meshnode-mvebu-cortexa53-globalscale_espressobin-squashfs-sdcard.img.gz
sha256sums

Check the wiki page for your device to determine the proper file to flash when there are multiple. Alternatively, the OpenWrt documentation can help explain the different types of output files.