Skip to end of metadata
Go to start of metadata

Overview

The Reference Design Kit (RDK) as a solution for wide range of OEM and SoC manufacturers is gaining considerable market and attracting attention from a wide range of community users. As RDK is evolving as the preferred open source set-top middleware stack, it requires proper guideline and manual in place. This document will prove as a useful handbook for beginners as well as those who want to switch their services to RDK based platform. It will help them to remove the ambiguity in different levels of porting and help them achieve the result in short period. Moving forward, this can also evolve to accommodate more nitty-gritty’s of porting and resolving related issues.

RDK comprises of set of software components, tools and documentation that help in the development of the software stack for set-top boxes hosting cloud-based or resident guide applications. Usually porting process involves taking the generic RDK from RDK-M code repository and customizing it with SoC and OEM specific packages and build procedure details of which is described in the following sections of this paper. A typical RDK-based set-top software stack comprises of four components - MSO, Generic RDK, SOC RDK, OEM Firmware.

Refer RDK Layers for more details about software stack components.

Please refer to the RDK Architecture section for more information on how the various components of an RDK- based software stack interact with each other.

Purpose

The purpose of this document  is to enable both System on Chip (SoC) and Set Top Box (STB) vendors to be able to understand the generic approach to be taken while being involved in porting RDK to their platform (SoC/OEM).  The document also presents a generic architecture overview and includes step-by-step procedures to build, integrate and install RDK. RDK components when combined with SoC and OEM components, allow the creation of a fully functional software stack that can support set-top applications. 

RDK Components Manifest

In general, the RDK stack is broadly categorized into software/firmware coming from the RDK Developer community, OEM’s and hardware dependent code from SoC vendors. Community is responsible for releasing the Generic RDK code which is mainly making use of Open source software for their adaptability and ease of improvement. OEM’s generally provide software’s such as bootloader, secure storage management etc. The Linux kernel and associated drivers are contributed by SoC vendors. RDK components are designed in such a way that any platform change or modifications in other component will not affect the total system as a whole and would not require much effort to integrate. 

Refer to RDK-V Components Manifest for getting information about the RDK components.

How to Add a new SoC/OEM to RDK

In this section we will cover the following topics,

  • How to create a new layer which will hold all the recipes and machine configurations for the new SoC/OEM
  • How to add the Machine Configuration File for the new SoC/OEM
  • How to add a Kernel for the Machine
  • How to add Recipe for SoC/OEM
  • How to create packages for building images

Refer to the Document Adding a new SoC/OEM to RDK for getting the detailed information.

Guideline for SoC/OEM Vendors

In Guideline for SoC/OEM Vendors section, we will cover the following topics,

  • Contents need to be taken care by SoC/OEM Vendor
  • SoC/OEM design guidelines
  • Guideline to create SoC/OEM specific images
  • How to write a bbclass for SoC/OEM specific images
  • Bitbake work-flow

Refer to the Document Guideline for SoC/OEM Vendors for getting the detailed information.

Overview on Build System

In this section, we will learn the following topics,

  • Overview of Yocto
  • BitBake
  • Recipe
  • Append Files
  • Patches
  • RDK Yocto layer structure

Refer to the Document Build System for getting the detailed information.

RDK-V Porting Steps

This section described the details of the following topics

  • How to setup the Host Environment
  • Host Requirements
  • Essential Installation Packages
  • Access to CMF repository
  • Steps to Initialize the Build Environment
  • Repo overview
  • Repo setup
  • Building
  • Building the OEM Platform image
  • Example manifest file snippet
  • External Source
  • Yocto Build Types: SRC_URI v/s External SRC

Refer to Porting Process Flow for getting the detailed information.

OEM Specific Porting

This section provides the details about components having OEM interfaces which requires porting effort.

Refer to RDK-V OEM Specific Porting for getting the detailed information.

SoC Specific Porting

This section provides the details about components having SOC Interface which requires porting effort. It also describes the tool such as GStreamer plugins available to integrate GStreamer Elements are developed by SOC vendors.

Refer to RDK-V SoC Specific Porting for getting the detailed information.

Conclusion


RDK as a solution for wide range of OEM and SoC manufacturers is gaining considerable market and attracting attention from a wide range of community users. As RDK is evolving as the preferred open source set-top middleware stack, it requires proper guideline and manual in place. This document will prove as a useful handbook for beginners as well as those who want to switch their services to RDK based platform. It will help them to remove the ambiguity in different levels of porting and help them achieve the result in short period. Moving forward, this can also evolve to accommodate more nitty-gritty’s of porting and resolving related issues.

  • No labels