build.erfurt.freifunk.net
Dies ist der Firmware-Buildserver.
Serverinformationen
Administratoren
IP/DNS
- build.erfurt.freifunk.net
Dienste
- SSH (Port 1034)
- rsync (Port 873)
Software
- Debian 8 (Jessie)
- Installation-Optionen: SSH-Server, Standard-Systemutilities
- Tools zum Bauen der Gluon-Firmware
Nutzung
Firmware
Verzeichnisstruktur
Alle zum Bau notwendigen Quellen liegen im Ordner
- /data/gluon
Für jede Upstream-Version der Firmware gibt es ein eigenes Verzeichnis.
- upstream/2014.3
- upstream/2014.3.1
- upstream/trunk
Per Symlink zeigen die eigenen Branches
- stable
- beta
- experimental
auf die passenden Upstream-Verzeichnisse.
Die fertigen Firmware-Images liegen im Ordner
- /data/firmware-mirror
Signaturschlüssel
- Privaten Schlüssel erstellen
- ecdsakeygen -s > secret
- Öffentlichen Schlüssel ableiten
- ecdsakeygen -p < secret > public
Der private Schlüssel (secret) ist an sicherer Stelle abzuspeichern und vom Server zu löschen. Er wird nur zum Signieren der Firmware temporär auf den Server kopiert. Der öffentliche Schlüssel sollte im Wiki unter Firmware hinterlegt werden.
Firmware signieren
- auf Server (als Benutzer) per SSH einloggen
- Firmware signieren
- bei der ersten Nutzung von sudo wird das eigene Serverpasswort benötigt („[sudo] password for USERNAME:“)
- bei „Type in secret key:“ muss der eigenen private Firmware-Signaturschlüssel aus der Zwischenablage eingefügt werden
- wenn alles geklappt hat gibt es keine weitere Ausgabe/Fehlermeldung
- Stable-Version signieren
- sudo -u freifunk /home/freifunk/sign.sh /data/gluon/stable/output/images/sysupgrade/stable.manifest
- Beta-Version signieren
- sudo -u freifunk /home/freifunk/sign.sh /data/gluon/beta/output/images/sysupgrade/beta.manifest
- Experimental-Version signieren
- sudo -u freifunk /home/freifunk/sign.sh /data/gluon/experimental/output/images/sysupgrade/experimental.manifest
Node-VPN
Die Konfigurationsdateien für das VPN der Nodes liegt in
- /data/vpn
Installation
Installierte Pakete (System)
- mc
- screen
Installierte Pakete (Firmware bauen)
- make
- git
- python
- bzip2
- gcc
- g++
- libncurses-dev
- libssl-dev
- libz-dev
- gawk
- subversion
- xz-utils
- qemu-utils
- time
Tools für Firmware-Signatur
Quellen
Debian-Pakete einbinden
mape2k baut mithilfe des openSUSE Build Service für ecdsautils und libuecc passende Debian-Pakete. Zur Installation muss nur das Repository und der GPG-Key des Repository eingebunden werden.
- /etc/apt/sources.list.d/ecdsautils.list
/etc/apt/sources.list.d/ecdsautils.list
deb http://download.opensuse.org/repositories/home:/mape2k:/freifunk/Debian_8.0 ./
- Repository-GPG-Key einbinden
- wget -q http://download.opensuse.org/repositories/home:/mape2k:/freifunk/Debian_8.0/Release.key -O - | apt-key add -
Notwendige Pakete
Jetzt einfach das folgende Paket installieren:
- ecdsautils
Firmware-Mirror
Notwendige Pakete
- rsync
Konfiguration
- /etc/rsyncd.conf
/etc/rsyncd.conf
uid = nobody gid = nogroup max connections = 25 socket options = SO_KEEPALIVE [firmware] path = /data/firmware-mirror/ comment = Firmware-Mirror Freifunk Erfurt read only = true
Nachbereitung / Start
- systemctl enable rsync.service
- systemctl start rsync.service
Node-VPN-Keys
Notwendige Pakete
- rsync
Konfiguration
- /etc/rsyncd.conf
/etc/rsyncd.conf
uid = nobody gid = nogroup max connections = 25 socket options = SO_KEEPALIVE [vpn] path = /data/vpn comment = VPN-Keys read only = true hosts allow = 62.141.56.190 2001:1b60:2:12:4328:6:0:909 88.198.234.12 2a01:4f8:201:240f:1::1
Unter „hosts allow“ sind die VPN-Server zu hinterlegen.
Nachbereitung / Start
- systemctl enable rsync.service
- systemctl start rsync.service