...
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 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.
4ipclient - use-rdk-ui --playready --widevine --rdk-starboard --enable-
-rdk-ui bitbake lib32- evergreen-full --enable-rialto --enable-webkit238 --enable-wper4 --ipclient
- bitbake lib32-rdk-
genericmediaclient |
---|
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-open |
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
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 --
|
---|
gst118 ipclient rdk-starboardFor RDK UI:source metaaml/set-env.sh mesonsc2-5.4-lib32-ah212 --gst1-18 --ipclient --rdk-starboard --use-rdk-uibitbake lib32-rdk-generic-mediaclient-imageRefer 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
...
...
- starboard --enable-evergreen-full --enable-rialto --enable-webkit238 --enable-wper4 --ipclient
- bitbake lib32-rdk-ipstb-oss-image
Build steps with ACK 5.15 branch |
---|
...
...
...
...
...
- rdkv-aml-va-ack515rel-dunfell.xml
- repo sync -j4 --no-clone-bundle
|
---|
...
- source ./meta-rdk-aml/set-env.sh
|
---|
...
...
...
...
...
...
...
...
...
- 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 |
---|
|
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 |
---|
|
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/
...
...
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
...