Update

Der Update Service der D-Serie

  • lädt eine update_info.xml herunter
  • liest die dort beschriebene Versionsinfo
  • startet bei Bedarf das Update System

Wenn aktiv, prüft das Telefon nach jedem Provisioning auf neue Updates. Dazu nutzt es die URL aus der Konfiguration. Der Server muss unter der angegebenen URL eine Datei mit dem Namen update_info.xml anbieten. Die Update-Info XML teilt dem Update-Service die Version des ROM-Files mit, ohne das ein Download des ROMs notwendig ist. Die Option Updates automatisch installieren erlaubt die direkte Installation einer neuen Firmware.

Das Update System der D-Serie

  • lädt Update-Dateien herunter
  • prüft die Signatur und Größe einer Update-Datei
  • schreibt die Inhalte auf die Partitionen

Die update_info.xml sieht wie folgt aus:

update_info.xml
<UpdateInfo>
    <Version name="1.0A-00000" url="http://192.168.1.239/update.rom"/>
</UpdateInfo>

Das folgende XSD validiert solche Dateien:

update_info.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="UpdateInfo">
    <xsd:complexType>
      <xsd:all>
        <xsd:element name="Version">
          <xsd:complexType>
            <xsd:attribute name="name" type="nameType" use="required"/>
            <xsd:attribute name="url" type="xsd:anyURI" use="required"/>
          </xsd:complexType>
        </xsd:element>
      </xsd:all>
    </xsd:complexType>
  </xsd:element>
 
  <xsd:simpleType name="nameType">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="\d+\.\d+[A-Z]-\d{5}(-\d+-g[0-9a-f]{6,20})?"/>
    </xsd:restriction>
  </xsd:simpleType>
</xsd:schema>