Introduction

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 1.8.3.1 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 http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/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

.netrc
machine code.rdkcentral.com
login YOUR_USERNAME
password YOUR_PASSWORD

Build Procedure

Build step
$ repo init -u "https://code.rdkcentral.com/r/manifests" -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

Ex:
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

https://code.rdkcentral.com/r/c/manifests/+/41610

Merged
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
3

ERROR: ExpansionError during parsing ems_git.bb

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

https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk-camera/+/42088

https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-camera/+/42090

Merged
4

ERROR: ExpansionError during parsing webpacamera_git.bb

meta-rdk-camera/recipes-common/webpacamera/webpacamera_git.bb

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 rdkc.inc file.

https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk/+/42095Merged
5ERROR: ExpansionError during parsing audioserver-sample-apps.bbmeta-rdk-video/recipes-extended/audioserver/audioserver-sample-apps.bb
6ERROR: ExpansionError during parsing ctrlm-testapp.bbmeta-rdk-video/recipes-extended/ctrlm/ctrlm-testapp.bb
7ERROR: ExpansionError during parsing audioserver-headers.bbmeta-rdk-video/recipes-extended/audioserver/audioserver-headers.bb
8ERROR: ExpansionError during parsing audioserver.bbmeta-rdk-video/recipes-extended/audioserver/audioserver.bb
9ERROR: ExpansionError during parsing ctrlm-main.bbmeta-rdk-video/recipes-extended/ctrlm/ctrlm-main.bb
10ERROR: ExpansionError during parsing ctrlm-headers.bbmeta-rdk-video/recipes-extended/ctrlm/ctrlm-headers.bb
11ERROR: ExpansionError during parsing base64_git.bbmeta-rdk-ext/recipes-support/base64/base64_git.bb
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-nexthttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi/+/42105Merged
13

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.1https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk/+/42106Merged
14

ERROR: rtmessage-git-r0 do_fetch: Fetcher failure for URL: 'git://code.rdkcentral.com/r/rdkc/components/opensource/rtmessage

Please set a valid SRCREV for url

meta-rdk-ext/recipes-common/rtmessage/rtmessage_git.bbAdded SRC_REV in rtmessage_git.bbhttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk-ext/+/42108Merged
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
16

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 folderhttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk-camera/+/42113Merged
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 branchhttps://code.rdkcentral.com/r/c/rdkc/components/opensource/rms/+/42114Merged
18ERROR: bcm2835-bootfiles-20180619-r3 do_fetch: Fetcher failure for URL: 'https://github.com/raspberrypi/firmware/archive/748fb17992426bb29d99224b93cb962fefbdc833.tar.gz'. Checksum mismatch!meta-cmf-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bbappendMasked bcm2835-bootfiles.bbappendhttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk/+/42115Merged
19

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

ERROR: Task linux-raspberrypi_4.14.bb:do_compile failed with exit code '1'

meta-rdk/conf/distro/include/rdkc.incUpgrade linux kernel version from 4.14 to 4.19https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk/+/42223Merged
20

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.53https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi/+/42116Merged
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 branchhttps://code.rdkcentral.com/r/c/rdkc/components/opensource/configMgr/+/42149Merged
22plugins: error: 'RdkCVideoCapturer' does not name a typerdkc/components/opensource/pluginsMoved plugins source code changes upto 27Jul20 from rdk-next into dunfell branchhttps://code.rdkcentral.com/r/c/rdkc/components/opensource/plugins/+/42151Merged
23ERROR: mediastreamer-git-r0 do_package_qameta-rdk-camera/recipes-multimedia/mediastreamer/mediastreamer_git.bbAdded RDEPENDS mediastreamer_git.bb filehttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk-camera/+/42152Merged
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 branchhttps://code.rdkcentral.com/r/c/rdkc/components/opensource/thumbnail/+/42167Merged
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.https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk-camera/+/42173Merged
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.https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk-ext/+/42201Merged
27thumbnail : fatal error: mongoose.h: No such file or directorymeta-rdk-camera/recipes-multimedia/thumbnail/thumbnail_git.bbAdded mongoose dependency at thumbnail receipeshttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk-camera/+/42204Merged
28thumbnail : error: 'CV_YUV2BGR_NV12' was not declared in this scoperdkc/components/opensource/thumbnailIncluded types_c.h at normal_thumbnail.h file.https://code.rdkcentral.com/r/c/rdkc/components/opensource/thumbnail/+/42205Merged
29ERROR: When reparsing /mnt/home/sanil534/Savidha/RDK-C/meta-rdk/recipes-core/images/rdk-generic-camera-image.bb:do_populate_lic_deploy, 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 filehttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi/+/42206Merged
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/rdk-generic-camera-image.bb:do_rootfsmeta-cmf-raspberrypi/recipes-core/images/rdk-generic-camera-image.bbappendAdded 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 whitelistedhttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi/+/42212Merged
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.https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi/+/42248Merged
33Bootup Issuemeta-rdk/conf/distro/include/rdkc.incRemoved VC4graphics in camera build to avoid bootup issuehttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk/+/42384Merged
34RDK Media Streamer validation ( RMS ) validationmeta-cmf-raspberrypi/recipes-extended/rms/Moved automatic bootup process changes from rdk-nect into yocto-dunfell-upgrade branchhttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi/+/42387Merged
35Normal Thumbnail validationrdkc/devices/raspberrypi/mediastreamerMoved needed normal thumbnail changes from rdk-next into yocto-dunfell-upgradehttps://code.rdkcentral.com/r/c/rdkc/devices/raspberrypi/mediastreamer/+/42390Merged

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)
7Webpa(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 www.google.com 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