Versions Compared

Key

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

Table of Contents
maxLevel3

...

Build environment

Please register to code.rdkcentral.com and share to RDKM to enable Amlogic repo access. (Need Amlogic to approve access to the request).

On build machine, add code.rdkcental.com login in your netrc file.

ie vi ~/.netrc

Update ~/.ssh/config for Amlogic openlinux.

To access, Amlogic DRM, need to share ssh private key to Amlogic and get it enable for Openlinux access for Widevide,Playready,Secmem repos.

Configure it accordingly in ~/.ssh/config


Build Steps

...

for rdk-next (Master)

Opensourced Manifest:

  • repo init -u
 rdkcmf 
  • -b
feature
  • google-rdk-
google
  • aml-collab -m
aml_ipstb_google_rdk_starboard-open
  • rdkv-aml-open-va-google.xml
  • repo sync
-c
  • -j4 --no-clone-bundle
  • source ./meta-rdk-
amlogic
  • aml/set-env.sh mesonsc2-5.4-lib32-ah212 --use-rdk-ui -
gst1
  • -
18
  • playready --
ipclient
  • widevine --rdk-starboard --enable-
-use-rdk-ui --rdk-cobalt23
  • bitbake lib32-rdk-generic-mediaclient-image
  • Above manifest hosts Amlogic pre-built libraries for kernel and other SoC components.

    For latest Cobalt builds which included latest RDK and latest Amlogic BSP included, please reachout to Amlogic FAE or RDKM team(support@rdkcentral.com)

    • evergreen-full --enable-rialto --enable-webkit238 --enable-wper4 --ipclient
    • bitbake  lib32-rdk-ipstb-oss-image

    Note: To enable build with DRM(Playready & Widevine), Please reach out to Amlogic for Openlinux access for DRM libraries. Need to have below repository access.

    For certified manifest with DRM: 

    NOTE: Both Amlogic and RDKM teams enable MS12 audio on the build. To enable MS12 audio in the build, need to enable build option "--enable-dv-ms12" .

    This may effect some of YTS tests with respect to partial audio to fail if no MS12 audio(though ms12 is not directly needed, due to audio path, it may need ms12 audio to enable).


    Check if you have access to Amlogic restricted repos.

    ...

    Please contact your Amlogic sales or FAE teams to get restricted DRM repo access if you do not have yet.If Widevine and PlayReady access is available, please pass additional arguments as


    Build Steps for a stable Feature branch (In-Progress)

    rdk rdk-next -m aml_ipstb__rdk_starboard.xml 
    repo sync -j4 -no-clone-bundle
    source meta-/set-env.sh mesonsc2-5.4-lib32-ah212 --ipclient --rdk-starboard --gst1-18 --rdk-ui --playready --widevine
    bitbake lib32-rdk-generic-mediaclient-image
    • google
    • -
    • rdk-aml

    Note: This manifest is based on RDK 2022q1 based RDK and Amlogic BSP version is BSP866. This manifest is in RDKM restricted zone. 

    Build Steps to generate an image with RDKstarboard using Amlogic pre-builds(github), non-drm and with DAB support enabled

    ...

    languagebash

    ...

    • -collab -m  feature-rdkv-aml-open-va-google.xml
    • repo sync -j4 --no-clone-bundle

    ...

    • source ./meta-rdk-aml/set-env.sh

    ...

    • mesonsc2-5.4-lib32-ah212

    ...

    • --

    ...

    • use-

    ...

    • rdk-ui -

    ...

    • -playready -

    ...

    • -

    ...

    • widevine --

    ...

    • rdk-starboard --enable-evergreen-full --enable-rialto --enable-webkit238 --enable-

    ...

    • wper4 -

    ...

    • -ipclient
    • bitbake  lib32-rdk-

    ...

    • ipstb-

    ...

    • oss-image

    Note: If you are seeing following error while bitbake parse happens; please enable meta-rust manually after "source" step before "bitbake".

    Code Block
    languagebash
    ERROR: ParseError at /home/amadha013/codebase/ah212-rdknext-dab/meta-dab/dab-rs/dab-bridge_0.4.0.bb:3: Could not inherit file classes/cargo.bbclass

    Edit $BUILDDIR/conf/bblayers.conf to enable meta-rust manually by adding below change:

    Code Block
    languagebash
    BBLAYERS += "${RDKROOT}/meta-rust"

    ...

    IPSTB build on rdk-next stack:

    Build steps with DRM:

    ...

    • repo init -u https://code.rdkcentral.com/r/collaboration/soc/amlogic/aml-accel-manifests -b rdk-next -m ipstb-google-rdk-next.xml
    • repo sync -j4 --no-clone-bundle
    • source meta-rdk-aml/set-env.sh mesonsc2-5.4-lib32-ah212 --use-rdk-ui --enable-rdk-voice --playready --widevine  --enable-fireboltcompliance --rdk-starboard --t4hremote  --ipclient
      (NOTE: Use --b12remote instead of --t4hremote if B12 remote is used)
    • bitbake lib32-rdk-generic-mediaclient-tdk-image

    To enable build with DRM(Playready & Widevine), Please reach out to Amlogic for Openlinux access for DRM libraries. Need to have below repository access.

    Steps to build libloader-apps:

    • Libloader-app recipe path: meta-rdk-video/recipes-extended/cobalt/libloader-app_24.lts.stable.bb
    • Libloader-app append path: meta-rdk-aml/recipes-extended/cobalt/libloader-app_24.lts.stable.bbappend
    • Cobalt plugin recipe path: meta-rdk-video/recipes-extended/cobalt/cobalt-plugin_git.bb
    • RDK Starboard path: build/tmp/work/armv7at2hf-neon-rdkmllib32-linux-gnueabi/lib32-libloader-app/24.lts.stable+gitAUTOINC+ecdcfdb8e5_8e7fcc2fe2-40/git/third_party/starboard/rdk/shared/
    • To build libloader-app or cobalt-plugin modules individually:
      • bitbake lib32-libloader-app
      • bitbake lib32-cobalt-plugin
    • To make changes in Starboard module:
      • Navigate to the starboard path - build/tmp/work/armv7at2hf-neon-rdkmllib32-linux-gnueabi/lib32-libloader-app/24.lts.stable+gitAUTOINC+ecdcfdb8e5_8e7fcc2fe2-40/git/third_party/starboard/rdk/shared/
      • Make necessary changes
      • Come back to build folder
      • Re-compile and build again - bitbake lib32-libloader-app -c compile && bitbake lib32-libloader-app

    Cobalt library path: 

      • Evergreen libloader-app library

    Build steps with non-DRM:

    ...

    • repo init -u https://code.rdkcentral.com/r/collaboration/soc/amlogic/aml-accel-manifests -b rdk-next -m ipstb-google-rdk-next.xml
    • repo sync -j4 --no-clone-bundle
    • source meta-rdk-aml/set-env.sh mesonsc2-5.4-lib32-ah212 --use-rdk-ui --enable-rdk-voice --enable-fireboltcompliance --rdk-starboard --t4hremote --ipclient
      (NOTE: Use --b12remote instead of --t4hremote if B12 remote is used)
    • bitbake lib32-rdk-generic-mediaclient-tdk-image

    Note: Amlogic meta layers and components are in Amlogic collaboration zone. Need to be Amlogic collab-zone approved member to be able to get access.

    RDK uses rdkcentral artifactory to place AlexaSmartScreenVoiceChrome-1.1.0.tar. Removed this depending upon ipclient distro. During build we need to place the tar file in downloads folder

    Refer IPSTB Flashing Steps to flash the image after build has been finished successfully.

    Cobalt relative binaries location/path on the device :

    ...

      • : build/tmp/work/armv7at2hf-neon-rdkmllib32-linux-gnueabi/lib32-libloader-app/

    ...

      • 24.lts.stable

    ...

    In Amlogic the installation slots are present at /data/persistent/Cobalt-0/.cobalt_storage
    /data/persistent/Cobalt-0/.cobalt_storage is created run-time.

    ...

      • Cobalt plugin library: build/tmp/work/armv7at2hf-neon-rdkmllib32-linux-gnueabi/lib32-cobalt-plugin/git+gitAUTOINC+8e7fcc2fe2-r0/image/usr/lib/wpeframework/plugins/libWPEFrameworkCobaltImpl.so

    IPSTB Flashing Steps

    Locate the Image file from build directory

    ...