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
34ERROR: Nothing RPROVIDES 'faad2'meta-cmf-raspberrypi/recipes-core/packagegroups/packagegroup-rdk-gstreamer1.bbappend Allowed fadd2 with LICENSE_FLAGS_WHITELIST conditional check.

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

Merged
35nothing provides gstreamer1.0-plugins-bad-faad needed by packagegroup-rdk-gstreamer1-1.0-r0.allmeta-cmf-raspberrypi/recipes-core/packagegroups/packagegroup-rdk-gstreamer1.bbappendAllowed gstreamer1.0-plugins-bad-faad with LICENSE_FLAGS_WHITELIST conditional check.https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi/+/42814Merged
36libconfigmgr.so: undefined reference to `PRO_GetStr'rdkc/components/opensource/configMgrMoved Configmgr changes from rdk-next branch into yocto-dunfell-upgrade branchhttps://code.rdkcentral.com/r/c/rdkc/components/opensource/configMgr/+/43630in-progress
37ERROR: glib-2.0-native-1_2.62.6-r0 do_patchmeta-rdk-ext/recipes-core/glib-2.0rebase RDK patch from glib 2.62.4 to glib 2.62.6https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk-ext/+/43124Merged

Supported feature updates

S.NOErrors/challengesReceipes/ReposUpdatesChange setsStatus
1.RDK Media Streamer validation ( RMS ) validationmeta-cmf-raspberrypi/recipes-extended/rms/Moved automatic bootup process changes from rdk-nect into yocto-dunfell-upgrade branch

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

Merged
meta-cmf-raspberrypi/recipes-extended/rmsBy default triggered rms and mediastreamer service without any dependency.https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi/+/43071Merged
2Normal 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
3CVR validation with kvssink and AWS basic credential( Access id and secret access key)meta-cmf-raspberrypi/recipes-multimedia/cvrMoved cvr with kvssink validation related changes from morty into dunfellhttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi/+/42824Merged
meta-rdk-extMoved jsmn,kvs,log4cplus and gtest receipes from morty into dunfellhttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-rdk-ext/+/42825Merged
4Firmware upgrade validation at yocto 3.1 camera imagemeta-cmf-raspberrypi/recipes-extended/sysintMoved firmware upgrade changes from rdk-next branch into yocto-dunfell-upgrade branchhttps://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi/+/43480Merged

Supported Features

S.NoFeaturesSupported StatusRemark
1Ethernet connection(  USB Ethernet Adapter )(tick)NA
2WiFi Connection(tick)NA
3RMS ( RDKC Media Server )(tick)NA
4CVR ( Continuous video recording ) with kvssink(tick)NA
5Normal Thumbnail(tick)NA
6Firmware upgrade with tftp and xconf server(tick)NA
7Webpa(error)CMFSUPPORT-38 : In-progress to host the webpa-camera in xmidt-org github

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

Known Issues and Limitations

  1.  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'.
  2.  System date and time is not properly updating.


  • No labels