This is building FFMD firmware in a nutshell. For more on options or building specific branches please refer to the build script, the official Gluon repository at GitHub, or the official Gluon documentation.
To compile the firmware you need a working build environment and packages for git, subversion, gawk, unzip, ncurses headers and zlib headers.
On Debian GNU/Linux, install like this:
sudo aptitude install git subversion build-essential gawk unzip libz-dev libncurses-dev
Then download and build as follows:
git clone git://github.com/freifunk-gluon/gluon.git # Get the official Gluon repository
cd gluon
git clone git://github.com/FreifunkMD/site-ffmd.git site # Get the Freifunk Magdeburg site repository
make update # Fetch all repositories
./site/build.sh
In order to get a more verbose output, e.g. in case of build errors, you can call
./site/build.sh -v
The build script without any further arguments creates an experimental
build.
Add the arguments beta
or stable
to create builds for the respective branches.
Any build other than experimental should be coordinated with the FFMD community.
For more information on the build script arguments, call
./site/build.sh -h
Note: Unless specified otherwise, the firmware is built for multiple targets.
You need at least 50 GB of free space in the directories output/
and openwrt/build_dir/
!
There is a prepared Docker image for building the FFMD firmware, which can be found in the gluon-docker repository.
Clone the repository and follow the instruction in the respective README.md.
If possible, use the Config Mode to update your node.
In case you do not have physical access to your router, an update can be performed using SSH. You can set a password or a SSH public key in config mode and should do this before you make it physically unaccesible.
For the update connect to your device via IPv6 and issue the following commands, using the firmware file that matches your device:
cd /tmp
wget http://firmware.md.freifunk.net/stable/LATEST/sysupgrade/gluon-ffmd-0.28-tp-link-tl-wr841n-nd-v9-sysupgrade.bin
sync; sysctl -w vm.drop_caches=3
sysupgrade gluon-ffmd-0.28-tp-link-tl-wr841n-nd-v9-sysupgrade.bin
Be sure you know what you are doing!
You can also trigger the automatic update via ssh, just call this (or add -f for forced auto update):
autoupdater
Verify a successful upgrade by
- checking that the node is back up and running (i.e. visible in the nodes list)
- checking that the host name and your login data are still available. A failed sysupgrade may leave the node in a state of running Freifunk with a weird configuration.
The changelog can be found in CHANGELOG.md.
The firmware configuration is licensed under CC0 license, which can be found in LICENSE.
If you want to contribute, please have a look at our contribution notes.