Versions Compared

Key

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

...

Expand
titleHow to handle prebuilts? 
OE/Yocto has a feature called SSTATE(shared state) to deliver prebuilts amongst users. Shared state is currently configured with OE/Yocto projects.

Prebuilds are handled internally by Yocto by using sstate-cache. If a prebuilt from a known good build is available, the build can point to that folder via the conf file inside the ./build<buildtype>/conf/ folder so that the prebuilts are picked up from the location

Expand
titleHow long do the builds/single component builds take?
  • If you use sstate and use the jenkins build node configuration, a complete build to generate images takes about 20 to 30 mins when nothing is modified.
  • Single component builds vary depending on how deep they are entangled in build dependency chain. e.g. if you modified say C library (libc) this is pretty deep in stack and it would end up rebuilding dependent components if you were to build full image with this changed libc it might take 30+ minutes. But if you changed a leaf component which is on top of dependency stack then you will probably need less than 5 mins to rebuild it

    This depend entirely on multiple factors like capacity of build machine, first time build or repeated build in the same work space as well as changes in components on which the component in question depends on( if there is a change, the depending component is first built and then the dependent component ) and hence cannot be answered directly.

    Expand
    titleWhat are the commands to build a specific sub-component (WPE, Utopia etc...)? 

    When you checkout sandbox every component is independently buildable, and bitbake ( OE's build engine) is responsible to identify and sort the component dependency chain and ensure its built along. if you were to build a single component the commands are

    bitbake <component>

    where component is in one to one relation with .bb ( recipe ) file that can be found in the Yocto/OE metadata ( meta-rdk* layers ) e.g. if you were to build rdkbrowser then you would see that its recipe is housed in generic layer called meta-rdk-cmf and recipe is called rdkbrowser.bb so you would do

    bitbake rdkbrowser

    However this will only generate CMF component and for packaging it up into final image you still will have to build the image component to repackage rdkbrowser

    bitbake rdk-generic-hybrid-wpe-image

    would generate the CMF generic image for hybrid devices. it will only rebuild the affected components when building the image if nothing has changed it will not recreate the image.

    ...