Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

BUD17-412: OpenSDK OE Builds on 96Boards

379 views

Published on

"Session ID: BUD17-412
Session Name: OpenSDK OE Builds on 96Boards - BUD17-412
Speaker: Andrey Konovalov
Track: LHG


★ Session Summary ★
One year ago, LHG launched an effort to organize the LHG components in the OE layer and create public builds. This presentation summarizes the work to add LHG specific features via meta-lhg and merge with support from 96Boards OE meta layers. The specific meta-lhg contents are described and how they are combined to create the LHG OE builds on 96Boards targets.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/bud17/bud17-412/
Presentation: https://www.slideshare.net/linaroorg/bud17412-opensdk-oe-builds-on-96boards
Video: https://youtu.be/SoGL8ZEW_LQ
---------------------------------------------------

★ Event Details ★
Linaro Connect Budapest 2017 (BUD17)
6-10 March 2017
Corinthia Hotel, Budapest,
Erzsébet krt. 43-49,
1073 Hungary

---------------------------------------------------
Keyword: 96Boards, OpenSDK, OE, LHG
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961"

Published in: Technology
  • This is really helpful! However, if you don't want to waste any more time and other resources on coding your way to a SDK, I can recommend a solution! Streamaxia's OpenSDK will integrate an amazing live video streaming library directly in your app, in a matter of seconds! It works with multiple platforms, such as Twitch, Twitter's Periscope, Facebook live, YouTube live and many more. You can download it for free here: https://www.streamaxia.com/opensdk-ios-rtmp-library/ and try it for a spin! Hope this info helps some of you. Happy streaming!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

