Der Autoupdater ist ein Program das auf dem Router läuft und in Intervallen unter einer angegebenen Adresse nach neuen Versionen der Fimrware sucht. Wird eine gefunden wird eine neue Firmware heruntergeladen und installiert. Das Autoupdater Paket stammt aus dem Gluon Projekt und wurde nahezu identisch übernommen (bis auf die Abhängigkeiten zu den anderen Paketen von Gluon). Um zu verhinden das andere Leute ein fremdes Images ins Netz stellen werden die Images von einer oder mehreren Personen signiert. Jede dieser Personen muss einen geheimen (secret key) und den dazugehörigen öffentlichen Schlüssel (public key) generieren. Zum generieren eines Schlüsselpaares wird ecdsautils verwendet. Installation: wget http://git.universe-factory.net/libuecc/snapshot/libuecc-4.zip unzip libuecc-4.zip cd libuecc-4 cmake . make make install cd .. apt-get install pkg-config wget https://github.com/tcatm/ecdsautils/archive/v0.3.2.zip unzip v0.3.2.zip cd ecdsautils-0.3.2/ cmake . make make install cd .. ldconfig Nun kann ein neues Schlüsselpaar (bestehend aus zwei Dateien) generiert werden: ecdsakeygen -s > secret.key ecdsakeygen -p < secret.key > public.key Auf dem Router sind in der Konfigurationsdatei /etc/config/autoupdater im Eintrag "mirror" die Adresse und Pfad eingetragen unter dem die images (und das sogenannte manifest) zu finden sind. Die Datei manifest sieht z.B. folgendermaßen aus: BRANCH=stable # model version sha512sum filename tp-link-tl-wdr4300-v1 0.4 c300c2b80a8863506cf3b19359873c596d87af3183c4826462dfb5aa69bec7ce65e3db23a9f6f779fd0f3cc50db5d57070c2b62942abf4fb0e08ae4cb48191a0 gluon-0.4-tp-link-tl-wdr4300-v1-sysupgrade.bin # after three dashes follow the ecdsa signatures of everything above the dashes --- 49030b7b394e0bd204e0faf17f2d2b2756b503c9d682b135deea42b34a09010bff139cbf7513be3f9f8aae126b7f6ff3a7bfe862a798eae9b005d75abbba770a Die Signatur wird erzeugt indem die drei Bindestriche und alles danach entfernt wird. Damit wird dann die Signatur erzeugt. ecdsasign manifest < secret.key Jede Signatur wird an das Manifest angehängt (eine Signatur pro Zeile). Die Signaturen von allen Personen werden an das Manifest angehängt. Nach der letzten Signatur folgt eine abschließenden leere Zeile. **Hinweis:** * Die Spalten im manifest dürfen nur mit *einem* Leerzeichen getrennt werden * Die Bezeichnung des Routermodells im Manifest (z.B. "tp-link-tl-wdr4300-v1") wir mit folgender Zeile erstellt: cat /tmp/sysinfo/model | tr '[A-Z]' '[a-z]' | sed -r 's/[^a-z0-9]+/-/g;s/-$//'