Skip to end of metadata
Go to start of metadata


This page is dedicated to bring up yocto 3.1 upgradation for RDK generic camera image.

Host Setup

The OpenEmbedded build system should be able to run on Ubuntu 18.04 distribution/other compatible linux distribution with the following versions for Git, tar, and Python.

  • Git or greater
  • tar 1.27 or greater
  • Python 3.4.0 or greater
  • Coreutils(E.g realpath)

Note: You should also have about 50 Gbytes of free disk space for building images.

The essential packages you need for a supported Ubuntu or Debian distribution are shown in the following command:

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
  build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
  xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
  pylint3 xterm bmap-tools

Repo Setup

In order to use Yocto build system, the repo tool must be properly installed on the machine.

To install Repo make sure you have a /bin directory in your home directory and that it is included in your path

Repo Setup Steps
$ mkdir ~/bin
$ PATH=~/bin:$PATH
Download the repo tool and ensure that it is executable
$ curl > ~/bin/repo
$ chmod a+x ~/bin/repo

Note: it is also recommended to put credentials in ~/.netrc when interacting with repo.

A sample ~/.netrc file is illustrated below


Build Procedure

Build step
$ repo init -u "" -m rdkc-nosrc.xml -b yocto-dunfell-upgrade
$ repo sync
$ source meta-cmf-raspberrypi/setup-environment (Choose 11 `meta-cmf-raspberrypi/conf/machine/raspberrypi0-rdk-camera.conf`)
$ bitbake rdk-generic-camera-image

Image Flash Procedure

Flash step
$ bzcat ImageName.wic.bz2 | sudo dd of=/dev/sdc bs=4M iflag=fullblock oflag=direct conv=fsync

bzcat rdk-generic-camera-image-raspberrypi0-rdk-camera.wic.bz2 | sudo dd of=/dev/sdc bs=4M iflag=fullblock oflag=direct conv=fsync

Errors and Challenges

S.NOErrors/challengesReceipes/ReposUpdatesChange setsStatus
1.Add camera manifest files

Added rdkc-nosrc and rdkc-extsrc manifest

file in yocto-dunfell-upgrade branch

2Create dunfell branch for camera component

configmgr, httpclients-utility

ledmgr-camera, plugins, rms

cvr, mediastreamer, thumbnail 

Created yocto dunfel upgrade branch for camera specific componentBranch Created

ERROR: ExpansionError during parsing

fatal: remote error: rdkc/components/opensource/ems unavailable

meta-rdk-camera/recipes-extended/ems/ems_git.bbMoved meta-rdk-camera and meta-cmf-camera latest update upto 23Jul20 from "rdk-next" into "yocto-dunfell-upgrade" branch


ERROR: ExpansionError during parsing


FetchError: Fetcher failure: Unable to resolve 'yocto-dunfell-upgrade' in upstream git repository in git

Specific component source codes are not available in rdkcentral. so,masked this component in file.
5ERROR: ExpansionError during parsing audioserver-sample-apps.bbmeta-rdk-video/recipes-extended/audioserver/
6ERROR: ExpansionError during parsing ctrlm-testapp.bbmeta-rdk-video/recipes-extended/ctrlm/
7ERROR: ExpansionError during parsing audioserver-headers.bbmeta-rdk-video/recipes-extended/audioserver/
8ERROR: ExpansionError during parsing audioserver.bbmeta-rdk-video/recipes-extended/audioserver/
9ERROR: ExpansionError during parsing ctrlm-main.bbmeta-rdk-video/recipes-extended/ctrlm/
10ERROR: ExpansionError during parsing ctrlm-headers.bbmeta-rdk-video/recipes-extended/ctrlm/
11ERROR: ExpansionError during parsing base64_git.bbmeta-rdk-ext/recipes-support/base64/
12ERROR: Nothing RPROVIDES 'ems'meta-cmf-raspberrypi/recipes-core/packagegroups/packagegroup-rdk-oss-camera.bbappendChanged ems into rms because we have recently modified this in rdk-next

ERROR: Nothing PROVIDES 'ffmpeg'

ffmpeg was skipped: because it has a restricted license 'commercial'. Which is not whitelisted in LICENSE_FLAGS_WHITELIST

openembedded-core/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.2.bbConfigured gstreamer1.0-libav preferred version as 1.14.1

ERROR: rtmessage-git-r0 do_fetch: Fetcher failure for URL: 'git://

Please set a valid SRCREV for url

meta-rdk-ext/recipes-common/rtmessage/rtmessage_git.bbAdded SRC_REV in rtmessage_git.bb
15ERROR: rtmessage-git-r0 do_fetch: Fetcher failure: Unable to find file file://rtrouted.confmeta-rdk-ext/recipes-common/rtmessage/rtmessage/Added rtrouted.conf file in rtmessage directory

ERROR: gstreamer1.0-plugins-bad-1.16.2-r0 do_patch

Applying patch gstreamer1.0-plugins-bad_1.patch

Hunk #1 FAILED at 101.

meta-rdk-camera/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappendRemoved meta-rdk-camera/recipes-multimedia/gstreamer folder
17ERROR: QA Issue: rms: The LIC_FILES_CHKSUM does not match for file://LICENSE;md5=ae6150f078ea1c81960d0595a46a293ardkc/components/opensource/rmsMoved rms source latest changes upto 24Jul20 from rdk-next into dunfell branch
18ERROR: bcm2835-bootfiles-20180619-r3 do_fetch: Fetcher failure for URL: ''. Checksum mismatch!meta-cmf-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bbappendMasked bcm2835-bootfiles.bbappend

No rule to make target 'arch/arm/boot/dts/bcm2711-rpi-4-b.dtb

