rdk-next Yocto 3.1 dunfell build for Raspberrypi

Created on November 27, 2020

Host Setup

Refer to the link for host setup details: Host Setup

Build Setup

build setup
repo init -u https://code.rdkcentral.com/r/manifests -b dunfell -m rdkv-nosrc.xml
repo sync -j `nproc` --no-clone-bundle --no-tags

Image Build

    image build
    MACHINE=raspberrypi-rdk-mc source meta-cmf-raspberrypi/setup-environment
    bitbake rdk-generic-mediaclient-wpe-image
    image build
    MACHINE=raspberrypi-rdk-hybrid source meta-cmf-raspberrypi/setup-environment
    bitbake rdk-generic-hybrid-wpe-image
    image build
    MACHINE=raspberrypirdkhybrefapp source meta-cmf-raspberrypi/setup-environment
    bitbake rdk-generic-hybrid-refapp-image

    The generated image resides under the directory build-<MACHINE>/tmp/deploy/images/<MACHINE> of the Yocto workspace

    Flash Procedure

    The micro SD card should not have any partition while flashing the image. The complete memory of the card should be free

    # of - output file (the device file for the inserted micro SD card
    bzcat <IMAGE_NAME>-<MACHINE>.wic.bz2 | sudo dd of=/dev/sdb bs=4M iflag=fullblock oflag=direct conv=fsync

    Known Issue

    • Cobalt is crashed upon launching over RDK Shell

    28 responses to “rdk-next Yocto 3.1 dunfell build for Raspberrypi”

    1. Z-Stenal P Jolly says:

      Compile fail on rdkshell

      meta-rdk-video/recipes-graphics/rdkshell/rdkshell_git.bb:do_compile) failed with exit code ‘1’

      | /home/sjolly/rdk-next-v/build-raspberrypi-rdk-mc/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/rdkshell/1.x+gitAUTOINC+90c9c837fc-r0/git/rdkshellimage.cpp:24:10: fatal error: jpeglib.h: No such file or directory

      |    24 | #include <jpeglib.h>

      • Z-Moorthy Baskar says:

        Hi Stenal,

        It’s a known issue. it was fixed at 48437 but not yet merged. In such a way other errors also been fixed and the respective cherrypick commands were given on this page. Please find the ‘apply bug fixes‘ bar and click ‘Expand Source‘ to find the commands.

    2. Z-Stenal P Jolly says:

      May be helpful for someone building.

      Error: 

      bits/c++config.h: No such file or directory

      Fix:

      sudo apt-get install gcc-multilib g++-multilib

    3. Z-Stenal P Jolly says:

      Anyone facing issues with the new fresh build?

      ERROR: Unable to start bitbake server (None)

      ERROR: Server log for this session (build-raspberrypi-rdk-mc/bitbake-cookerdaemon.log):

      --- Starting bitbake server pid 36076 at 2020-12-21 18:54:01.106073 ---

      ERROR: ParseError at ..build-raspberrypi-rdk-mc/conf/local.conf:247: Could not include required file conf/distro/include/##RDK_FLAVOR##.inc
      • Z-Moorthy Baskar says:

        Rarely it happens. every bitbake execution locks the environment and contact server so, if another attempt of bitbake done without completion of the previous, the lock will not be released and causes this error. A hack I can suggest to remove bitbake.lock under build directory and try

    4. Steve Ford says:

      I’ve built a hybrid image for the Pi and flashed it. It boots, but the wired network isn’t getting an IP address.

      There are also a few errors in "/opt/logs/wpeframework.log" that are preventing wpeframework from running, such as:

      • "/usr/lib/libwayland-egl.so.0" doesn’t exist; there is a "libwayland-egl.so.1".
      • westeros-gl: wstGLInit: unable to resolve eglGetDisplay
      • Essos error during initialization: Error. Failed to create a platform context

      Are these problems with my build or is this the current state of the dunfell image?

      • Z-Moorthy Baskar says:


        Hi Steve Ford,

        1. RDK uses a preferred network interface (PNI) controller which enables only 1 network interface at a time and the default is eth0 so, please ensure the ethernet is connected. If wifi has to be used, just ensure ethernet is disconnected and restart the device to get wlan0 interface get up. wifi connection can be tried with the org.rdk.Wifi service’s JSON RPC commands given in the user manual User Manual – RDK Services on RPi#926141268
        2. There is a fix made to address the preload libraries for vc4graphics support and it got merged recently. Also the main constraint in yocto 3.1 RPi builds is RDKshell is not yet supported on vc4graphics. This is the current state.

        • Steve Ford says:


          Thanks Z-Moorthy Baskar, I found the fix and rebuilt the image yesterday. Networking is now fine, so I don’t know what the problem was the first time; I’m using a wired connection and it was all connected up, but anyway, it seems ok now.

          In my new image, starting the wpeframework.service is still failing, so I guess this is the RDKShell problem you mentioned.

          Given the remaining problems, does this mean that a morty build is the only one that’s currently usable?

          • Z-Moorthy Baskar says:


            Hi Steve Ford

            RDKShell crash issue been fixed. The fix is submitted for review in Github https://github.com/rdkcentral/RDKShell/pull/58 also the same applied as a patch on RDK builds (please find the apply bug fixes commands). From the fix, RDKShell crash issue been resolved but it seems that there is a flickering in UI and also webprocess been crashed when try to load playback related UIs like youtube, Metro apps and soon).
            If you really want to explore other RDK services, please change the autostart to false in RDKShell service (/etc/WPEFramework/plugins/RDKShell.json) file. Also a referenceapp.service (systemd service) that runs a script to launch the Switcher App UI on top RDK Shell which can also be stopped to explore other features.

    5. Z-Moorthy Baskar says:

      meta-openembedded dunfell branch introduces GUPnP v 1.2.4 but XUPnP RDK component has GUPnP support till with 1.2.2 version. So, RDK dunfell manifest switches meta-openembedded layer dunfell branch to rdk/dunfell branch

    6. Z-Woojin Moh says:

      I met the build error with qtbase.

      Would you please check it happen for all or just me?

    7. Chaitanya Mahanthi says:


      Hi Z-Woojin Moh 

      I am also facing similar issue while compiling on ubuntu 20.04 machine. Please let me know me if you could found any resolution for the issue.

      • Z-Woojin Moh says:


        Hi Chaitanya Mahanthi,

        Thank you.

        I will share if found any progress or the resolution.

        But guess the best resolution is should change the build machine to ‘Ubuntu 18.04’ as recommended. 

        As you know ‘qt build’ is another big task to find what’s wrong.

        But if the same issue happens at Ubuntu 18.04, I will report it, too.

    8. Z-TANGUY Julien says:

      Hi I’m facing image build issues for Hybrid Gateway with Operator Ref. App.

      Everything seems to build properly till I get to tasks :

      • wpe-webkit-2.22.3 which keep stuck to 0% for ever
      • tr69agent-headers_git which fails as it cannot stat components/generic/tr69/src as it is not in my machin

      Does anyone encountered those same problems ?

      Thanks for you help.

      • Deepthi Suseelan says:


        Z-TANGUY Julien 

        Please share the build commands used and the full errors from tr69agent-headers. Also, in which task is wpe-webkit stuck ?

        • Z-TANGUY Julien says:


          Hi Deepthi Suseelan and thanks for your answer,

          Here are details asked.

          • Build commands :
          export PATH=~/bin:$PATH
          repo init -u https://code.rdkcentral.com/r/manifests -b dunfell -m rdkv-nosrc.xml
          repo sync -j `nproc` --no-clone-bundle --no-tags
          MACHINE=raspberrypirdkhybrefapp source meta-cmf-raspberrypi/setup-environment
          bitbake rdk-generic-hybrid-refapp-image
          • tr69agent-headers build error
          ERROR: tr69agent-headers-1.99+git999-r0 do_install: Execution of '/home/osboxes/workSpace/build-raspberrypirdkhybrefapp/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/tr69agent-headers/1.99+git999-r0/temp/run.do_install.14163' failed with exit code 1
          ERROR: Logfile of failure stored in: /home/osboxes/workSpace/build-raspberrypirdkhybrefapp/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/tr69agent-headers/1.99+git999-r0/temp/log.do_install.14163
          | DEBUG: Executing shell function do_install
          | install: cannot stat '/home/osboxes/workSpace/meta-cmf/../components/generic/tr69/src/integration_interfaces/*.h': No such file or directory
          | WARNING: exit code 1 from a shell command.
          | ERROR: Execution of '/home/osboxes/workSpace/build-raspberrypirdkhybrefapp/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/tr69agent-headers/1.99+git999-r0/temp/run.do_install.14163' failed with exit code 1
          ERROR: Task (/home/osboxes/workSpace/meta-rdk-restricted/recipes-thirdparty/tr69/tr69agent-headers_git.bb:do_install) failed with exit code '1'
          • wpe-webkit
          wpe-webkit-2.22.3+gitAUTOINC+a79319e92c-r0 do_compile

    9. Z-Krishnan says:

      Any suggestion on this error…during bitbake——-bitbake rdk-generic-hybrid-wpe-image

      ERROR: ExpansionError during parsing /home/ntedev/ras/meta-rdk-restricted/recipes-extended/closedcaption/closedcaption_git.bb
      Traceback (most recent call last):
        File "/home/ntedev/ras/openembedded-core/bitbake/lib/bb/fetch2/__init__.py", line 1172, in srcrev_internal_helper(ud=<bb.fetch2.FetchData object at 0x7fdf93b71f60>, d=<bb.data_smart.DataSmart object at 0x7fdf93bdada0>, name='default'):
               if srcrev == "AUTOINC":
          >        srcrev = ud.method.latest_revision(ud, d, name)
           
        File "/home/ntedev/ras/openembedded-core/bitbake/lib/bb/fetch2/__init__.py", line 1587, in Git.latest_revision(ud=<bb.fetch2.FetchData object at 0x7fdf93b71f60>, d=<bb.data_smart.DataSmart object at 0x7fdf93bdada0>, name='default'):
                   except KeyError:
          >            revs[key] = rev = self._latest_revision(ud, d, name)
                       return rev
        File "/home/ntedev/ras/openembedded-core/bitbake/lib/bb/fetch2/git.py", line 700, in Git._latest_revision(ud=<bb.fetch2.FetchData object at 0x7fdf93b71f60>, d=<bb.data_smart.DataSmart object at 0x7fdf93bdada0>, name='default'):
                   """
          >        output = self._lsremote(ud, d, "")
                   # Tags of the form ^{} may not work, need to fallback to other form
        File "/home/ntedev/ras/openembedded-core/bitbake/lib/bb/fetch2/git.py", line 689, in Git._lsremote(ud=<bb.fetch2.FetchData object at 0x7fdf93b71f60>, d=<bb.data_smart.DataSmart object at 0x7fdf93bdada0>, search=''):
                           bb.fetch2.check_network_access(d, cmd, repourl)
          >            output = runfetchcmd(cmd, d, True)
                       if not output:
        File "/home/ntedev/ras/openembedded-core/bitbake/lib/bb/fetch2/__init__.py", line 889, in runfetchcmd(cmd='export PSEUDO_DISABLED=1; export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"; export SSH_AGENT_PID="1380"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export PATH="/home/ntedev/ras/openembedded-core/scripts:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/closedcaption/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin/arm-rdk-linux-gnueabi:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/closedcaption/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot/usr/bin/crossscripts:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/closedcaption/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/sbin:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/closedcaption/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/closedcaption/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/sbin:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/closedcaption/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/bin:/home/ntedev/ras/openembedded-core/bitbake/bin:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/hosttools"; export HOME="/home/ntedev"; git -c core.fsyncobjectfiles=0 ls-remote "https://code.rdkcentral.com/r/components/generic/closedcaption" ', d=<bb.data_smart.DataSmart object at 0x7fdf93be4dd8>, quiet=True, cleanup=[], log=None, workdir=None):
           
          >        raise FetchError(error_message)
           
      bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"; export SSH_AGENT_PID="1380"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export PATH="/home/ntedev/ras/openembedded-core/scripts:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/closedcaption/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin/arm-rdk-linux-gnueabi:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/closedcaption/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot/usr/bin/crossscripts:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/closedcaption/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/sbin:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/closedcaption/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/usr/bin:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/closedcaption/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/sbin:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/closedcaption/fetcheravoidrecurse-fetcheravoidrecurse/recipe-sysroot-native/bin:/home/ntedev/ras/openembedded-core/bitbake/bin:/home/ntedev/ras/build-raspberrypi-rdk-hybrid/tmp/hosttools"; export HOME="/home/ntedev"; git -c core.fsyncobjectfiles=0 ls-remote "https://code.rdkcentral.com/r/components/generic/closedcaption"  failed with exit code 128, output:
      fatal: remote error: access at least one ref not permitted
      
      
      WARNING: /home/ntedev/ras/meta-rdk-restricted/recipes-extended/closedcaption/closedcaption-hal-headers_git.bb: Cooker received SIGTERM, shutting down...
      WARNING: /home/ntedev/ras/meta-cmf-raspberrypi/recipes-oem/mfrlibs/mfrlibs-rpi_0.1.bb: Cooker received SIGTERM, shutting down...
      
      Summary: There were 2 WARNING messages shown.
      Summary: There was 1 ERROR message shown, returning a non-zero exit code.
      
      
      • Ganesh Sahu says:

        This may be because you have an access issue with the closed caption repo. please post more info on the manifest,build steps used and also check whether the repo can be cloned independently.

    10. Z-Girish says:
      While buiding the hybrid-wpe-image for raspberry-pi 1 task is faild for aamp and I could not build any image 
      Summary: 1 task failed:
        /home/ubuntu/meta-rdk-video/recipes-extended/aamp/aamp_git.bb:do_fetch
      Summary: There were 280 WARNING messages shown.
      Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

      Here is the complete error message :

      ERROR: aamp-1.99-r0 do_fetch: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"; export SSH_AGENT_PID="2167"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export PATH="/home/ubuntu/openembedded-core/scripts:/home/ubuntu/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/aamp/1.99-r0/recipe-sysroot-native/usr/bin/arm-rdk-linux-gnueabi:/home/ubuntu/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/aamp/1.99-r0/recipe-sysroot/usr/bin/crossscripts:/home/ubuntu/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/aamp/1.99-r0/recipe-sysroot-native/usr/sbin:/home/ubuntu/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/aamp/1.99-r0/recipe-sysroot-native/usr/bin:/home/ubuntu/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/aamp/1.99-r0/recipe-sysroot-native/sbin:/home/ubuntu/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/aamp/1.99-r0/recipe-sysroot-native/bin:/home/ubuntu/openembedded-core/bitbake/bin:/home/ubuntu/build-raspberrypi-rdk-hybrid/tmp/hosttools"; export HOME="/home/ubuntu"; LANG=C git -c core.fsyncobjectfiles=0 clone --bare --mirror "https://code.rdkcentral.com/r/rdk/components/generic/aamp" /home/ubuntu/build-raspberrypi-rdk-hybrid/../downloads/git2/code.rdkcentral.com.r.rdk.components.generic.aamp --progress failed with exit code 128, no output ERROR: aamp-1.99-r0 do_fetch: Fetcher failure for URL: 'git://code.rdkcentral.com/r/rdk/components/generic/aamp;protocol=https;branch=stable2;nobranch=1;name=aamp'. Unable to fetch URL from any source. ERROR: Logfile of failure stored in: /home/ubuntu/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/aamp/1.99-r0/temp/log.do_fetch.14687 ERROR: Task (/home/ubuntu/meta-rdk-video/recipes-extended/aamp/aamp_git.bb:do_fetch) failed with exit code '1' NOTE: Tasks Summary: Attempted 1725 tasks of which 0 didn't need to be rerun and 1 failed. NOTE: Writing buildhistory NOTE: Writing buildhistory took: 4 seconds
    11. Deepak Kumar says:

      While building RDK-V Hybrid RPI3 Image i am getting these errors.

      ERROR: libinput-git-r0 do_fetch: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"; export SSH_AGENT_PID="1612"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export PATH="/home/chtsl00463/Rdkv/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/libinput/git-r0/recipe-sysroot-native/usr/bin/perl-native:/home/chtsl00463/Rdkv/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/libinput/git-r0/recipe-sysroot-native/usr/bin/python-native:/home/chtsl00463/Rdkv/openembedded-core/scripts:/home/chtsl00463/Rdkv/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/libinput/git-r0/recipe-sysroot-native/usr/bin/arm-rdk-linux-gnueabi:/home/chtsl00463/Rdkv/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/libinput/git-r0/recipe-sysroot/usr/bin/crossscripts:/home/chtsl00463/Rdkv/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/libinput/git-r0/recipe-sysroot-native/usr/sbin:/home/chtsl00463/Rdkv/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/libinput/git-r0/recipe-sysroot-native/usr/bin:/home/chtsl00463/Rdkv/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/libinput/git-r0/recipe-sysroot-native/sbin:/home/chtsl00463/Rdkv/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/libinput/git-r0/recipe-sysroot-native/bin:/home/chtsl00463/Rdkv/openembedded-core/bitbake/bin:/home/chtsl00463/Rdkv/build-raspberrypi-rdk-hybrid/tmp/hosttools"; export HOME="/home/chtsl00463"; LANG=C git -c core.fsyncobjectfiles=0 clone –bare –mirror "https://gitlab.freedesktop.org/libinput/libinput.git" /home/chtsl00463/Rdkv/build-raspberrypi-rdk-hybrid/../downloads/git2/gitlab.freedesktop.org.libinput.libinput.git –progress failed with exit code 128, no output
      ERROR: libinput-git-r0 do_fetch: Fetcher failure for URL: ‘git://gitlab.freedesktop.org/libinput/libinput.git;protocol=https;branch=main‘. Unable to fetch URL from any source.
      ERROR: Logfile of failure stored in: /home/chtsl00463/Rdkv/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/libinput/git-r0/temp/log.do_fetch.9061
      ERROR: Task (/home/chtsl00463/Rdkv/meta-rdk-ext/recipes-graphics/libinput/libinput_git.bb:do_fetch) failed with exit code ‘1’

    Leave a Reply

    Your email address will not be published.

    Go To Top