Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
freifunk:anleitungen:rollout [2018-06-28 14:16] – [Firmware bauen] tux | freifunk:anleitungen:rollout [2018-07-24 19:31] (aktuell) – [Firmware hochladen] tux | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Firmware Rollout ====== | ||
+ | Wie kommen kompilierte Firmware-Images auf Server und Geräte? | ||
+ | |||
+ | ===== Checkliste ===== | ||
+ | * Firmware als stable bauen | ||
+ | * Manifest signieren lassen (Wahl der Schlüssel so, dass für alle aktiven Versionen gültige Signaturen vorhanden sind) | ||
+ | * Firmware und signiertes Manifest ablegen (gw1, / | ||
+ | * Symlink latest auf entsprechende Firmware setzen | ||
+ | * Info über Mailingliste | ||
+ | * Blogeintrag schreiben | ||
+ | * Ankündigung auf Twitter/ Facebook | ||
+ | * Anpassung der Download-Seite (https:// | ||
+ | |||
+ | ===== Firmware bauen ===== | ||
+ | |||
+ | Wir nutzen [[https:// | ||
+ | |||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | Per default wird für // | ||
+ | |||
+ | site/ | ||
+ | |||
+ | |||
+ | ===== Firmware signieren ===== | ||
+ | |||
+ | In der '' | ||
+ | |||
+ | Gluon enthält ein Skript zum Signieren, Voraussetzung sind die // | ||
+ | |||
+ | contrib/ | ||
+ | |||
+ | Wie die Entwickler die Manifest-Dateien zum Hinzufügen mehrerer Signaturen austauschen, | ||
+ | |||
+ | ==== Schlüsselerzeugung mit ecdsautils ==== | ||
+ | |||
+ | Installation kann aus dem [[https:// | ||
+ | |||
+ | === bis 0.3.2 === | ||
+ | |||
+ | < | ||
+ | % ecdsakeygen -h | ||
+ | ecdsautils 0.3.2 | ||
+ | |||
+ | Usage: ecdsakeygen [-s] [-p] [-h] | ||
+ | -s generate a new secret on stdout | ||
+ | -p output public key of secret read from stdin | ||
+ | -h display this short help and exit | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | % ecdsakeygen -s > secret | ||
+ | % cat secret | ||
+ | 68b12c0eaf88bf17fbcdf560780136b9cc4be352fb8aa7148215fbd65887db7b | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | % ecdsakeygen -p < secret | ||
+ | 1f63ef7450760af9062ff697995eb536eef25a555822087fa4cfd9a82d9faa79 | ||
+ | </ | ||
+ | |||
+ | === ab 0.4.0 === | ||
+ | |||
+ | < | ||
+ | % ecdsautil generate-key > secret | ||
+ | % cat secret | ||
+ | 68b12c0eaf88bf17fbcdf560780136b9cc4be352fb8aa7148215fbd65887db7b | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | % ecdsautil show-key < secret | ||
+ | 1f63ef7450760af9062ff697995eb536eef25a555822087fa4cfd9a82d9faa79 | ||
+ | </ | ||
+ | |||
+ | === Schlüssel sicher speichern === | ||
+ | |||
+ | Der erzeugte Schlüssel ist ebenso sorgfältig abzulegen wie private Schlüssel von PGP oder SSH. Leserechte sollte nur der Nutzer haben: | ||
+ | |||
+ | < | ||
+ | % chmod go-rwx secret | ||
+ | % ls -l secret | ||
+ | -rw------- 1 adahl adahl 65 Jan 31 15:07 secret | ||
+ | </ | ||
+ | |||
+ | ===== Firmware hochladen ===== | ||
+ | |||
+ | Die Firmware-Images plus Manifest mit Signatur(en) wird vom Build-Rechner auf den Webserver kopiert, dazu kann bspw. //rsync// genutzt werden. | ||
+ | |||
+ | rsync -rlthcvz output/ | ||
+ | |||
+ | Anschließend auf dem Webserver kontrollieren, | ||
+ | |||
+ | Der Webserver hat die Images in einer Ordnerstruktur liegen (nicht doppelt), liefert aber je nach VHOST ggf. unterschiedliche Seiten/ | ||
+ | |||
+ | Symlinks: | ||
+ | * LATEST im Firmware-Oberverzeichnis (z.B. stable/ | ||
+ | * manifest auf z.B. manifest.stable |