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)

rdknext
  • collab -m
aml_ipstb_google_rdk_starboard.xml 
  • rdkv-aml-open-va-google.xml
  • repo sync -j4 --no-clone-bundle
  • source ./meta-rdk-aml/set-env.sh mesonsc2-5.
4
  • 15-lib32-ah212 --
ipclient
  • use-rdk-ui --playready --widevine --rdk-starboard --enable-
-rdk-ui
bitbake lib32
  • evergreen-full --enable-rialto --enable-webkit238 --enable-wper4 --ipclient
  • bitbake  lib32-rdk-
generic
  • ipstb-
mediaclient
  • 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.

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

repo init -u https://code.rdkcentral.com/r/rdk/soc/amlogic/aml-manifests -b rdk-next -m aml_ipstb_google_rdk_starboard-openrdk 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

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

Build Steps to build RDKstarboard with Amlogic pre-builds(github) and non-drm:

  • -collab -m  feature-rdkv-aml-open-va-google.xml
  • repo sync -j4 --no-clone-bundle
For Amlogic UI:
  • source ./meta-rdk-aml/set-env.sh mesonsc2-5.4-lib32-ah212 --
gst1
  • use-rdk-
18
  • ui --
ipclient
  • playready --
rdk-starboard
For RDK UI:
source meta
  • widevine --rdk-
aml/set-env.sh mesonsc2-5.4-lib32-ah212 --gst1-18 --ipclient --rdk-starboard --use-rdk-ui
  • bitbake lib32-rdk-generic-mediaclient-image
  • Refer IPSTB Flashing Steps to flash the image after build has been finished successfully.

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

    ...

    languagebash

    ...

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


    Build steps with ACK 5.15 branch

    ...

    ...

    • -b

    ...

    • rdk-next

    ...

    • -m

    ...

    • rdkv-aml-va-ack515rel-dunfell.xml 
    • repo sync -j4 --no-clone-bundle

    ...

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

    ...

    • mesonsc2-5.

    ...

    • 15-lib32-ah212

    ...

    • --

    ...

    • use-

    ...

    • rdk-ui -

    ...

    • -playready -

    ...

    • -

    ...

    • widevine --rdk-

    ...

    • starboard --enable-evergreen-full --enable-rialto --enable-webkit238 --enable-wper4 --ipstb  --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.

    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

    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

    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

    ...