Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

At the time of writing this document, work is still in progress to open up and make the pre-built BOLT applications available to the wider RDK community. Due to legal constraints, RDK-M is currently unable to share or distribute pre-built signed bolt binaries , including BOLT packages, to the community.

Info

Implication for the RDK Community

Until the legal considerations are resolved:

  • Members of the RDK community are required to generate the factory applications (signed bolt packages) themselves using their own signing certificate
  • Pre-built factory app binaries will not be provided by RDK-M

**This limitation is temporary and will be revisited once the legal situation around sharing signed BOLT applications is clarified.**

...

Info

To simplify the process of generating factory applications, a script has been created to assist developers with the complete workflow.

The script automates the following tasks:

  • Building the required BOLT applications [Step 1]
  • Signing the generated BOLT applications using a certificate provided by the developer [Step 2]
  • Automatically generating the factory apps JSON file [Step 3]

By using this script, developers can avoid following the detailed and manual steps described in the previous below sections.

Script Location and Usage

The script, along with instructions on how to run it, can be found at : <URL HERE> https://github.com/rdkcentral/bolt-pkg-build-scripts

This approach is recommended for faster setup and to reduce manual errors during factory app generation.

...

Each of these components is packaged as a BOLT application.

...

Step 3: Create the Factory Apps JSON File

...

      • File system location of each BOLT package

      • Corresponding SHA-256 checksum for integrity verification

      • JSON template: <link here> example-manifest

Step 4: Update local.conf

...

Info

For a deeper understanding of how the Factory Apps Installer works internally, please refer to the documentation linked below:

Design for Factory Apps Installer for in RDK-8

This resource provides an in‑depth explanation of the installer workflow and architecture.

...

Note
  • For this method to work, the public signing certificate used to sign the BOLT applications must be present on the device. The certificate must be located at/etc/rdk/certs/
  • As mentioned in the above option, you should have bolt packages built and signed: Build Factory BOLT Applications Locally

Supported Sideloading Methods

...

      • Copy the BOLT application packages to the following directory on the device in the PREINSTALL PATH
        Info

        Preinstall Path in the platform changes from platform to platform. It's based on the variable value set in rdke-common-config Refer: rdke-rdkm-config.inc#L46


      • Reboot the device

On the next boot:

...

      • Run the appropriate package manager curl command to install the BOLT application.
        [Please note, you need to install all 3 bolt packages (base, wpe, refui) using the following CURL command.]
        Code Block
        curl -X POST http://127.0.0.1:9998/jsonrpc -d '{"jsonrpc":2.0,"id":1,"method":"org.rdk.PackageManagerRDKEMS.install","params":{"packageId":"<package_name_or_id>","version":"<package_version>","fileLocator":"<file_path_in_file>"}}' -H "Content-Type: application/json"
      • Reboot the device to ensure the applications are launched correctly

...

Repo: https://github.com/rdkcentral/meta-bolt-wpe

Info
titleDependent Bolt Packages:

To build an application that depends on base/runtime Bolt packages (for example, com.rdkcentral.base+<version>.bolt), ensure those dependent packages are available first. Either build them separately or place the corresponding .bolt artifacts in the following
location before running the build. So in this case, please make sure the base bolt package is present in the following location:

Code Block
build/bolts/


Code Block
git clone https://github.com/rdkcentral/meta-bolt-wpe.git
cd meta-bolt-wpe
git checkout <branch/revision/tag>
source setup-environment

# Create bolt-tools and hash it
bitbake bolt-env && hash bolt

#build wpe bolt package
bolt make wpe

...