Introduction
IP based Client Set-Top-Box (STB) with RDK 4.0 features which connnects directly with Network Gateways. Targets on Accelerator platforms and utilizes open-sourced RDK components.
Host Setup
Refer to the below link for Host Machine Setup
How to Build#SettinguptheHostEnvironment
Yocto Build Setup
All RPi based RDK images with the latest features are from the rdk-next branch
Initializing the Build Environment
To build RDK images from rdk-next branch, follow the below build procedure
Code Block |
---|
language | bash |
---|
theme | RDark |
---|
title | Generic build |
---|
|
mkdir workspace
cd workspace
# initialize the manifest with repo tool
repo init -u https://code.rdkcentral.com/r/manifests -b ipstb_bringup -m rdkv-ipstb-nosrc.xml
repo sync -j `nproc` --no-clone-bundle --no-tags |
Code Block |
---|
language | bash |
---|
title | apply fixes |
---|
|
# bringing qt dependent components to dynamic layer
(cd meta-rdk; git fetch https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-rdk refs/changes/76/55976/3 && git cherry-pick FETCH_HEAD)
(cd meta-rdk-ext; git fetch https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-rdk-ext refs/changes/75/55975/2 && git cherry-pick FETCH_HEAD)
(cd meta-rdk-video; git fetch https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-rdk-video refs/changes/05/55905/3 && git cherry-pick FETCH_HEAD)
# depedencies removal
(cd meta-rdk-video; git fetch https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-rdk-video refs/changes/34/55534/1 && git cherry-pick FETCH_HEAD)
(cd meta-rdk-video; git fetch https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-rdk-video refs/changes/53/56253/2 && git cherry-pick FETCH_HEAD)
# IP STB changes
(cd meta-rdk; git fetch https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-rdk refs/changes/56/55456/8 && git cherry-pick FETCH_HEAD)
# others
## bringing sysint to rdk-video layer (open sourcing)
(cd meta-rdk-video; git fetch https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-rdk-video refs/changes/12/55812/4 && git cherry-pick FETCH_HEAD) |
Code Block |
---|
language | bash |
---|
title | other workarounds |
---|
|
# for MFR library
git clone https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-cmf-raspberrypi-restricted -b rdk-next
mkdir -p meta-cmf-raspberrypi/recipes-oem
cp -rf meta-cmf-raspberrypi-restricted/recipes-oem/mfrlibs meta-cmf-raspberrypi/recipes-oem
# for sysint
git clone https://code.rdkcentral.com/r/components/restricted/rdk-oe/meta-rdk-restricted -b rdk-next
cp -rf meta-rdk-restricted/recipes-extended/sysint meta-rdk-video/recipes-extended
git clone https://code.rdkcentral.com/r/components/restricted/rdk-oe/meta-cmf-restricted -b rdk-next
cp -rf meta-cmf-restricted/recipes-extended/sysint meta-cmf-video/recipes-extended
cp -rf meta-cmf-raspberrypi-restricted/meta-rdk-restricted/recipes-extended/sysint meta-cmf-raspberrypi/recipes-extended
# remove all the repo which are cloned for workaround
rm -rf meta-cmf-raspberrypi-restricted meta-rdk-restricted meta-cmf-restricted
# as media-utils has audiocapture mgr utility implementation based on RMF headers, media-utils dependencies to be removed
# remove virtual/media-utils dependency from bluetooth-mgr
find meta-rdk -name bluetooth-mgr*.bb -exec sed -i 's#virtual/media-utils##g' {} +
# remove audiocapturemgr dependency from rdkservices
find meta-rdk-video -name rdkservices*.bb -exec sed -i 's#audiocapturemgr##g' {} + |
Image build
Code Block |
---|
language | bash |
---|
theme | RDark |
---|
title | generic image |
---|
|
MACHINE=raspberrypi-rdk-ipmc source meta-cmf-raspberrypi/setup-environment
bitbake rdk-ip-mc-image
|
Flashing Procedure
The image file will be generated under build-<MACHINE>/tmp/deploy/images/<MACHINE>
directory
Code Block |
---|
|
# Insert the micro SD card to the host system and mention the card's device file name
# input file (if) is the image file to flash and the output file (of) is the card's device file name
bzcat rdk-ip-mc-image-raspberrypi-rdk-ipmc.wic.bz2 | sudo of=/dev/<sd file> bs=4M iflag=fullblock oflag=direct conv=fsync |
System View
JIRA Tracker
Jira |
---|
server | JIRA |
---|
columnIds | issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
maximumIssues | 20 |
---|
jqlQuery | targets = R-Pi AND project = REFPLTV AND labels in (_rdk_ip_stb, _rdk_rpi_open_sourcing) |
---|
serverId | 11deff04-0380-3a3d-a916-0849d4e573f7 |
---|
|
Compilation Errors
S.No | Component | Recipe | Dependent on | Remarks |
---|
1 | sysint | No bb file | It is not yet opensourced | If added in meta-rdk it is fixed |
2 | sysint-conf | No bb file | Removing from package oss file | Build is proceeding further |
3 | virtual/mfrlib |
| Opensourcing |
|
4 | tenablehdcp-dev | meta-rdk-video/recipes-extended/tenablehdcp/tenablehdcp_git.bb | iarmmgrs | virtual/mfrlib |
5 | ledmgr-dev | meta-rdk-video/recipes-extended/ledmgr/ledmgr_git.bb | iarmmgrs |
|
6 | iarm-query-powerstate-dev | meta-rdk-video/recipes-extended/sys_mon_tools/iarm-query-powerstate_git.bb | iarmmgrs | virtual/mfrlib |
7 | tr69hostif-dev | meta-rdk-video/recipes-thirdparty/tr69hostif/tr69hostif_git.bb | Bluetooth-mgr -> audiocapture -> iarmargs |
|
8 | Netsrvmgr-pni-controller, netsrvmgr-pni-settings-loader, netsrvmgr-dev | meta-rdk-video/recipes-extended/networkmgr/netsrvmgr_git.bb | iarmmgrs |
|
9 | iarm-set-powerstate-dev | meta-rdk-video/recipes-extended/sys_mon_tools/iarm-set-powerstate_git.bb | iarmmgrs |
|
10 | rdkservices-dev | meta-rdk-video/recipes-extended/rdkservices/rdkservices_git.bb | iarmmgrs |
|
11 | Key-simulator-dev | meta-rdk-video/recipes-extended/sys_mon_tools/key-simulator_git.bb | iarmmgrs |
|
12 | iarmmgrs-dev | meta-rdk-video/recipes-extended/iarmmgrs/iarmmgrs_git.bb | virtual/mfrlib |
|
13 | ledmgr-extended-noop-dev | meta-rdk-video/recipes-extended/ledmgr/ledmgr-extended-noop_git.bb | iarmmgrs |
|
14 | bluetooth-mgr-dev | meta-rdk/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb | Audiocapturemgr -> iarmargs |
|
15 | aamp | meta-rdk-video/recipes-extended/aamp/gst-plugins-rdk-aamp_git.bb, meta-rdk-ext/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb, meta-rdk-video/recipes-extended/injectedbundle/injectedbundle.bb | iarmmgrs |
|
16 | mfrlibs-rpi |
|
|
|
17 | Wpe-webkit-dev, wpe-webkit-web-inspector-plugin, wpe-webkit | meta-rdk-ext/recipes-extended/wpe-webkit/wpe-webkit_2.22.2.bb |
|
|
18 | audiocapturemgr, audiocapturemgr-dev | virtual/media-utils iarmbus iarmmgrs | iarmmgrs | virtual/mfrlib |
19 |
|
|
|
|