Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Children Display

Table of Contents

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:

Code Block
languagebash
themeRDark
$ 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

Code Block
languagebash
themeRDark
titleRepo 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

Code Block
languagebash
themeRDark
title.netrc
machine code.rdkcentral.com login YOUR_USERNAME password YOUR_PASSWORD

Yocto Build Steps

To build, follow below instructions

Code Block
languagebash
themeMidnight
titleBuild Steps
$ mkdir <workspace dir>
$ cd <workspace dir>
$ repo init -u https://code.rdkcentral.com/r/reference/manifests -m rdkb-extsrc.xml -b dunfell
$ repo sync -j`nproc` --no-clone-bundle
$ MACHINE=raspberrypi4-64-rdk-broadband source meta-cmf-raspberrypi/setup-environment 
$ bitbake rdk-generic-broadband-image

Flashing Procedure

Following command can be used to flash the RPI image to sd card using linux machine . bmap tool should be available in linux

Code Block
themeMidnight
titleFlash command
bzip2 -d <path to ImageName.wic.bz2>
sudo -E bmaptool copy --nobmap <path to ImageName.wic> <path to SD card space>

Example:

$ bzip2 -d rdk-generic-broadband-image-raspberrypi4-64-rdk-broadband.wic.bz2
$ sudo -E bmaptool copy --nobmap rdk-generic-broadband-image-raspberrypi4-64-rdk-broadband.wic /dev/sdb

Errors and Challenges


S.No

       Recipe              Layer         Error/Warning             Root  Cause                    Action
1ccsp-common-library
../../../../../../../../../../../../rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/utilities/AnscObjectArray/AnscUIntArray/ansc_uint_array_co_process.c: In function 'AnscUIntArrayGetAt':
../../../../../../../../../../../../rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/utilities/AnscObjectArray/AnscUIntArray/ansc_uint_array_co_process.c:278:16: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
  278 |         return (ANSC_OBJECT_ARRAY_DATA)pStorage[ulIndex];
                    ^
../../../../../../../../../../../../rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/utilities/AnscObjectArray/AnscUIntArray/ansc_uint_array_co_process.c: In function 'AnscUIntArraySetAt':
../../../../../../../../../../../../rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/utilities/AnscObjectArray/AnscUIntArray/ansc_uint_array_co_process.c:334:31: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
  334 |         pStorage[ulIndex]   = (UINT)Data;
                          ^
../../../../../../../../../../../../rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/utilities/AnscObjectArray/AnscUIntArray/ansc_uint_array_co_process.c: In function 'AnscUIntArrayInsertAt':
../../../../../../../../../../../../rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/utilities/AnscObjectArray/AnscUIntArray/ansc_uint_array_co_process.c:415:39: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
  415 |             pStorage[i + ulIndex]   = (UINT)Data;
                              ^
../../../../../../../../../../../../rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/utilities/AnscObjectArray/AnscUIntArray/ansc_uint_array_co_process.c: In function 'AnscUIntArrayAdd':
../../../../../../../../../../../../rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/utilities/AnscObjectArray/AnscUIntArray/ansc_uint_array_co_process.c:530:52: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
  530 |             pStorage[pUIntArray->ulItemCount ++] = (UINT)Data;
                                                ^
../../../../../../../../../../../../rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/utilities/AnscObjectArray/AnscUIntArray/ansc_uint_array_co_process.c: In function 'AnscUIntArrayFind':
../../../../../../../../../../../../rdkb/components/opensource/ccsp/CcspCommonLibrary/source/cosa/utilities/AnscObjectArray/AnscUIntArray/ansc_uint_array_co_process.c:663:51: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
  663 |     UINT                            uSample     = (UINT)Data;


2zilker-sdk
 /tmp/ccBNkS8g.o(.text+0x960): unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `stderr@@GLIBC_2.17'
| /home/kpandu549/keerthana/sep14/build-raspberrypi4-64-rdk-broadband/tmp/work/aarch64-rdk-linux/ccronexpr/git-r0/recipe-sysroot-native/usr/bin/aarch64-rdk-linux/../../libexec/aarch64-rdk-linux/gcc/aarch64-rdk-linux/9.3.0/ld: final link failed: bad value
| collect2: error: ld returned 1 exit status
| Makefile:26: recipe for target 'library' failed
| make: *** [library] Error 1
| make: Leaving directory '/home/kpandu549/keerthana/sep14/build-raspberrypi4-64-rdk-broadband/tmp/work/aarch64-rdk-linux/ccronexpr/git-r0/git'
| WARNING: exit code 1 from a shell command.



3webconfig-framework

error: format '%u' expects argument of type 'unsigned int', but argument 7 has type 'size_t' {aka 'long unsigned int'} [-Werror=format=]

cc1: all warnings being treated as errors



4telemetry
error: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' {aka 'long unsigned int'} [-Werror=format=]
|   142 |     T2Debug("TR-181 Param count : %d\n", paramList->count);
|       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~
|       |                                                   |
|       |                                                   size_t {aka long unsigned int}
| ../../../../../../../../../rdk/components/generic/telemetry/source/utils/t2log_wrapper.h:36:61: note: in definition of macro 'T2Debug'
|    36 | #define T2Debug(...)                   T2Log(RDK_LOG_DEBUG, __VA_ARGS__)
                                                         ^~~~~~~~~~~
| ../../../../../../../../../rdk/components/generic/telemetry/source/ccspinterface/rbusInterface.c:142:36: note: format string is defined here
|   142 |     T2Debug("TR-181 Param count : %d\n", paramList->count);
cc1: all warnings being treated as errors


5jst
| ~/ld: CMakeFiles/jst.dir/source/jst_cosa.c.o: undefined reference to symbol 'dbus_connection_send@@LIBDBUS_1_3'
| ~/recipe-sysroot/usr/lib/libdbus-1.so: error adding symbols: DSO missing from command line
| collect2: error: ld returned 1 exit status
| ninja: build stopped: subcommand failed.
| WARNING: exit code 1 from a shell command.


6ccsp-lm-lite

 error: format '%d' expects argument of type 'int', but argument 4 has type 'size_t' {aka 'long unsigned int'} [-Werror=format=]

   147 |         CcspLMLiteConsoleTrace(("RDK_LOG_DEBUG, wrp_msg->u.event.payload_size :%d\n",wrp_msg→u.event.paylo

cc1: all warnings being treated as errors



7ccsp-misc

error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]

cc1: all warnings being treated as errors



8ccsp-misc
/usr/lib/libhal_platform.so: undefined reference to `Utopia_SetEvent'
collect2: error: ld returned 1 exit status
 Makefile:403: recipe for target 'LTime' failed
 make[3]: *** [LTime] Error 1


9ccsp-hotspot
error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
cc1: all warnings being treated as errors


10rdk-vlanmanager
/usr/lib/libhal_platform.so: undefined reference to `Utopia_RawGet'
/usr/lib/libhal_platform.so: undefined reference to `Utopia_SetEvent'
/usr/lib/libhal_platform.so: undefined reference to `Utopia_Free'
/usr/lib/libhal_platform.so: undefined reference to `Utopia_Init'
/usr/lib/libhal_platform.so: undefined reference to `Utopia_RawSet'


11ccsp-dmcli
 error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
cc1: all warnings being treated as errors


12harvester

error: format '%lld' expects argument of type 'long long int', but argument 4 has type 'int64_t' {aka 'long int'} [-Werror=format=]

error: format '%d' expects argument of type 'int', but argument 4 has type 'size_t' {aka 'long unsigned int'} [-Werror=format=]

/harvester_radio_traffic_avropack.c:512:34: error: format '%lld' expects argument of type 'long long int', but argument 4 has type 'int64_t' {aka 'long int'} [-Werror=format=]

cc1: all warnings being treated as errors



13ccsp-xdns

cosa_xdns_apis.c:393:35: error: format '%d' expects argument of type 'int', but argument 5 has type 'ssize_t' {aka 'long int'} [-Werror=format=]

cosa_xdns_webconfig_api.c:693:51: error: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' {aka 'long unsigned int'} [-Werror=format=]
 693 |  fprintf(stderr, "xd->table_param->entries_count %d\n", xd->table_param->entries_count);

cc1: all warnings being treated as errors



14ccsp-tr069-pa
/ccsp_cwmp_tcpcrho_auth.c:1993:13: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
ssp_debug.c:993:21: error: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744073709551615' to '4294967295' [-Werror=overflow]
ccsp_management_server.c:885:37: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
cc1: all warnings being treated as errors


15rdk-vlanmanager
undefined reference to `drop_root_caps'
undefined reference to `read_capablitiy'
undefined reference to `update_process_caps'


16ccsp-snmp-pa

cosa_api.c:360:12: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]

cc1: all warnings being treated as errors



17zilker-sdk
WARNING: zilker-sdk-git-r0 do_populate_sysroot: File '/usr/lib/libccronexpr.so.0' from zilker-sdk was already stripped, this will prevent future debugging!
WARNING: zilker-sdk-git-r0 do_populate_sysroot: File '/usr/lib/libccronexpr.so.0.0.0' from zilker-sdk was already stripped, this will prevent future debugging!
WARNING: zilker-sdk-git-r0 do_populate_sysroot: File '/usr/lib/libccronexpr.so' from zilker-sdk was already stripped, this will prevent future debugging!
WARNING: zilker-sdk-git-r0 do_package: QA Issue: File '/usr/lib/libccronexpr.so' from zilker-sdk was already stripped, this will prevent future debugging! [already-stripped]
WARNING: zilker-sdk-git-r0 do_package: QA Issue: File '/usr/lib/libccronexpr.so.0' from zilker-sdk was already stripped, this will prevent future debugging! [already-stripped]
WARNING: zilker-sdk-git-r0 do_package: QA Issue: File '/usr/lib/libccronexpr.so.0.0.0' from zilker-sdk was already stripped, this will prevent future debugging! [already-stripped]


18zilker-sdk
File /usr/lib/libccronexpr.so.0.0.0 in package zilker-sdk doesn't have GNU_HASH (didn't pass LDFLAGS?)
File /usr/lib/libccronexpr.so.0 in package zilker-sdk doesn't have GNU_HASH (didn't pass LDFLAGS?) [ldflags]


Validated Functionalities


No

Feature

Supported

1LAN Connected Devices-Ethernet(tick)
2WAN Connected Devices-Wi-Fi(tick)
3Parental Control(tick)
4Firewall settings(tick)
5Advanced Config: Port Triggering(error)
6Advanced Config: Port Forwarding(tick)
7Advanced Config: Remote Management(tick)
8Advanced Config: DMZ(tick)
9Xfinity Wi-Fi 2.4/5 GHz – Public Hotspot(tick)
10Test and Diagnostics(tick)
11Local WebUI Configuration(tick)
12Factory Reset(tick)
13DHCP /Reserved IP(tick)
14EthWan(tick)
15Eth Agent(tick)
162.4 GHz Band Support(tick)
175 GHz Band Support(tick)
18Bridge Mode Support(tick)
19Persistent Storage Management(tick)
20WebPA for Comcast,community(tick)
21Lost and Found(error)
22Bluetooth(error)
22Harvester Support(error)
23TR-69(error)
24SNMP(tick)
27Boot time data measurement(error)
28Wireless Protection Setup(WPS)(tick)
29Captive Portal(tick)
30Wi-Fi MAC Filtering(error)
31Log Rotation Support(tick)
32Firmware Upgrade Support(tick)
33Multiboot Support(tick)
34Telemetry Support(tick)
35IPV6(error)
     36

Log level control through CcspLogAgent

                    (tick)
      37

Band Steering using RSSI

                    (tick)  
      38

Backup and Restore

                   (error)
      39

SelfHeal

                   (tick) 
       40Password-Reset                   (tick) 
       41WebUI JST                    (tick) 
      42Telemetry 2                  (tick) 
      43RdkWanManager                  (tick) 
      44RdkFwUpgradeManager                  (tick)