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.

...

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.

...

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
themeDJango
titleImage Generation Steps
$ 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

             Action taken
1ccsp-common-librarymeta-cmf-raspberrypi../../../../../../../../../../../../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;
Using CFLAGS_remove += " -Werror" to fix these errors temporary.
2zilker-sdkmeta-cmf-broadband /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.

CFLAGS_append_aarch64 = " -fPIC"  used in ccronexpr recipe
3webconfig-frameworkmeta-cmf-raspberrypi

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

Using CFLAGS_remove += " -Werror" to fix these errors temporary.
4telemetrymeta-cmf-raspberrypierror: 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
Using CFLAGS_remove += " -Werror" to fix these errors temporary.
5jstmeta-cmf-raspberrypi| ~/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.
Using CFLAGS_remove += " -Werror" to fix these errors temporary.
6ccsp-lm-litemeta-cmf-raspberrypi

 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

Using CFLAGS_remove += " -Werror" to fix these errors temporary.
7ccsp-miscmeta-cmf-raspberrypi

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

cc1: all warnings being treated as errors

Using CFLAGS_remove += " -Werror" to fix these errors temporary.
8ccsp-miscmeta-cmf-raspberrypi/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] ErrorA 1
Added LDFLAGS_append_aarch64 = " -lutctx" in misc recipe
9ccsp-hotspotmeta-cmf-raspberrypierror: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
cc1: all warnings being treated as errors
Using CFLAGS_remove += " -Werror" to fix these errors temporary.
10rdk-vlanmanagermeta-cmf-raspberrypi/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'
Added LDFLAGS_aarch64 += " -lutctx -lprivilege "  in recipe
11ccsp-dmclimeta-cmf-raspberrypi error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
cc1: all warnings being treated as errors
Using CFLAGS_remove += " -Werror" to fix these errors temporary.
12harvestermeta-cmf-raspberrypi

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

Using CFLAGS_remove += " -Werror" to fix these errors temporary.
13ccsp-xdnsmeta-cmf-raspberrypi

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

Using CFLAGS_remove += " -Werror" to fix these errors temporary.
14ccsp-tr069-pameta-cmf-raspberrypi/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
Using CFLAGS_remove += " -Werror" to fix these errors temporary.
15rdk-vlanmanagermeta-cmf-raspberrypiundefined reference to `drop_root_caps'
undefined reference to `read_capablitiy'
undefined reference to `update_process_caps'
Added LDFLAGS_aarch64 += " -lutctx -lprivilege "  in recipe
16ccsp-snmp-pameta-cmf-raspberrypi

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

Using CFLAGS_remove += " -Werror" to fix these errors temporary
17zilker-sdkmeta-cmf-broadbandWARNING: 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]
Added INSANE_SKIP_${PN} = "ldflags already-stripped" in zilker-sdk recipe
18zilker-sdkmeta-cmf-broadbandFile /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]
Added INSANE_SKIP_${PN} = "ldflags" in ccronexpr recipe
19utopiameta-cmf-raspberrypiCR crashing is happening on 64bit aarch when dbus enabled Enabled rbus support
20pamCcspPandMccsp-p-and-m is crashing on 64bit aarch when rbus is enablingpam is passing wrong dm parameter to ethagent due to that pam crash is happened.

Sanity Testing

  1.  Sanity test cases are validated on 64bit aarch in RPI4. It includes,
    1.  All ccsp components are running on board
    2.  All ccsp components DM parameters are able to access properly
    3.  Able to connect the wireless clients
    4.  Able to access the WebUI via RM
    5.  Able to access the WebUI in connected clients using gateway ip
    6.  Internet is working on board
    7.  WAN connection is working on connected clients
    8.   iptables are loaded properly
    9.  Able to tab all the pages in WebUI without any crash
    10.  Able to get all the interfaces
    11.  Able to get the erouter0 IP address
    12.  Able to take ssh access via erouter0 IP Address
    13.  All ccsp component log files are generated under the /rdklogs/logs folder
    14.  Enabled rbus - all ccsp components are communicated via rbus
    15. udhcpc,dnsmasq,lighttpd process are running
    16. captiveportal page is loaded properly on wireless clients for initial connect

...