RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
...
Expand | ||||
---|---|---|---|---|
| ||||
Adding a new machine to Yocto involves the following:Create a new layer which will hold all the recipes and machine configurations for the new SoC/OEMyocto-layer command is not enabled by default, If you want to add a new layer using the "yocto-layer" script, you need to first download the poky and put it in your code base and run the script to create a new folder. You can download poky from git using :
Use the yocto-layer create sub-command to create a new general layer. $ yocto-layer create mylayer <specify the layer which you need to be created> Please enter the layer priority you'd like to use for the layer: [default: 6] 6 There shall be separate device (machine) configuration file (.conf) for each device for the particular chip family for which the layer is intended for. For Eg : A layer "meta-rdk-oem-OEM-X-SOC-Y" means this layer shall be able to build any devices manufactured by OEM "X" with all variants of SoC "Y" like Y-1,Y-2 etc The device (machine) configuration file shall include corresponding include (.inc) file to get machine configuration details. Adding the Machine Configuration File for the new SoC/OEMTo add a machine configuration, you need to add a .conf file with details of the device being added to the conf/machine/ file. The most important variables to set in this file are as follows:
You might also need these variables:
Adding a Kernel for the MachineThe OpenEmbedded build system needs to be able to build a kernel for the machine. We need to either create a new kernel recipe for this machine, or extend an existing recipe.We can find several kernel examples in the source The directory at meta/recipes-kernel/linux that you can use as references. If you are creating a new recipe, following steps need to be done,
If you are extending an existing kernel, it is usually a matter of adding a suitable defconfig file. The file needs to be added into a location similar to defconfig files used for other machines in a given kernel. A possible way to do this is by listing the file in the SRC_URI and adding the machine to the expression in COMPATIBLE_MACHINE:
Adding Recipe for SoC/OEMThe following kind of recipes can be added to SoC/OEM layer. The recipes shall be grouped as described in slide “BSP Reference Layer”
Creating packages for building imagesCreate a custom packagegroup for the SoC/OEM which shall list all the recipes that are required for this image. For example, the following recipe can be appended to the broadband package group.
Create a custom image for required SoC/OEM. For example:
Adding your own custom layerUse the yocto-layer create sub-command to create a new layer.
Add this to ./meta-rdk/conf/bblayers.conf.sample. Recipes can be placed inside recipes-< > folders. There can be a configuration file inside conf/ for layer specific configuration and classes folder for keeping information that is useful to share between metadata files. |
...
RDKM offers an in-house Test & certification suite that facilitates OEMs to get their IP Set-top product certified as RDK Compliant device.
For more details on TDK refer: TDK-B Documentation
Certification program includes testing which validates the RDK stack on the device with defined test suite called as RDK Certification Test Suite. It is mandatory to go through this program in order to brand user's platform as RDK compliant product.
Certification suite is available at RDK IP Set-top Product Certification(only for RDK licensee) and for TDK test app please refer TDK-BV Documentation(only for RDK licensee).
Once the RDK bring-up in SoC is completed, the vendor needs to plan on the delivery of the software to OEM vendors. This usually happens in 2 ways:
...
Refer RDK-B Porting Guide for more details
...
Bluetooth Manager implements the Bluetooth HAL i.e. Bluetooth Core (BTRCore) API. Bluetooth HAL interface provides a software abstraction layer that interfaces with the actual Bluetooth implementation and/or drivers. RDK Bluetooth HAL layer enables projects to pick any Bluetooth profiles as per their requirements. Bluetooth HAL uses BlueZ5.42 stack which is a quite popular Linux Bluetooth library.
...