Skip to content

Latest commit

 

History

History
83 lines (56 loc) · 2.76 KB

architecture.md

File metadata and controls

83 lines (56 loc) · 2.76 KB

Architectural Overview

NYC Mesh is built on top of several non-trivial systems. The very very short version is: nycmeshfeed is an OpenWRT feed which customizes qMp.

If that made any sense to you, then you've probably worked with OpenWRT before, and might not need this document. Otherwise, read on for an explanation...

Background: qMp, OpenWRT, feeds

NYC Mesh is built on qMp (Quick Mesh Project) which is, in turn, built on OpenWRT. This section provides a (very) brief overview of the components, explaining how OpenWRT is customized by qMp and NYC Mesh.

OpenWRT

OpenWRT is a project which provides open source firmware for a wide variety of router hardware. The OpenWRT firmware is a Linux-based operating system with using the opkg package manager. OpenWRT is highly customizable, and can be built with a variety of third-party software.

Resources:

OpenWRT: Feeds

In OpenWRT, a feed is a collection of packages which share a common location. Adding feeds to OpenWRT allows one to add a new repository of software, which can then be built along with the firmware. qMp adds its own feeds into the OpenWRT configuration to customize it, as does NYC Mesh. That is why this repo is called nycmeshfeed -- this is the OpenWRT feed for NYC Mesh.

Resources:

qMp: additional additions

qMp adds its own build and configuration system (qmpfw) to simplify building a qMp firmware. To learn more about qMp, see the docs below. The very short summary is that qMp adds mesh routing facilities (bmx6) to OpenWRT.

NYC Mesh further customizes qMp, using the qMp build system (qmpfw).

Resources:

Customizations

The nycmeshfeed customizations over qMp live in /packages. Primarily, NYC Mesh adds the specific configuration for the project, and VPN via tinc.

Structure and file details are here: Files

todo: perhaps there should be a document explaining how vpn is used in NYC Mesh and such. the rationale behind the things etc?

Next Steps

Find out more about building the project:

Find out more about the project structure:

Find out more about mesh networking and related topics: