Using Update Packages

Prev Next

Update packages are a central mechanism for deploying files to icom OS-based routers. They enable efficient, structured management of device software, configurations, and applications across single routers or large device fleets.

An update package consists of:

  • A manifest file (text format) describing the package contents

  • One or more files to be stored or executed on the router

  • The package itself is an uncompressed tar archive (.tar) containing the manifest and associated files

Update packages are essential for:

  • Firmware updates (full or incremental)

  • Deployment of configurations, including binary and ASCII configurations

  • Installation of containers (Linux containers)

  • Application of licenses

  • Updates to container storage or configurations

What Can Be Deployed via Update Packages

The types of files supported within an update package include:

File Type

Description

Full Software Update

Major icom OS firmware release (e.g., v7.0, v8.0)

Incremental Software Update

Minor icom OS firmware update (e.g., v8.0 to v8.1)

Binary Configuration

Router profile in binary format

ASCII Configuration

Plain-text configuration commands applied immediately after upload, not stored persistently

Stored ASCII Configuration

ASCII configuration stored on the router for later use

OpenVPN Configuration

OpenVPN .ovpn files integrated into router VPN settings

Container

Linux-based application containers (LXC)

Container Configuration

Tar archives representing a container’s internal configuration (/data/etc)

License

Licenses unlocking specific container functionalities

Full Storage

Full tar archives for container storage, replacing existing files

Incremental Storage

Tar archives for partial updates to container storage (overwrite only existing files)

Bootloader, DSL Update

Specialized system components like bootloaders or DSL modem firmware

OEM Branding

Predefined factory settings

If you need more information on how to create your own update packages, please refer to the following article: Creating Own Update Packages.

Note

Update packages can also be signed and/or encrypted for additional security.


The Manifest File

At the heart of every update package lies the manifest — a strict, line-based text file defining each included file.

  • Filename: Always MANIFEST (without extension)

  • Format: ASCII or UTF-8 (without BOM)

  • Structure: Key-value pairs (no spaces around "="), case-sensitive

Main manifest keywords:

Keyword

Meaning

FILENAME

Name of the included file (mandatory)

FILETYPE

Defines the type of file (mandatory)

MD5SUM

MD5 checksum of the file (mandatory)

FILESIZE

File size in bytes (optional)

DESCRIPTION

Free-text description (optional)

VERSION

Firmware or file version (mandatory for some file types)

REQUIRED_SW

Required existing firmware version (for incremental firmware updates)

KEY

Key description for encrypted containers (optional)

Note

The order of sections in the manifest determines the installation sequence. For example, a container must be installed before its configuration can be applied.


ASCII Configurations via Update Packages

ASCII configurations are a particularly flexible form of applying configuration settings:

  • They consist of router commands in a simple text format

  • When included in an update package as FILETYPE=ASCII Configuration, they are immediately executed upon upload

  • They are not permanently stored unless specifically defined as Stored ASCII Configuration

Typical use cases for ASCII configurations:

  • Initial router provisioning

  • Mass updates of specific settings (e.g., firewall rules, VPN settings)

  • Activation of features without manual web UI interaction

Info

ASCII configurations allow highly automated rollouts without requiring the routers to be manually accessed or reconfigured.

Combining Multiple Elements into a Single Update Package

Update packages can combine several types of updates in one deployment:

  • Firmware and container

  • Container and configuration

  • Multiple configurations (ASCII and binary)

  • And others

To achieve this, the individual packages must first be unpacked, and then a new combined update package must be built with a fresh manifest listing all files.

If you need more information on how to create your own update packages, please refer to the following article: Creating Own Update Packages.

Security Considerations

  • Update packages can be signed and/or encrypted to guarantee integrity and authenticity.

  • Routers can be configured to accept only signed update packages.

  • This is especially critical in environments with strict cybersecurity or compliance requirements (e.g., CRA, IEC 62443).