Mit Hilfe eines Update-Pakets können Container samt zugehöriger Konfiguration auf dem Router installiert werden. Container ermöglichen das Ausführen eigener Anwendungen auf dem Router in einer getrennten Linux-Umgebung.

Container mit der entwickelten Applikation müssen zu einem Update-Paket geschnürt werden, um auf den Router hochgeladen werden zu können. Container-Update-Pakete müssen mindestens folgende Dateien enthalten:

  • Container-Datei (root-Verzeichnis des Containers gepackt als tar-Archiv)

  • ASCII-Konfigurationsdatei (für die Installation und Konfiguration des Containers auf dem Router)

  • Manifest (Datei mit der Definition der Inhalte des Update-Pakets)

Situation

Sie haben eine Applikation für Ihre Router entwickelt. Um diese auf mehrere Router zu installieren werden Update-Pakete verwendet.

Es gibt zwei Möglichkeiten, um den Container und die ASCII-Konfigurationsdatei in ein Update-Paket zu packen:

  • Mit dem icom Router Management

  • Manuelle Erstellung

Im Folgenden werden beide Möglichkeiten beschrieben.

Lösung

Als Beispiel für einen Container wird der Container der icom Data Suite verwendet. Die ASCII-Datei zur Installation und Konfiguration des Containers auf dem Router wird manuell erstellt. Für das manuelle Erzeugen des Update-Pakets (ohne icom Router Management) wird noch die Manifest-Datei erstellt. Aus diesen Dateien wird das Update-Paket erstellt.

Vorbereiten der Container-Datei

So laden Sie das Update-Paket der icom Data Suite herunter und entpacken es, um eine Container-Datei für dieses Beispiel zu erhalten.

  1. Laden Sie die icom Data Suite herunter.

  2. Öffnen Sie Ihr Download-Verzeichnis in einem Dateimanager und entpacken Sie das Update-Paket in ein Verzeichnis.

  3. Wechseln Sie in dieses Verzeichnis. Die Datei icom_data_suite.tar.xz ist der Container der icom Data Suite.

  4. Kopieren Sie diese Datei in Ihr Arbeitsverzeichnis.

Damit haben Sie die Container-Datei vorliegen, die in das Update-Paket gepackt wird.

Erstellen der ASCII-Konfigurationsdatei

So erstellen Sie eine ASCII-Datei zur Konfiguration des Containers auf dem Router.

  1. Öffnen Sie Ihr Arbeitsverzeichnis in einem Dateimanager.

  2. Erstellen Sie eine Textdatei mit einem geeigneten Namen, z.B. ascii_config.txt und öffnen Sie diese in einem Texteditor.

  3. Kopieren Sie den Inhalt der Vorlage unten in die Textdatei.

  4. Passen Sie die Parameter ggf. an Ihre Anforderungen an, z.B. die IP-Adresse.

  5. Speichern Sie die Konfigurationsdatei.

Vorlage für ASCII-Konfigurationsdatei
administration.container.container.delete=all (1)

administration.container.container.add=1 (1)

administration.container.sms_forward=1 (2)
administration.container.input_forward=1 (3)
administration.container.sms_oid=3 (2)
administration.container.input_oid=4 (3)

administration.container.container[1].name=container1 (4)
administration.container.container[1].active=1 (5)
administration.container.container[1].designator=icom_data_suite (6)
administration.container.container[1].ip_net=net1 (7)
administration.container.container[1].mac= (8)
administration.container.container[1].ipv4_address=192.168.1.13 (9)
administration.container.container[1].netmask=24 (9)
administration.container.container[1].ipv6_address= (9)
administration.container.container[1].prefix= (9)
administration.container.container[1].config_in_profile=0 (10)
administration.container.container[1].log_console=0 (11)
administration.container.container[1].cli_group=readwrite (12)

administration.container.container[1].licence=-(13)

administration.container.container[1].ipv4_gateway= (14)
administration.container.container[1].ipv6_gateway= (14)