ERROR: Task failed with exit code '1'

meta-rdk/conf/distro/include/rdkc.incUpgrade linux kernel version from 4.14 to 4.19

ERROR: lighttpd-1.5-r0 do_compile: oe_runmake failed

Makefile:1663: recipe for target 'lemon.o' failed

meta-cmf-raspberrypi/conf/machine/raspberrypi0-rdk-camera.confChanged lighttpd preferred version as 1.4.53
21configmgr : fatal error: PRO_file.h: No such file or directoryrdkc/components/opensource/configMgrMoved configmgr source code changes upto 24Jul20 from rdk-next into dunfell branch
22plugins: error: 'RdkCVideoCapturer' does not name a typerdkc/components/opensource/pluginsMoved plugins source code changes upto 27Jul20 from rdk-next into dunfell branch
23ERROR: mediastreamer-git-r0 do_package_qameta-rdk-camera/recipes-multimedia/mediastreamer/mediastreamer_git.bbAdded RDEPENDS file
24Thumbnail : CMake Error at CMakeLists.txt:40 (ADD_SUBDIRECTORY : normal_thumbnail )rdkc/components/opensource/thumbnailMoved thumnail source code changes upto 27Jul20 from rdk-next into dunfell branch
25smart_thumbnail.h:53:10: fatal error: RdkCVideoCapturer.h: No such file or directorymeta-rdk-camera/recipes-multimedia/thumbnail/thumbnail_git.bbAdded plugins dependency at thumbnail receipes.
26thumbnail : fatal error: opencv2/opencv.hpp: No such file or directorymeta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bbAvoid to store opencv header files under opencv4 in sysroot.
27thumbnail : fatal error: mongoose.h: No such file or directorymeta-rdk-camera/recipes-multimedia/thumbnail/thumbnail_git.bbAdded mongoose dependency at thumbnail receipes
28thumbnail : error: 'CV_YUV2BGR_NV12' was not declared in this scoperdkc/components/opensource/thumbnailIncluded types_c.h at normal_thumbnail.h file.
29ERROR: When reparsing /mnt/home/sanil534/Savidha/RDK-C/meta-rdk/recipes-core/images/, the basehash value changed from 1b3e827be261ee60d5bcea3827f4ede9ff99ebbd1c9e101686fe686e5ace3268 to 22d5dc96290d6fa6a5119e634d53e99bdc17d3dd4bf52381e874719822deb742. The metadata is not deterministic and this needs to be fixed.meta-cmf-raspberrypi/recipes-core/images/rdk-generic-camera-image.bbappendAdded BB_HASH_IGNORE_MISMATCH = "1 in rdk-generic-camera-image.bbappend file
30ERROR: rdk-generic-camera-image-1.0-r0 do_rootfs: Taskhash mismatch 271be5777a813d0312a7a1fba331bf05f45a42cd7249ed412f5bbd966a452c21 versus 66a9d352e30c8c1bcca799a340b7051c2fd97feaf98d379678cae7da6d43afc3 for /mnt/home/sanil534/Savidha/RDK-C/meta-rdk/recipes-core/images/ IMAGE_NAME[vardepsexclude] = "DATETIME" in rdk-generic-camera-image.bbappend file
31nothing provides gstreamer1.0-plugins-bad-opengl needed by packagegroup-rdk-gstreamer1-1.0-r0.allmeta-cmf-raspberrypi/recipes-core/packagegroups/packagegroup-rdk-gstreamer1.bbappendOpengl license was whitelisted
32ERROR: userland-20190724-r0 do_patch: Command Error:Patch 0013-Implement-triple-buffering-for-wayland.patch is already appliedmeta-raspberrypi/recipes-graphics/userland/userland_git.bbRemoved morty from machine overrides and distro.
33Bootup Issuemeta-rdk/conf/distro/include/rdkc.incRemoved VC4graphics in camera build to avoid bootup issue
34RDK Media Streamer validation ( RMS ) validationmeta-cmf-raspberrypi/recipes-extended/rms/Moved automatic bootup process changes from rdk-nect into yocto-dunfell-upgrade branch
35Normal Thumbnail validationrdkc/devices/raspberrypi/mediastreamerMoved needed normal thumbnail changes from rdk-next into yocto-dunfell-upgrade

Supported Features

S.NoFeaturesSupported Status
1Ethernet connection(  USB Ethernet Adapter )(tick)
2WiFi Connection(tick)
3RMS ( RDKC Media Server )(tick)
4CVR ( Continuous video recording ) with kvssink(error)
5Normal Thumbnail(tick)
6Firmware upgrade with tftp and xconf server(error)

User Manual for Supported Feature

S.NoFeaturesUser Manual
1RMS ( RDKC Media Server )RDK-C RDKC Media Server( RMS ) - Community
2CVR ( Continuous video recording )RDK-C : Continuos Video Recording (CVR)
3Normal ThumbnailRDK-C Normal Thumbnail
4Firmware upgrade with tftp and xconf serverRDK-C Firmware Upgrade with HTTP and TFTP support
5WebpaRDK-C : WebPA Support

Known Issues and Limitations

  1.  Ethernet connection ( USB Ethernet Adapter):
    •  Able to get 'Ethernet IP' but unable to ping any address like due to this issue not able to validate RMS feature.
  2.  WiFi connection:
    •  After bootup unable to get the 'WiFi IP' address by default.
    • Once we restart the " wpa_supplicant.service" forcefully then we can able to get the 'WiFi IP'.
  3.  RDKC Media Streamer( RMS )
    • After bootup, RMS services are not running.
    • Everytime manually we need to run this  " rms-launcher.service" command to launch rms.

  • No labels