<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://massmesh.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Building_the_Firmware</id>
	<title>Building the Firmware - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://massmesh.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Building_the_Firmware"/>
	<link rel="alternate" type="text/html" href="https://massmesh.org/wiki/index.php?title=Building_the_Firmware&amp;action=history"/>
	<updated>2026-09-14T20:18:36Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://massmesh.org/wiki/index.php?title=Building_the_Firmware&amp;diff=1424&amp;oldid=prev</id>
		<title>Stephen304: Correct profile name</title>
		<link rel="alternate" type="text/html" href="https://massmesh.org/wiki/index.php?title=Building_the_Firmware&amp;diff=1424&amp;oldid=prev"/>
		<updated>2019-09-04T00:03:36Z</updated>

		<summary type="html">&lt;p&gt;Correct profile name&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 00:03, 4 September 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l28&quot; &gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;./build massmesh meshnode &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;espressobin&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;./build massmesh meshnode &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;globalscale_espressobin&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l34&quot; &gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ls -l communities/massmesh/meshnode/bin/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;espressobin&lt;/del&gt;/&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ls -l communities/massmesh/meshnode/bin/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;meshnode_espressobin&lt;/ins&gt;/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;total 17976&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;total 17976&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;openwrt-massmesh-meshnode-mvebu-cortexa53-device-globalscale-espressobin.manifest&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;openwrt-massmesh-meshnode-mvebu-cortexa53-device-globalscale-espressobin.manifest&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key massmeshwiki:diff::1.12:old-1362:rev-1424 --&gt;
&lt;/table&gt;</summary>
		<author><name>Stephen304</name></author>
		
	</entry>
	<entry>
		<id>https://massmesh.org/wiki/index.php?title=Building_the_Firmware&amp;diff=1362&amp;oldid=prev</id>
		<title>Stephen304: Created page with &quot;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,...&quot;</title>
		<link rel="alternate" type="text/html" href="https://massmesh.org/wiki/index.php?title=Building_the_Firmware&amp;diff=1362&amp;oldid=prev"/>
		<updated>2019-07-04T04:15:55Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;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,...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;If you prefer to build the MassMesh firmware from the source, you may do so by using our fork of meta-imagebuilder. &lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
In order to build the firmware image, you will need:&lt;br /&gt;
&lt;br /&gt;
# The name of the profile you wish to build&lt;br /&gt;
# The name of the device you wish to build for&lt;br /&gt;
&lt;br /&gt;
There are currently 2 device profiles:&lt;br /&gt;
* &amp;lt;code&amp;gt;meshnode&amp;lt;/code&amp;gt;: This firmware runs the mesh routing and encryption protocol on more powerful devices&lt;br /&gt;
* &amp;lt;code&amp;gt;meshradio&amp;lt;/code&amp;gt;: This firmware configures an addon radio to mesh wirelessly with other mesh radios&lt;br /&gt;
&lt;br /&gt;
Check the device page for your device to determine which profiles are available for that device,&lt;br /&gt;
&lt;br /&gt;
== Build The Image ==&lt;br /&gt;
First, you will need to grab the [https://github.com/massmesh/meta-imagebuilder meta-imagebuilder] repository. This repository has a script in it that builds pre-configured OpenWRT images. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;git clone https://github.com/massmesh/meta-imagebuilder&lt;br /&gt;
cd meta-imagebuilder&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, build the image using the `build` script.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./build massmesh &amp;lt;profile&amp;gt; &amp;lt;device&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replacing &amp;lt;code&amp;gt;&amp;lt;profile&amp;gt;&amp;lt;/code&amp;gt; with the desired profile and &amp;lt;code&amp;gt;&amp;lt;device&amp;gt;&amp;lt;/code&amp;gt; with the target device. For example, the following command would build the meshnode firmware for espressobin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./build massmesh meshnode espressobin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The builder will output the files in &amp;lt;code&amp;gt;communities/massmesh/&amp;lt;profile&amp;gt;/bin/&amp;lt;device&amp;gt;&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -l communities/massmesh/meshnode/bin/espressobin/&lt;br /&gt;
total 17976&lt;br /&gt;
openwrt-massmesh-meshnode-mvebu-cortexa53-device-globalscale-espressobin.manifest&lt;br /&gt;
openwrt-massmesh-meshnode-mvebu-cortexa53-globalscale_espressobin-ext4-sdcard.img.gz&lt;br /&gt;
openwrt-massmesh-meshnode-mvebu-cortexa53-globalscale_espressobin-squashfs-sdcard.img.gz&lt;br /&gt;
sha256sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Stephen304</name></author>
		
	</entry>
</feed>