Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| intern:boot3 [2014/01/11 09:40] – Bootloader 4 ergänzt. svesch | intern:boot3 [2025/06/11 20:35] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Bootloader 4 ====== | ||
| + | |||
| + | Die Unterscheidung zwischen Lizenzkunden und Originalkunden wird aufgegeben. | ||
| + | Alle Images werden mit dem pro-key verschlüsselt. | ||
| + | Die Images werden nun auch auf der MoBaCon-Webseite veröffentlicht (ist einfacher als sie per Mail rumzuschicken). | ||
| + | |||
| + | Der Updatemechanismus mit auf MAC-Adresse verschlüsselten Updates wird jedoch beibehalten. | ||
| + | |||
| + | |||
| + | ====== Bootloader 3 ====== | ||
| + | |||
| + | ===== Funktionsumfang ===== | ||
| + | |||
| + | Flashen eines mit XTEA verschlüsselten Binaries welches im TFTP-Binärmodus übertragen wird. | ||
| + | Das Auslesen des geflashten Images ist im Nachhinein nicht mehr möglich. | ||
| + | Es ist nicht möglich, Images zu flashen, die nicht mit dem korrekten Schlüssel verschlüsselt wurden. | ||
| + | |||
| + | Es existieren derzeit zwei verschiedene Schlüssel, einer für Lizenzkunden (keypro_license.bin) und einer für Originalkunden (keypro_license.bin). Für spezielle Anforderungen können auch andere Schlüssel erzeugt werden. | ||
| + | |||
| + | |||
| + | ===== Lizenzkunden ===== | ||
| + | Diese Kunden haben bereits einen oder mehrere Netzer mit installiertem Bootloader 2. | ||
| + | Dieser wurde bei Elektor oder MoBaCon im Shop gekauft. | ||
| + | Mit der Lizenz (im Shop gekauft) erwirbt der Kunde ein Lizenz-File für **einen** Netzer. | ||
| + | Dieser wird mit der MAC-Adresse identifiziert. | ||
| + | Die MAC-Adresse muss vom Kunden bei der Bestellung mit angegeben werden! | ||
| + | |||
| + | Mit dem Lizenzfile kann ein Netzer von Bootloader 2 auf Bootloader 3 migriert werden. Im Anschluss kann jedes beliebige Image, welches mit dem richtigen Schlüssel verschlüsselt wurde aufgeflasht werden. | ||
| + | |||
| + | ===== Originalkunden ===== | ||
| + | Diese Kunden kaufen einen oder mehrere Netzer mit bereits installiertem Bootloader 3. | ||
| + | Dieser wurde beim Elektronikladen oder MoBaCon im Shop gekauft. | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Die Images für Originalkunden und Lizenzkunden unterscheiden sich, da sie mit verschiedenen Schlüsseln verschlüsselt werden! Das zugrundeliegende Hexfile ist jedoch das Gleiche. Ein kleiner Unterschied besteht dennoch: Der Versionsstring enthält bei der Lizenzversion zur besseren Unterscheidung noch ein **lic**. | ||
| + | </ | ||
| + | |||
| + | ===== Releasefiles ===== | ||
| + | |||
| + | Das Release wird mittels des Shell-Scripts releasePro.sh im root des Netzer-Projektverzeichnisses erstellt. Das Script wird nur aufrufen, wenn auch ein Release ansteht. Sonst findet sich im Releases-Ordner der entsprechende Ordner für das neueste Release. | ||
| + | |||
| + | Folgende Files sind im Release enthalten: | ||
| + | * **txt-Files** für die Dokumentation - sie sind mit den Files der Basis-Version identisch | ||
| + | * **boot3udate_MACless.hex** - Ein Hex-Update von Bootloader 2 auf Bootloader 3 (unabhängig von der MAC-Adresse) | ||
| + | * **NetzerIObase.bin** - Die verschlüsselte Basis-Version für Neukunden | ||
| + | * **NetzerIOpro.bin** - Die verschlüsselte Pro-Version für Neukunden | ||
| + | * **NetzerIOpro_license.bin** - die verschlüsselte Pro-Version für Lizenz-Kunden | ||
| + | * **NetzerIObase.hex** - die unverschlüsselte Basis-Version für Neukunden | ||
| + | * **NetzerIOpro.hex** - die unverschlüsselte Pro-Version für Neukunden | ||
| + | * **NetzerIOpro_license.hex** - die unverschlüsselte Pro-Version für Lizenzkunden | ||
| + | |||
| + | Was **nicht** enthalten ist: | ||
| + | * **NetzerIObase_license.hex** - die unverschlüsselte Basis-Version für Lizenz-Kunden macht keinen Sinn, da die Basisversion frei downloadbar ist und mit Boot 2 nach wie vor installiert werden kann. | ||
| + | * **NetzerIObase_license.bin** - die verschlüsselte Basis-Version für Lizenz-Kunden macht keinen Sinn, da die Basisversion frei downloadbar ist und mit Boot 2 nach wie vor installiert werden kann. | ||
| + | * **Lizenz-Files** - Diese müssen aufgrund des MAC-Stempels für jeden Kunden individuell generiert werden. | ||
| + | |||
| + | |||
| + | |||
| + | ==== Update des Netzers für Lizenzkunden ==== | ||
| + | |||
| + | Lizenz-Kunden, | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Sollte fälschlicherweise eine Netzer mit der falschen MAC-Adresse beschrieben werden, hilft nur ein Löschen mit ICD! | ||
| + | </ | ||
| + | |||
| + | |||
| + | Zunächst wird boot3 gebaut mit Referenz auf den Schlüssel keypro_license.key. | ||
| + | Danach wird das update von boot2 auf boot3 ebenfalls mit Referenz auf den Schlüssel keypro_license.key gebaut. Es muss außerdem die MAC-Adresse für das Target-Device angegeben werden. | ||
| + | |||
| + | All das erledigt das Shell-Script **" | ||
| + | Die MAC-Adresse wird diesem Script als Kommandozeilenparameter übergeben in Form von XX-XX-XX-XX-XX-XX. | ||
| + | Ergebnis des Shell-Scripts ist ein Intel-Hexfile. Der Filename enthält die MAC-Adresse des Ziel-Netzers um Verwechslungen vorzubeugen. | ||
| + | |||
| + | Das verschlüsselt Image (**NetzerIOpro_license.bin**) für die Pro-Version erhalten die Kunden per e-Mail. | ||
| + | |||
| + | Kunden führen nun die folgenden Flash-Befehle aus: | ||
| + | - Update auf Boot3: < | ||
| + | - Installieren der Pro Version: < | ||
| + | |||
| + | Schritt 2 wird auch dann ausgeführt, | ||
| + | ==== Update des Netzers für Originalkunden ==== | ||
| + | |||
| + | Durch Aufruf des Shell-Sciptes " | ||
| + | |||
| + | Es wird auch das Image für License-Kunden mitgebaut, das ist für einfacheres Deployment auf die Webseiten gedacht (nutzerabhängiger Download). | ||
| + | |||
| + | Außerdem wird boot3 mit dem richtigen Keyfile (keypro.key) gebaut und ein MAC-unabhängiges bootupdate gebaut (boot3update_MACless.hex). | ||
| + | Alle(!) Netzer mit installierten boot2 können mittels diesem bootupdate auf Original boot3 gezogen werden. Anschliessend kann die base- oder pro-Version geflasht werden. | ||
| + | |||
| + | Update auf Boot3 (boot3udate_MACless.hex ist ein MAC-unabhängiges Update-File): | ||
| + | < | ||
| + | |||
| + | Installieren der Pro-Version: | ||
| + | < | ||
| + | |||
| + | Installieren der Base-Version: | ||
| + | < | ||
| + | |||