The Freifunk firmware is based on gluon branch v2020.2.x
You can always find the latest gluon documentation at: https://gluon.readthedocs.io/en/latest/user/site.html
See CHANGELOG for latest changes in our firmware.
We are working with those autoupdater branches:
Build on the site-ffki branch nightly
, probably with BROKEN=1.
These builds are created automatically and will possibly break your devices
without prior notice. Use only if you know what you are doing.
Built on the site-ffki branch release-candidate
. These builds are initiated manually
and should be more or less stable. However they are still in testing for a
reason. Use this if you want to offer your devices as test-platforms for the
upcoming stable releases.
Not built directly but instead release-candidates are "promoted" to stable after they have been thoroughly tested.
You can always find the current release at https://freifunk.in-kiel.de/firmware.html
You can validate your changes to this repository by calling the validate_site.sh file with
tests/validate_site.sh
You can debug lua scripts in modules with
apt install luarocks
luarocks install --local luacheck
tests/validate_site.sh
~/.luarocks/bin/luacheck --config "tests/.luacheckrc" /tmp/site-validate/|grep "(E"
- Usually no commits should affect
release-candidate
directly. - Development for new firmwares takes place in the
nightly
branch. - Buildbot creates new firmwares from
nightly
as needed. - Release for new firmware is prepared through pull request from
nightly
torelease-candidate
- After consensus over pull request, new
release-candidate
is manually built in Gitlab. - Initial signature by developer allows update of
rc
nodes. - After testing,
rc
is promoted to stable and signed by developers.
These Kieler Freifunk firmwares have been released (for details see CHANGELOG ):
- 2018.2.4-925
- Based on Gluon tag 2018.2.4 +2 patches
- 2018.2.3-887
- Based on Gluon tag 2018.2.3 +3 commits (2018.2.x)) +2 patches
- 2018.2.2-747
- Based on Gluon tag 2018.2.2 +1 patch
- 2018.1.4
- Based on Gluon tag 2018.1.4 +1 commit (2018.1.x) +1 patch
- 2018.1.1
- Based on Gluon tag 2018.1.1 +8 commits (2018.1.x)
- 2016.2.7
- Based on Gluon 2016.2.7
- 2016.2.6.2
- Based on Gluon 2016.2.6
- Deactivated legacy ibss meshing protocol
- 2016.2.6.1
- Based on Gluon 2016.2.6
- Activated 11s meshing protocol as well as old ibss meshing protocol
- Eulenfunk Quickfix reboots broken nodes
- 2016.2.5
- Based on Gluon 2016.2.5
- Included acceptance of PPA in config mode
- Included option to register for "Knotenalarm" in config mode
- 2016.2.1
- Based on Gluon 2016.2.1
- Contact information has information about anonymous option (one space)
- Various bugfixes
- 2016.1.6
- Based on Gluon 2016.1.6
- USB-auto-mount for sharing attached USB memory devices (configuration in config-mode)
- 2016.1.5.1
- Based on Gluon 2016.1.5
- Contact information mandatory
- roamguide added but initially deactivated
- 0.9
- Based on Gluon v2016.1.5
- intermediate version to change auto updater branch of old experimental routers to stable
- 0.8.x (experimental)
- Based on Gluon v2015.2
- 0.7.1
- Based on Gluon v2015.1.1 (5.7.2015)
- 0.7
- Based on Gluon 2015.1 (22.5.2015)
- 0.6
- Based on Gluon 2014.4 (30.3.2015)
- 0.5.2
- Based on Gluon 2014.3.1
- 0.5
- Based on Gluon 2014.3
- 0.4.1
- Based on Gluon reference de223ceaf2fd0c9e7892dbaf6a12058fc3fc6269
- 0.4
- Based on Gluon reference 5a4767b78fef2a6c8c9ffd76c69731b9d8b37557
- 0.3.2.1
- Based on Gluon version from 2013-04-02
- 0.3.100-exp
- Based on Gluon reference 2c751d3612a7229de878c40ae724611f2f4f0bee
You can easily create your own experimental firmware with the build script make-release
,
which itself needs following python modules: click and pyyaml
Or build with these commands:
sudo apt-get install git make gcc g++ unzip libncurses5-dev zlib1g-dev subversion gawk bzip2 libssl-dev
git clone https://github.com/freifunk-gluon/gluon.git
cd gluon
git clone https://github.com/freifunk-kiel/ffki-site.git site
make update
D=$(date '+%y%m%d%H%M');
ONLY_11S="ramips-rt305x ramips-mt7621"
BANANAPI="sunxi"
RASPBPI="brcm2708-bcm2708 brcm2708-bcm2709"
X86="x86-64 x86-generic x86-kvm_guest x86-xen_domu"
WDR4900="mpc85xx-generic"
for TARGET in ar71xx-generic ar71xx-mikrotik ar71xx-nand $WDR4900 $RASPBPI $BANANAPI $X86; do
make GLUON_TARGET=$TARGET DEFAULT_GLUON_RELEASE=2016.2.1~rc$D BROKEN=1;
done
Die Firmware wird in unserem GitLab gebaut. Dabei werden die Commit-Ids des gluon Repositories und des Site-Konfigurations-Repositories in der Firmware verankert. Diese Ids kann man in der Startseite der Erweiterten Einstellungen im Config Mode ersehen. Die Git Id ist genau der commit auf dem die Firmware gebaut wurde. Falls dort ein Plus (+) am Ende erscheint ist dies der "Dirty"-Flag. Die Id wurde erzeugt mit
git describe --always --dirty=+