build.erfurt.freifunk.net

Dies ist der Firmware-Buildserver.

Serverinformationen

Administratoren

mape2k (Inhaber/Bereitsteller)

bt909

suicider

hipposen

IP/DNS

build.erfurt.freifunk.net

144.76.76.98

2a01:4f8:191:9461:12::1

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

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

Tools für Firmware-Signatur

Quellen

ecdsautils

libuecc

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

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

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