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.
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 $ sudo apt-get install git cmake autoconf texinfo openjdk-8-jdk openjdk-8-jre \ m4 libtool libtool-bin curl pkg-config lib32z1 doxygen |
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
$ 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
machine code.rdkcentral.com login YOUR_USERNAME password YOUR_PASSWORD |
To build, follow below instructions
$ mkdir <workspace dir> $ cd <workspace dir> $ repo init -u https://code.rdkcentral.com/r/manifests -b dunfell -m rdkb-extsrc.xml $ repo sync -j`nproc` --no-clone-bundle |
$ cd ~/rdkb/components/opensource/ccsp/CcspPandM $ git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspPandM refs/changes/04/62804/3 && git cherry-pick FETCH_HEAD |
Note : The above bug fixes changes are temporary given as instructions. This is not required once the change is gets merged into the appropriate repo.
$ MACHINE=raspberrypi4-64-rdk-broadband source meta-cmf-raspberrypi/setup-environment $ bitbake rdk-generic-broadband-image |
Following command can be used to flash the RPI image to sd card using linux machine . bmap tool should be available in linux
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 |
S.No |
Recipe |
Layer |
Error/Warning | Action taken |
---|---|---|---|---|
1 | ccsp-common-library | meta-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. |
2 | zilker-sdk | meta-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 |
3 | webconfig-framework | meta-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. |
4 | telemetry | meta-cmf-raspberrypi | 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 | Using CFLAGS_remove += " -Werror" to fix these errors temporary. |
5 | jst | meta-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. |
6 | ccsp-lm-lite | meta-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. |
7 | ccsp-misc | meta-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. |
8 | ccsp-misc | meta-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 |
9 | ccsp-hotspot | meta-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. |
10 | rdk-vlanmanager | meta-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 |
11 | ccsp-dmcli | meta-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. |
12 | harvester | meta-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. |
13 | ccsp-xdns | meta-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=] cc1: all warnings being treated as errors | Using CFLAGS_remove += " -Werror" to fix these errors temporary. |
14 | ccsp-tr069-pa | meta-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. |
15 | rdk-vlanmanager | meta-cmf-raspberrypi | undefined reference to `drop_root_caps' undefined reference to `read_capablitiy' undefined reference to `update_process_caps' | Added LDFLAGS_aarch64 += " -lutctx -lprivilege " in recipe |
16 | ccsp-snmp-pa | meta-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 |
17 | zilker-sdk | meta-cmf-broadband | 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] | Added INSANE_SKIP_${PN} = "ldflags already-stripped" in zilker-sdk recipe |
18 | zilker-sdk | meta-cmf-broadband | 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] | Added INSANE_SKIP_${PN} = "ldflags" in ccronexpr recipe |
19 | utopia | meta-cmf-raspberrypi | CR crashing is happening on 64bit aarch when dbus enabled | Enabled rbus support |
20 | pam | CcspPandM | ccsp-p-and-m is crashing on 64bit aarch when rbus is enabling | pam is passing wrong dm parameter to ethagent due to that pam crash is happened. |
Known Issues