Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
intern:boot3 [2011/12/21 19:37] – [Update des Netzers für Originalkunden] 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: | ||
+ | < | ||
+ | |||