Motorola Mobility Confidential Restricted.

Building a boot image

A boot image is a binary file containing the software which is downloaded to the IP-STB. A boot image is built from a number of parts:

  • Hardware Abstraction Layer (HAL)
  • Platform
  • Application registration packages
  • Application installation packages
  • Options
  • Tools

All different kind of parts are each stored in an IP-STB Installation Package (IIP). When building a boot image all the parts are put together as one binary.

Hardware Abstraction Layer

The HAL abstracts differences between different types of hardware so layers on top of HAL don't have to handle it themselves. The operating system (Linux) is also included in the HAL.

Typical IIP name: kreatv-hal-...

Platform

The platform consists of the platform services.

Typical IIP name: kreatv-platform-...

Application registration

An application registration package contains the files needed for the application to be handled correctly by the platform. The application property file is included in the application registration package.

Application registration packages have an execution dependency to the application installation package. This means that the application installation package will be installed into the boot image automatically. This dependency can however be ignored, making it possible to dynamically download and install the application installation package after boot. Ignoring a dependency for an IIP is done in the boot-image configuration file by adding ignoredependency(<dependency type>) as a parameter to the IIP. This is a part of the KreaTV Dynamic Download mechanism, which has a technical preview status in this release.

It is possible to share an installation package between several registration packages. An example of this is the browser application, which can be registered both as web browser and as portal browser.

Typical IIP name: kreatv-app-...

Application installation

An application installation package contains the application binary and libraries.

Typical IIP name: kreatv-inst-...

Options

Examples of options are:

  • Subtitling (kreatv-option-kreatvgfx-subtitlerenderer)
  • Teletext (kreatv-option-teletext*)
  • Streamer configuration (kreatv-option-stream*)

Typical IIP name: kreatv-option-...

Tools

Examples of tools are:

  • Logging (kreatv-tool-logging)
  • Process logging (kreatv-tool-logproc)

Typical IIP name: kreatv-tool-...

Building custom boot images

Note! If you are using the SDK++ you will need to install the toolchain before you can proceed with building boot images or applications. The correct version of the toolchain for this SDK can be found in dist/<toolchain>/toolchain_dir where <toolchain> is the toolchain, e.g. st40, bcm74xx or bcm45.

The SDK comes with some general purpose boot images, and the Infocast Server will broadcast these by default. However, it is possible for you to build custom boot images with the SDK, adding and removing features and setting configuration options. Scripts for building boot images are provided in the <dk>/build_scripts directory which will build a boot image from a config file. You may create a customized boot image by editing the config provided here.

<dk> is the SDK installation directory.

cd <dk>/build_scripts
./build_<device-name>.sh demo_<toolchain>.config

<device-name> and <toolchain> should be replaced with the proper values which match files from your SDK.

A more detailed description of the build_boot_image script can be found here.

Distribute boot image

For information on how to distribute a boot image to a KreaTV IP-STB, see the Booting section of the manual.