RPI 4B model reference platform for RDKV

Created on July 30, 2021

Host setup:

Refer to the link for host setup details: Host Setup


Repo setup:

Repo 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

Build Instructions:

    Image build
    $ MACHINE=raspberrypi4-rdk-mc source meta-cmf-raspberrypi/setup-environment
    $ bitbake rdk-generic-mediaclient-wpe-image
    Image build
    $ MACHINE=raspberrypi4-rdk-hybrid source meta-cmf-raspberrypi/setup-environment
    $ bitbake rdk-generic-hybrid-wpe-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

    Flashing procedure
    # 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 Issues:

    1. Accelerator home UI(TV UI) is not loading consistently.
    2. Accelerator UI is not loading when connected over wifi.
    3. Video playback is not working through rmfapp.

    NOTE :

    RPI4 support is enabled only on dunfell with 32 bit Kernel.[64 bit kernel migration is in progress]

    12 responses to “RPI 4B model reference platform for RDKV”

    1. Akshay J says:


      Hi, Sri Swati Varahagiri 

      When my pi4 is connected to display only the terminal comes up. No RDK UI.

      Is it disabled on Pi4. residentapp.service status is loaded active exited. Controller Page also doesnt populate. just blank.

      I tried rdk-next nosrc, 2021q4-dunfell… This issue is there accross.

      • Sri Swati Varahagiri says:


        Hi Akshay J ,

        Can you try to disable the getty service, terminal will not be displayed. 

        After that if the residentUI is not seen in display, check the which dri card is picked (/dev/dri/cardX), in wpeframework logs.

        Then follow the below procedure as a work around.

        1. Open wpeframework environment file. (vi /etc/wpeframework/WPEFramework.env)
        2. Add WESTEROS_DRM_CARD=/dev/dri/card0 (i.e replace existing card0 with card1 or vice versa), save and close the file.
        3. Run systemctl daemon-reload
        4. Run systemctl restart wpeframework command.

    2. Z-Noah Thederahn says:


      Sri Swati Varahagiri 

      Trying to get this to build, however I seem to be missing dependencies or something as I keep failing on the following task:

      | ERROR: Execution of '/home/noah/rdk-v/build-raspberrypi4-rdk-mc/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/wpe-webkit/2.22.4+gitAUTOINC+ed39c92e59-r0/temp/run.do_compile.3423' failed with exit code 1

      ERROR: Task (/home/noah/rdk-v/meta-rdk-ext/recipes-extended/wpe-webkit/wpe-webkit_2.22.4.bb:do_compile) failed with exit code '1'

      • Karl ROUSSEAU says:

        Hi Noah,

        Your issue on wpe-webkit seems to be the common one (i.e. biggest task to compile inside the RDK) where you haven’t put enough free RAM to your VirtualBox VM. Just try to put more than 8GB like 16GB which will help a lot.

    3. Amar Chand says:

      Hi Swati ,  

      am getting below issue in  Task (/data/Raspberri-PI/RPI-4B/meta-qt5/recipes-qt/qt5/qtbase-native_5.1.1.bb:do_configure) failed with exit code ‘1’

      Running configuration tests…
      Failed to process makespec for platform ‘linux-oe-g++’
      Cannot find feature spec_pre.prf
      Error processing project file: /dev/null
      ERROR: Configuring qt failed. EXTRA_OECONF was      -dont-process     -prefix /data/Raspberri-PI/RPI-4B/build-raspberrypi4-rdk-hybrid/tmp/work/x86_64-linux/qtbase-native/5.1.1-r0/recipe-sysroot-native/usr     -sysroot /data/Raspberri-PI/RPI-4B/build-raspberrypi4-rdk-hybrid/tmp/work/x86_64-linux/qtbase-native/5.1.1-r0/recipe-sysroot-native     -no-gcc-sysroot     -system-zlib     -no-libjpeg     -no-libpng     -no-gif     -no-accessibility     -no-cups     -no-nis     -no-gui     -no-qml-debug     -no-sql-mysql     -no-sql-sqlite     -no-opengl     -no-openssl     -no-xcb     -no-icu     -verbose     -release     -prefix /data/Raspberri-PI/RPI-4B/build-raspberrypi4-rdk-hybrid/tmp/work/x86_64-linux/qtbase-native/5.1.1-r0/recipe-sysroot-native/usr     -bindir /data/Raspberri-PI/RPI-4B/build-raspberrypi4-rdk-hybrid/tmp/work/x86_64-linux/qtbase-native/5.1.1-r0/recipe-sysroot-native/usr/bin/qt5     -libdir /data/Raspberri-PI/RPI-4B/build-raspberrypi4-rdk-hybrid/tmp/work/x86_64-linux/qtbase-native/5.1.1-r0/recipe-sysroot-native/usr/lib     -headerdir /data/Raspberri-PI/RPI-4B/build-raspberrypi4-rdk-hybrid/tmp/work/x86_64-linux/qtbase-native/5.1.1-r0/recipe-sysroot-native/usr/include/qt5     -archdatadir /data/Raspberri-PI/RPI-4B/build-raspberrypi4-rdk-hybrid/tmp/work/x86_64-linux/qtbase-native/5.1.1-r0/recipe-sysroot-native/usr/lib/qt5     -datadir /data/Raspberri-PI/RPI-4B/build-raspberrypi4-rdk-hybrid/tmp/work/x86_64-linux/qtbase-native/5.1.1-r0/recipe-sysroot-native/usr/share/qt5     -docdir /data/Raspberri-PI/RPI-4B/build-raspberrypi4-rdk-hybrid/tmp/work/x86_64-linux/qtbase-native/5.1.1-r0/recipe-sysroot-native/usr/share/doc/qt5     -sysconfdir /data/Raspberri-PI/RPI-4B/build-raspberrypi4-rdk-hybrid/tmp/work/x86_64-linux/qtbase-native/5.1.1-r0/recipe-sysroot-native/etc/qt5     -no-glib     -no-iconv     -silent     -nomake examples     -nomake tests     -no-rpath     -platform linux-oe-g++
      WARNING: /data/Raspberri-PI/RPI-4B/build-raspberrypi4-rdk-hybrid/tmp/work/x86_64-linux/qtbase-native/5.1.1-r0/temp/run.do_configure.4170459:1 exit 1 from ‘exit 1’
      ERROR: Execution of ‘/data/Raspberri-PI/RPI-4B/build-raspberrypi4-rdk-hybrid/tmp/work/x86_64-linux/qtbase-native/5.1.1-r0/temp/run.do_configure.4170459’ failed with exit code 1

    4. Philip James says:


      Hi Amar Chand Can you please try what Martin Tkacik has suggested. If the the issue is not solved please try the build from Ubuntu 18.04 LTS.

    5. Amar Chand says:


      Using : Ubuntu => 20.0.4

      Thanks Martin Tkacik  for your reply . I tried to build the code using gcc/g++ 7.5.0 version . This time QT module build is OK  is  but now observe issue  compiling cobalt  modules . I can not attach full logs files  ,looks some permission issue.

      ../../third_party/protobuf/src/google/protobuf/reflection_ops.cc -o obj.host/third_party/protobuf/src/google/protobuf/protobuf_full_do_not_use.reflection_ops.cc.o
      In file included from ../../third_party/protobuf/src/google/protobuf/reflection_ops.cc:35:0:
      /usr/include/c++/7/string:38:10: fatal error: bits/c++config.h: No such file or directory
       #include <bits/c++config.h>
                ^~~~~~~~~~~~~~~~~~
      compilation terminated.
      ninja: build stopped: subcommand failed.
      WARNING: 

      @ @Philip James ,  I can not use Ubuntu 18.0.4   as of now . My AWS -EC2 instance having only 20.0.4 version

      • Martin Tkacik says:


        Hello Amar Chand . I am happy, that my suggestion is useful for you.

        Now you need to install multilib for your version of gcc/g++.

        Please try to install g++-7-multilib and gcc-7-multilib, in this case.

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Go To Top