• Quick Start
  • Booting
  • Platform
  • Portals
  • References
    • API Reference TOI3
    • IIP Reference
  • Resources
ARRIS Enterprises, Inc. Confidential Information

How to update the boot loader on IP-STBs using a boot image

Background

When updating to a new KreaTV version, it is sometimes required to update the STB's boot loader as well to ensure that the software works as intended. Note that the KreaTV software and the STB's boot loader are two different things. This guide walks you through the process of acquiring the boot loader files and building a boot image capable of updating the boot loader on the target STBs.

Boot loader structure

The boot loader consists of two parts:

  • Resident Boot Loader (RBL) - Contains the bootstrapping code that brings the STB's board alive. It is updated only in exceptional situations.
  • Dynamic Boot Loader (DBL) - The main part of the boot loader, implementing the more visible features like boot image handling or Wi-Fi setup. The DBL is designed so it can be updated safely in the field. Updating the boot loader normally only changes the DBL part.

Where to find the right DBL file

The DBL file that has been used in the ARRIS system test is located in the following place in the SDK: <sdk_root>/tools/dbl_update/kreatv-dbl[version]_[STB-type]_development_signed.sec

STBs signed with custom keys

If you have chosen to use custom keys instead of the ARRIS-default keys, then you cannot use the signed DBL that is included in the SDK. Instead, you need a file signed for you, which you can get from the PRiSM server by sending the following file: <sdk_root>/tools/dbl_update/kreatv-dbl[version]_[STB-type]_not_signed.bin

See the page about PRiSM signing for more information. If you have questions regarding the signing process, please mail KreaTV support.

Boot image preparation

Updating the DBL involves creating a special boot image that contains the update and deploying it to the target STBs. To create this boot image, you need to add the kreatv-option-upgrade-boot-loader IIP to the boot image configuration.


kreatv-option-upgrade-boot-loader:dbl=../tools/dbl_update/kreatv-dbl_6.7.6_vip43x2_development_signed.sec,reboot

The reboot parameter makes the STB reboot directly after flashing the boot loader. A reboot is required for the changes to take effect, but it can be postponed to a later time. For a quick update, however, it is recommended to reboot immediately.

The SDK contains an example boot image config file (build_scripts/upgrade-boot-loader.config) that can be used as a template for updating the boot loader. This configuration file uses the DBL file for a VIP43x2 STB by default. Please replace the DBL file name in this file with the DBL file name you want to use.

The following command builds the boot image for a VIP43x2 STB using the build_scripts/upgrade-boot-loader.config configuration file. Please replace <sdk_root> with your SDK installation directory.


$ cd <sdk_root>/build_scripts
$ ./build_vip43x2.sh upgrade-boot-loader.config

Performing the update

Once you have a boot image that contains the DBL update, it is just a matter of deploying the boot image to the target units. When an STB boots with this image, the startup will take some extra time to perform the update. The STB may also reboot automatically if the reboot parameter was specified in the IIP, as explained above.

Once an STB has been updated to the boot loader version contained in the boot image, it will not go through the update steps again. Thus, it is safe to keep the upgrade IIP in the boot image for a period of time. When all STBs have been updated, it is recommended to remove the upgrade IIP from the boot image configuration.

If you have a logclient log, you can trace the progress of the update by looking for lines containing upgrade-boot-loader

5.1.p5

Copyright (c) 2017 ARRIS Enterprises, LLC. All Rights Reserved. ARRIS Enterprises, LLC. Confidential Information.