BUD17-412: OpenSDK OE Builds on 96Boards

  1. 1. OpenSDK OE Builds on 96Boards Andrey Konovalov (LHG)
  2. 2. ENGINEERS AND DEVICES WORKING TOGETHER OpenSDK OE Builds on 96Boards ● Use the same OE build system as Reference Platform Builds do ● meta-lhg layer contains components developed inside LHG ● The builds are running in jenkins. Only one image (per every supported board) is built: Weston with Chromium browser included into the image ● The images produced by these builds are published at snapshots.linaro.org ● Boards supported: DragonBoard-410c, HiKey, Beagle X15
  3. 3. ENGINEERS AND DEVICES WORKING TOGETHER OpenSDK OE Builds: key components ● HW accelerated graphics: BSP layers (meta-96boards, meta-qcom, meta-ti) ● gstreamer, mesa: Linaro’s meta-backports layer Current versions: gstreamer 1.10.3, mesa 13.0.4 ● OPTEE: Linaro’s meta-linaro/meta-optee Current version: OPTEE 2.3.0 ● Chromium + OpenCDM: LHG’s fork of meta-browser layer Current version: chromium_v45 ● AES descriptor TA: meta-lhg
  4. 4. ENGINEERS AND DEVICES WORKING TOGETHER Meta-lhg structure https://github.com/linaro-home/meta-lhg ● meta-lhg layer: The OpenEmbedded layer for LHG specific components. lhg-westeros-wpe-image and rpb-westonchromium-image recipes, optee-aes-decryptor recipe, chromium and portmap bbappends (needed by OpenCDM), nss_3.19 needed by the (old) chromium version used ● meta-lhg-integration: This layer contains fixes or workarounds needed to integrate components external to LHG into public LHG OE builds. Mostly weston and ti-sgx-ddk-um (powervr userland driver) bbappends needed to enable this driver in weston, and couple other bbappends
  5. 5. ENGINEERS AND DEVICES WORKING TOGETHER LHG contributes to meta-rpb and meta-96boards (or why meta-lhg is that small) About a year ago meta-lhg was considerably bigger than it is now. Its content was reviewed, the components which are useful outside LHG have been moved to proper layers. E.g. conf/distro/include/egl.inc in meta-rpb - selects the proper EGL/GLES provider meta-96boards/recipes-graphics/mali-userland in meta-96boards - added public Mali450 userland driver
  6. 6. ENGINEERS AND DEVICES WORKING TOGETHER Next Steps ● chromium is be updated to a more recent version, the OpenCDM plugin included ● fix HW accelerated playback in gstreamer with waylandsink (rendering issue) ● ...
  7. 7. ENGINEERS AND DEVICES WORKING TOGETHER OpenSDK pre-built images ● Jenkins jobs: ○ https://ci.linaro.org/view/All/job/lhg-oe-build/ aka “stable” May miss most recent changes or have workarounds for the issues which couldn’t be resolved in short term. This is the choice for those who need it working out of the box. ○ https://ci.linaro.org/view/All/job/lhg-oe-build-next/ aka “staging” Uses the tips of the relevant trees The both builds are based on current yocto release, Morty atm. ● Pre-built images: “stable” - http://snapshots.linaro.org/openembedded/pre-built/lhg/morty/ “staging” - http://snapshots.linaro.org/openembedded/pre-built/lhg/morty-staging/
  8. 8. ENGINEERS AND DEVICES WORKING TOGETHER Building OpenSDK images See https://github.com/linaro-home/lhg-oe-manifests (the README.md) Check the “Required Packages” section in Yocto Project Reference Manual. This is essentially: repo init -u https://github.com/linaro-home/lhg-oe-manifests.git -b morty repo sync source setup-environment bitbake rpb-westonchromium-image Two common issues faced when doing an OE build first time: ● Doing it on a VM with 1GB of RAM ● Download (do_fetch) failures when downloading from behind a proxy An rpb-westonchromium-image build needs approx. 10GB of (virtual) RAM and 100GB of free disk space
  9. 9. OpenSDK OE Builds on 96Boards Andrey Konovalov (LHG)
  10. 10. ENGINEERS AND DEVICES WORKING TOGETHER OpenSDK OE Builds on 96Boards ● Use the same OE build system as Reference Platform Builds do ● meta-lhg layer contains components developed inside LHG ● The builds are running in jenkins. Only one image (per every supported board) is built: Weston with Chromium browser included into the image ● The images produced by these builds are published at snapshots.linaro.org ● Boards supported: DragonBoard-410c, HiKey, Beagle X15
  11. 11. ENGINEERS AND DEVICES WORKING TOGETHER OpenSDK OE Builds: key components ● HW accelerated graphics: BSP layers (meta-96boards, meta-qcom, meta-ti) ● gstreamer, mesa: Linaro’s meta-backports layer Current versions: gstreamer 1.10.3, mesa 13.0.4 ● OPTEE: Linaro’s meta-linaro/meta-optee Current version: OPTEE 2.3.0 ● Chromium + OpenCDM: LHG’s fork of meta-browser layer Current version: chromium_v45 ● AES descriptor TA: meta-lhg
  12. 12. ENGINEERS AND DEVICES WORKING TOGETHER Meta-lhg structure https://github.com/linaro-home/meta-lhg ● meta-lhg layer: The OpenEmbedded layer for LHG specific components. lhg-westeros-wpe-image and rpb-westonchromium-image recipes, optee-aes-decryptor recipe, chromium and portmap bbappends (needed by OpenCDM), nss_3.19 needed by the (old) chromium version used ● meta-lhg-integration: This layer contains fixes or workarounds needed to integrate components external to LHG into public LHG OE builds. Mostly weston and ti-sgx-ddk-um (powervr userland driver) bbappends needed to enable this driver in weston, and couple other bbappends
  13. 13. ENGINEERS AND DEVICES WORKING TOGETHER LHG contributes to meta-rpb and meta-96boards (or why meta-lhg is that small) About a year ago meta-lhg was considerably bigger than it is now. Its content was reviewed, the components which are useful outside LHG have been moved to proper layers. E.g. conf/distro/include/egl.inc in meta-rpb - selects the proper EGL/GLES provider meta-96boards/recipes-graphics/mali-userland in meta-96boards - added public Mali450 userland driver
  14. 14. ENGINEERS AND DEVICES WORKING TOGETHER Next Steps ● chromium is be updated to a more recent version, the OpenCDM plugin included ● fix HW accelerated playback in gstreamer with waylandsink (rendering issue) ● ...
  15. 15. ENGINEERS AND DEVICES WORKING TOGETHER OpenSDK pre-built images ● Jenkins jobs: ○ https://ci.linaro.org/view/All/job/lhg-oe-build/ aka “stable” May miss most recent changes or have workarounds for the issues which couldn’t be resolved in short term. This is the choice for those who need it working out of the box. ○ https://ci.linaro.org/view/All/job/lhg-oe-build-next/ aka “staging” Uses the tips of the relevant trees The both builds are based on current yocto release, Morty atm. ● Pre-built images: “stable” - http://snapshots.linaro.org/openembedded/pre-built/lhg/morty/ “staging” - http://snapshots.linaro.org/openembedded/pre-built/lhg/morty-staging/
  16. 16. ENGINEERS AND DEVICES WORKING TOGETHER Building OpenSDK images See https://github.com/linaro-home/lhg-oe-manifests (the README.md) Check the “Required Packages” section in Yocto Project Reference Manual. This is essentially: repo init -u https://github.com/linaro-home/lhg-oe-manifests.git -b morty repo sync source setup-environment bitbake rpb-westonchromium-image Two common issues faced when doing an OE build first time: ● Doing it on a VM with 1GB of RAM ● Download (do_fetch) failures when downloading from behind a proxy An rpb-westonchromium-image build needs approx. 10GB of (virtual) RAM and 100GB of free disk space
  17. 17. Thank You #BUD17 For further information: www.linaro.org BUD17 keynotes and videos on: connect.linaro.org
  18. 18. Thank You #BUD17 For further information: www.linaro.org BUD17 keynotes and videos on: connect.linaro.org

×