administration.profiles.activate (15)
1 Löscht alle möglicherweise vorhandenen Container vom Router und fügt einen neuen Container hinzu
2 Aktiviert das Weiterleiten eingehender SMS an die Container und definiert die dafür vorgesehene MCIP-OD
3 Aktiviert das Weiterleiten von Ereignissen an den Eingängen an die Container und definiert die dafür vorgesehene MCIP-OD
4 Weist dem neuen Container einen Namen zu
5 Aktiviert den Container, so dass dieser bei jedem Systemstart wie ein echter Rechner hochgefahren wird
6 Weist dem neuen Container den Bezeichner zu, der ihn eindeutig mit der Container-Konfiguration verknüpft
7 Fügt den Container zu dem hier angegebenen IP-Netz hinzu
8 Weist dem Container eine feste MAC-Adresse zu (ansonsten wird dem Container eine zufällig erzeugte MAC zugewiesen)
9 Weist dem Container diese statische IP-Adresse zu, unter der der Container im oben verbundenen Netzwerk von außen zu erreichen ist
10 Fügt das Verzeichnis /data/etc des Containers bei einem Download des binären Profils diesem hinzu
11 Lässt sämtliche Konsolen-Ausgaben des Containers in einem Log erscheinen
12 Legt die Benutzergruppe des Containers für den Zugriff auf die Kommandozeile (CLI) des Routers ohne Authentifizierung fest
13 Ermöglicht die Übergabe einer Lizenzdatei für den Container
14 Definiert ein Default-Gateway für die Weiterleitung aller nicht an dieses Subnetz gerichteten Anfragen
15 Aktiviert die Änderungen durch die ASCII-Konfigurationsdatei direkt nach dem Hochladen

Damit haben Sie die ASCII-Konfigurationsdatei vorliegen, die in das Update-Paket gepackt wird.

Erstellen des Update-Pakets

Das Erstellen des Update-Pakets ist auf zwei Arten möglich:

  • Automatisch im icom Router Management

  • Manuell auf dem Rechner

Erstellen des Update-Pakets im icom Router Management

So erstellen Sie ein Update-Paket im Dienst icom Router Management.

  1. Rufen Sie das icom Router Management auf und melden Sie sich an.

  2. Wählen Sie links im Menü Update-Pakete und schalten sie dann mit auf die Ansicht Ressourcen um.
    cg de m3 creating container update 01

  3. Ziehen Sie die ASCII-Konfigurationsdatei aus Ihrem Arbeitsverzeichnis auf das Dateifeld, wählen Sie als Datei-Typ ASCII-Configuration aus und klicken Sie auf Hochladen
    cg de m3 creating container update 02

  4. Ziehen Sie die Container-Datei aus Ihrem Arbeitsverzeichnis auf das Dateifeld, wählen Sie als Datei-Typ Container aus und klicken Sie auf Hochladen.

  5. Markieren Sie die beiden Dateien und klicken Sie unter Aktionen auf Update-Paket erstellen.
    cg de m3 creating container update 03

  6. Geben Sie einen Name (hier cg_ids) und eine Beschreibung für das Paket an und ändern Sie die Reihenfolge des Inhalts so, dass erst der Container und dann die ASCII-Konfigurationsdatei im Paket ist. [1]

  7. Klicken Sie auf Erstellen.
    cg de m3 creating container update 04

  8. Schalten sie mit wieder auf die Ansicht Update-Pakete um.
    cg de m3 creating container update 05

  9. Markieren Sie das Update-Paket, um es entweder auf den Computer herunterzuladen () oder direkt im icom Router Management auf den Router zu installieren (). [2]
    cg de m3 creating container update 06

Damit haben Sie das Update-Paket erstellt.

Erstellen des Update-Pakets auf dem Rechner

So erstellen Sie ein Update-Paket manuell auf einem Rechner.

  1. Öffnen Sie die PowerShell auf einem Windows-Rechner über die Windows-Taste () und Eingabe von powershell oder ein Terminal-Fenster auf einem Linux-Rechner.

  2. Wechseln Sie zu Ihrem Arbeitsverzeichnis, in dem die ASCII-Konfigurationsdatei und die Container-Datei abgelegt sind.

  3. Berechnen Sie die MD5-Prüfsumme der ASCII-Konfigurationsdatei:
    Unter Windows: > certutil -hashfile ascii_config.txt md5
    Unter Linux: > md5sum ascii_config.txt
    MD5-Hash von ascii_config.txt:
    be6dffbfcc009b719e2639de5066d61d
    CertUtil: -hashfile-Befehl wurde erfolgreich ausgeführt.

  4. Berechnen Sie die MD5-Prüfsumme der Container-Datei:
    Unter Windows: > certutil -hashfile icom_data_suite.tar.xz md5
    Unter Linux: > md5sum icom_data_suite.tar.xz
    MD5-Hash von icom_data_suite.tar.xz:
    f26552ff323eb0d0d0dab964439e6b11
    CertUtil: -hashfile-Befehl wurde erfolgreich ausgeführt.

  5. Erstellen Sie eine Textdatei mit dem Namen MANIFEST (ohne Dateiendung) und öffnen Sie diese in einem Texteditor.

  6. Kopieren Sie den Inhalt der Vorlage unten in die Textdatei.

  7. Speichern Sie die Datei.

  8. Packen Sie die MANIFEST-Datei und die ASCII-Konfigurationsdatei in das Update-Paket:
    > tar -vcf container_packet.tar MANIFEST icom_data_suite.tar.xz ascii_config.txt [3]

