Mesh Network: Images
+Mesh Network: Images
Pre-built Disk Images
-Writing many images quickly
-Pre-built Disk Images
+Writing many images quickly
+There may be situations where you need to write the same disk image to multiple drives at the same time in order to maximize rate of deployment. In the instructions given below the dd command is used for writing to the target drive, but to write to multiple drives you can use a tool such as GNOME MultiWriter.
@@ -262,6 +170,7 @@ For example on Arch/Parabola:sudo pacman -S gnome-multi-writer
sudo apt-get install gnome-multi-writer
Client images
-Client images
+
@@ -293,14 +203,57 @@ The MultiWriter tool is also available within mesh client images, so that you ca
"Client" isn't exactly the right term, but it's a mesh peer with a user interface. These images can be copied to a USB drive, then you can plug it into a laptop/netbook/desktop machine and boot from it. You will probably also need an Atheros USB wifi dongle (the black protruding object on the left side of the netbook in the picture above), because most built-in wifi usually requires proprietary firmware. In the commands below substitute /dev/sdX with the USB drive device, excluding any trailing numbers (eg. /dev/sdb). The USB drive you're copying to will need to be at least 16GB in size.
+Install some prerequisites: +
+sudo apt-get install xz-utils wget -wget https://freedombone.net/downloads/v31/freedombone-meshclient-i386.img.xz ++
+To download images with dat: +
+ +dat clone dat://e2ed9767d6ab64f4c43a2adbce65af225133fec7ba95737f0a2f6ae292ba358e/ +cd e2ed9767d6ab64f4c43a2adbce65af225133fec7ba95737f0a2f6ae292ba358e ++
+Or to download images directly with wget (may be slower): +
+ +wget https://freedombone.net/downloads/v31/freedombone-meshclient-i386.img.xz wget https://freedombone.net/downloads/v31/freedombone-meshclient-i386.img.xz.sig -gpg --verify freedombone-meshclient-i386.img.xz.sig ++
+Check the signature: +
+ +gpg --verify freedombone-meshclient-i386.img.xz.sig unxz freedombone-meshclient-i386.img.xz -sudo dd if=/dev/zero of=/dev/sdX bs=32M count=8 -sudo dd bs=32M if=freedombone-meshclient-i386.img of=/dev/sdX conv=fdatasync,sync,noerror ++
+Then clone to the USB drive, where sdX is your USB device: +
+ +sudo dd if=/dev/zero of=/dev/sdX bs=32M count=8 +sudo dd bs=32M if=freedombone-meshclient-i386.img of=/dev/sdX conv=fdatasync,sync,noerror
+Install some prerequisites: +
+sudo apt-get install xz-utils wget -wget https://freedombone.net/downloads/v31/freedombone-meshclient-insecure-i386.img.xz ++
+To download images with dat: +
+ +dat clone dat://6d1b73d13b6f9b5c481c6dfd64be6aa58e1cd2d153a6bb04bbc177999ee9925e/ +cd 6d1b73d13b6f9b5c481c6dfd64be6aa58e1cd2d153a6bb04bbc177999ee9925e ++
+Or to download images directly with wget (may be slower): +
+ +wget https://freedombone.net/downloads/v31/freedombone-meshclient-insecure-i386.img.xz wget https://freedombone.net/downloads/v31/freedombone-meshclient-insecure-i386.img.xz.sig -gpg --verify freedombone-meshclient-insecure-i386.img.xz.sig ++
+Check the signature: +
+ +gpg --verify freedombone-meshclient-insecure-i386.img.xz.sig unxz freedombone-meshclient-insecure-i386.img.xz -sudo dd if=/dev/zero of=/dev/sdX bs=32M count=8 -sudo dd bs=32M if=freedombone-meshclient-insecure-i386.img of=/dev/sdX conv=fdatasync,sync,noerror ++
+Then clone to the USB drive, where sdX is your USB device: +
+ +sudo dd if=/dev/zero of=/dev/sdX bs=32M count=8 +sudo dd bs=32M if=freedombone-meshclient-insecure-i386.img of=/dev/sdX conv=fdatasync,sync,noerror
Router images
-Router images
+Routers are intended to build network coverage for an area using small and low cost hardware. You can bolt them to walls or leave them on window ledges. They don't have any user interface and their only job is to haul network traffic across the mesh and to enable peers to find each other via running bootstrap nodes for Tox and IPFS. Copy the image to a microSD card and insert it into the router, plug in an Atheros wifi dongle and power on. That should be all you need to do.
Beaglebone Black
-Beaglebone Black
+
@@ -346,14 +342,13 @@ The above picture shows a Beaglebone Black with the image copied onto a microSD
sudo apt-get install xz-utils wget wget https://freedombone.net/downloads/v31/freedombone-mesh_beaglebone-armhf.img.xz wget https://freedombone.net/downloads/v31/freedombone-mesh_beaglebone-armhf.img.xz.sig gpg --verify freedombone-mesh_beaglebone-armhf.img.xz.sig -sha256sum freedombone-mesh_beaglebone-armhf.img.xz -ad8f22c0d46c98a80aa47b5809402971cf5cf26ebf587c59a667307b2386c3d2 unxz freedombone-mesh_beaglebone-armhf.img.xz -sudo dd bs=32M if=freedombone-mesh_beaglebone-armhf.img of=/dev/sdX conv=fdatasync,sync,noerror +sudo dd bs=32M if=freedombone-mesh_beaglebone-armhf.img of=/dev/sdX conv=fdatasync,sync,noerror
Building Disk Images
-Building Disk Images
+It's better not to trust images downloaded from random places on the interwebs. Chances are that unless you are in the web of trust of the above GPG signatures then they don't mean very much to you. If you actually want something trustworthy then build the images from scratch. It will take some time. Here's how to do it.
@@ -381,12 +376,13 @@ First you will need to create an image. On a Debian based system (tested on Debisudo apt-get -y install git wget build-essential wget https://freedombone.net/downloads/v31/freedombone.tar.gz wget https://freedombone.net/downloads/v31/freedombone.tar.gz.sig gpg --verify freedombone.tar.gz.sig tar -xzvf freedombone.tar.gz -cd freedombone +cd freedombone git checkout stretch sudo make install freedombone-image --setup debian @@ -399,6 +395,7 @@ If you don't have Atheros or free software compatible wifi adapter then you can+@@ -412,6 +409,7 @@ List what drives are on your system with:freedombone-image -t i386 -v meshclient --insecure yes+@@ -425,8 +423,9 @@ You can now copy the image to the USB thumb drive, replacing sdX with thels /dev/sd*-@@ -447,6 +446,7 @@ You can also use single board computers (SBCs) such as the BeagleBone Black to msudo dd if=/dev/zero of=/dev/sdX bs=32M count=8 -sudo dd bs=32M if=myimagefile.img of=/dev/sdX conv=fdatasync,sync,noerror + +sudo dd if=/dev/zero of=/dev/sdX bs=32M count=8 +sudo dd bs=32M if=myimagefile.img of=/dev/sdX conv=fdatasync,sync,noerror+freedombone-image -t beaglebone -v mesh