Vorlage für Manifest-Datei
FILENAME=icom_data_suite.tar.xz
DESCRIPTION=
FILETYPE=Container(1)
MD5SUM=f26552ff323eb0d0d0dab964439e6b11(2)

FILENAME=ascii_config.txt
DESCRIPTION=ASCII config
FILETYPE=ASCII Configuration(1)
MD5SUM=be6dffbfcc009b719e2639de5066d61d(2)
1 Die Schreibweise des Dateitypen ist wichtig, da er die Verwendung im Update-Paket festlegt.
2 Tragen Sie hier die zuvor berechnete MD5-Prüfsumme der Datei ein.

Sie haben jetzt ein Update-Paket erstellt, das auf den Router hochgeladen werden kann.

Es gibt unterschiedliche Dateitypen für unterschiedliche Dateien und Zwecke. Folgende Tabelle zeigt diese Optionen:
FILETYPE Zweck

Full Software Update

Major-Firmware-Update (1.0, 2.0, 3.0 usw.)

Incremental Software Update

Minor-Firmware-Update (2.1, 2.2, 2.3 usw.)

Binary Configuration

Profil in Form einer Binärdatei

ASCII Configuration

ASCII-Konfiguration, die nach dem Hochladen sofort ausgeführt und nicht gespeichert wird

Stored ASCII Configuration

ASCII-Konfiguration, die nach dem Hochladen gespeichert und nicht ausgeführt wird

Container

Linux-Container

Container Configuration

Der als tar-Archiv gepackte Inhalt von /data/etc eines Containers

Hochladen des Update-Pakets im Web-Interface

So laden Sie das Update-Paket auf den Router und prüfen, ob das Update-Paket wie gewünscht verarbeitet wird.

  1. Rufen Sie das Web-Interface des Routers auf: 192.168.1.1 [4]

  2. Klicken Sie im Menü Administration → Up-/Download im Abschnitt Upload auf Durchsuchen…​ und wählen Sie das oben erzeugte Update-Paket aus.

  3. Klicken Sie auf Hochladen.

Das Update-Paket wird auf den Router hochgeladen und entsprechend verarbeitet.
cg de m3 creating container update 07

Damit haben Sie ein funktionierendes Container-Update-Paket erstellt.

Fehlersuche

  • Die MANIFEST-Datei darf keine Dateiendung haben, wie zum Beispiel .txt.

  • Wenn für eine der Dateien nach dem Hochladen auf den Router ein Fehler im Status angezeigt wird, überprüfen Sie deren Eintrag in der MANIFEST-Datei. Achten Sie auf die Schreibweise und darauf, dass z.B. kein Leerzeichen am Ende einer Zeile vorhanden ist.

  • Bei Auftreten eines unerwarteten Token-Fehlers hilft es meist, die Browser-Darstellung zu aktualisieren ( oder Strg + F5).


Zurück zu den Configuration Guides für die icom OS Smart Devices

Zurück zur Übersicht


1. Diese Reihenfolge bestimmt die Reihenfolge der Verarbeitung beim Hochladen des Update-Pakets auf den Router. Der Container muss zuerst installiert werden, bevor er von seiner Konfiguration gestartet werden kann.
2. Die weitere Vorgehensweise für die Installation im icom Router Management ist nicht Teil dieses Configuration Guides
3. Dieser Befehl packt die angegebenen Dateien (hier MANIFEST, icom_data_suite.tar.xz und ascii_config_file.txt) in das angegebene tar-Paket (hier update_packet.tar).
4. Anmeldung je nach Konfiguration; Voreinstellung bei älteren Firmware-Versionen: _Benutzername: insys, Kennwort: icom