Versions Compared

Key

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

Table of Contents

Introduction - RDK Extender

  • RDK Extender profile is a Yocto based RDK miniature build with opensource OpenSync agent
  • OpenSync agent is cloud agnostic and it forms mesh orchestrated by Plume cloud
  • RPI4 target is chosen for extender profile since this target is chip and widely available
  • Two external Wi-Fi dongles are used for 2.4GHz and 5GHz radio support
  • OpenSync's minimum requirement on the WiFi radio is the support for 2AP and 1 Station interface
  • Conceptually, RPI4 extender can be used with different Gateway devices(which has OpenSync agent). But currently validated with TurrisOmnia RDKB GW
  • Prerequisite: Need to contact Plume to acquiring TLS certificate and backhaul credential

Benefits of Kirkstone:

  • There are 93 Security Fixes

  https://docs.yoctoproject.org/migration-guides/release-notes-4.0.html#security-fixes-in-4-0

  • Components where security fixes are added :- binutils, curl, epiphany, expat, ffmpeg, gcc, glibc, gmp, go, grub2, gzip, libarchive, libxml2, libxslt, lighttpd, linux-yocto, amdgpu, lua, openssl, qemu , rpm , seatd , speex , squashfs-tools , systemd , tiff , unzip , vim , virglrenderer , webkitgtk , xz , zlib

  • There are 318 opensource component version upgrades

https://docs.yoctoproject.org/migration-guides/release-notes-4.0.html#recipe-upgrades-in-4-0

  • Major opensource upgrades (Dunfell → Kirkstone) are :- GCC (9.3 → 11.3) , glibc (2.31 → 2.35) , glib-2.0 (2.62.4 → 2.72.3), systemd (244.3 → 250.5) , busybox (1.31.1 → 1.35.0)

  • Netflix upgrade, youtube

  • GCC compiler

  • Maintainability - Dunfell 4 years ; Kirkstone 2 years ; CVE Dunfell is sill open (Refer Yocto mailing list), Upstream dunfell 3.1.24 has open CVE

  • Build time - reduce number of default dependency (make build faster in first/second time)

  • meta-rust is in core

  • software bill of material (security infrastructure)

  • share state - c standard. faster sstsate performance due to decompression standard cstd (twice faster than xz)

  • license management tool improvement (more accurate license compliance)

  • Kirkstone need minimum 4.x kernel (refer systemd)

  • linux_kernel_header does not mandate

      Reference :- https://docs.yoctoproject.org/migration-guides/release-notes-4.0.html 
      Reference :-https://code.rdkcentral.com/r/plugins/gitiles/manifests/+/refs/heads/kirkstone/oe-layers.xml (Kirkstone specific OE layers )

Host Setup

NOTE: Observing fetch errors in VMs with Ubuntu14.x. Thus, suggesting to use VMs with Ubuntu16.x or higher.

Building

Note: Cloning the code before login once to code.rdkcentral.com, user would get the Authentication error, even though the account is in good standing and has all the required access. Please login to code.rdkcentral.com before attempting to clone.

...

Code Block
languagebash
themeDJango
repo init -u https://code.rdkcentral.com/r/manifests -b rdkb-2024q2-kirkstone -m rdkb-pod-extsrc.xml
repo sync -j4 --no-clone-bundle
<UPDATE 0001-Update-bhaul-credential.patch in meta-cmf-broadband layer>
MACHINE=raspberrypi4-rdk-extender source meta-cmf-raspberrypi/setup-environment
bitbake rdk-generic-extender-image

OpenSync version details:

Ported OpenSync version is 4.4.0.

...

OpenSync components

...

Branch

...

OpenSync Core component

...

osync_4.4.0

...

Platform-RDK

...

osync_4.4.0

...

RPI Vendor component

...

main

Sanity Test cases :

...

S.No

...

Sanity tested on

...

Status

...

S.No

...

Sanity tested on

...

Status

...

1

...

Image should be stable

...

Pass

...

2

...

OpenSync service and its manager should be running

...

Pass

...

3

...

RPI Extender onboarding over Wi-Fi

...

Pass

...

4

...

Able to Ping www.google.com from RPI Extender

...

Pass

...

5

...

Wifi Extension of Internet to mobile from GW

...

Pass

...

Image Removed

Observations:

  • Able to connect client to TURRIS GW as well behind RPI4 extender.
  • Able to witness GW and Extender availability in Plume Open Sync NOC.
  • Also, able to browse the internet successfully.
  • Client ping test for 4hrs passed 

kirkstone build issues :

...

/home/apv547/extenter_dunfell_to_kirk/meta-cmf-raspberrypi/recipes-xravs/xr-speech-avs/xr-speech-avs_%.bbappend
NOTE: Resolving any missing task queue dependencies 
ERROR: Nothing RPROVIDES 'python-core' (but /home/apv547/extenter_dunfell_to_kirk/meta-cmf-raspberrypi/recipes-core/images/rdk-generic-extender-image.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'python-core' is unbuildable, removing... Missing or unbuildable dependency chain was: ['python-core']
ERROR: Required build target 'rdk-generic-extender-image' has no buildable providers. Missing or unbuildable dependency chain was: ['rdk-generic-extender-image', 'python-core']
Summary: There were 93 WARNING messages

...

Soln: 
python-core related to meta-python2 in dunfell
Python3 recipes will continue to be supported via the original meta-python layer.
Python 2 is going EOL (end of life) - NOT applicable for kirkstone and so removing for kirkstone in meta-cmf-raspberrypi/recipes-core
/images/rdk-generic-extender-image.bb ${@bb.utils.contains("DISTRO_FEATURES", "kirkstone", "", "python-core",  d)} \

...

NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'dhcp-server' (but /home/apv547/extender_dunfell_to_kirk/meta-cmf-raspberrypi/recipes-core/images
/rdk-generic-extender-image.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'dhcp-server' is unbuildable, removing... Missing or unbuildable dependency chain was: ['dhcp-server']
ERROR: Required build target 'rdk-generic-extender-image' has no buildable providers. Missing or unbuildable dependency chain was: ['rdk-generic-extender-image', 'dhcp-server']

...

Soln:
For kirkstone, its NOT applicable and so removing it from meta-cmf-raspberrypi/recipes-core/images/rdk-generic-extender-image.bb
${@bb.utils.contains("DISTRO_FEATURES", "kirkstone", "", "dhcp-server",  d)} \

...

ERROR: Nothing PROVIDES 'python' (but /home/apv547/extender_dunfell_to_kirk/meta-rdk-ext/recipes-common/nmap/nmap_7.60.bb DEPENDS on or otherwise requires it).
Close matches:  
python3  
python3-py  
python3-sh
NOTE: Runtime target 'nmap' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['nmap', 'python']
ERROR: Required build target 'rdk-generic-extender-image' has no buildable providers.
Missing or unbuildable dependency chain was: ['rdk-generic-extender-image', 'nmap', 'python']

...

Soln:
For kirkstone GW broadband build, its NOT available and so removing it in kirkstone extender build as well meta-cmf-raspberrypi/recipes-core
/images/rdk-generic-extender-image.bb  ${@bb.utils.contains("DISTRO_FEATURES", "kirkstone", "", "nmap",  d)} \{noformat}

...

Soln:
removed nl80211-relax-bridge-setup.patch from meta-cmf-raspberrypi/recipes-connectivity/hostapd
/hostapd_%.bbappend as patch got upstreamed in hostapd-2.10 version [dunfell uses hostapd-2.9] and hostapd needed for extender profile,
however,kirkstone GW does not need hostapd for oneWiFi build

...

make[3]: *** [/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender

/kernel-source/scripts/Makefile.build:552: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp
/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/lttng-modules/2.13.4-r0/lttng-modules-2.13.4/src/probes] Error 2

make[3]: *** Waiting for unfinished jobs....

make[2]: *** [/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender/kernel-source/Makefile:1903: 
/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work
/raspberrypi4_rdk_extender-rdk-linux-gnueabi/lttng-modules/2.13.4-r0/lttng-modules-2.13.4/src] Error 2

make[2]: Leaving directory '/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender/kernel-build-artifacts'

make[1]: *** [Makefile:219: __sub-make] Error 2

make[1]: Leaving directory '/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender/kernel-source'

make: *** [Makefile:31: modules] Error 2

ERROR: oe_runmake failed 

WARNING: exit code 1 from a shell command.
ERROR: Task (/home/apv547/extender_dunfell_to_kirk/openembedded-core/meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3743 tasks of which 1282 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
NOTE: Writing buildhistory took: 15 seconds
Summary: 1 task failed:   /home/apv547/extender_dunfell_to_kirk/openembedded-core/meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb:do_compile
Summary: There were 190 WARNING messages.
Summary: There were 2 ERROR messages, returning a non-zero exit code.

...

Soln: 
kirk[lttng_2.13.4.bb] - lttng NOT available in build*/tmp/work/ dunfell[lttng_2.11.2.bb] - lttng available in build*/tmp
/work/removed "lttng-tools" for kirkstone extender in  meta-cmf-raspberrypi/recipes-core
/images/rdk-generic-extender-image.bb  ${@bb.utils.contains("DISTRO_FEATURES", "kirkstone", "", "lttng-tools",  d)} {noformat}

...

make[1]: Leaving directory '/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/dropbear/2020.81-r0/build/libtomcrypt' | ERROR: oe_runmake failed | WARNING: exit code 1 from a shell command. ERROR: Task (/home/apv547/extender_dunfell_to_kirk/openembedded-core/meta/recipes-core/dropbear/dropbear_2020.81.bb:do_compile) failed with exit code '1'ERROR: dropbear-2020.81-r0 do_compile: oe_runmake failed ERROR: dropbear-2020.81-r0 do_compile: ExecutionError('/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/dropbear/2020.81-r0/temp/run.do_compile.225821', 1, None, None) ERROR: Logfile of failure stored in: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/dropbear/2020.81-r0/temp/log.do_compile.225821 NOTE: recipe dropbear-2020.81-r0: task do_compile: Failed ERROR: Task (/home/apv547/extender_dunfell_to_kirk/openembedded-core/meta/recipes-core/dropbear/dropbear_2020.81.bb:do_compile) failed with exit code '1 ../dropbear-2020.81/svr-authpubkey.c:67:10: fatal error: telemetry_busmessage_sender.h: No such file or directory |    67 | #include <telemetry_busmessage_sender.h> |       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | compilation terminated. | make: *** [Makefile:152: svr-authpubkey.o] Error 1 | make: *** Waiting for unfinished jobs.... | ../dropbear-2020.81/svr-chansession.c: In function 'sessioncommand': | ../dropbear-2020.81/svr-chansession.c:709:17: warning: implicit declaration of function 'ssh_logging' [-Wimplicit-function-declaration] |   709 |                 ssh_logging("%s\n", chansess->cmd); |       |                 ^~~~~~~~~~~ | ERROR: oe_runmake failed | WARNING: exit code 1 from a shell command. ERROR: Task (/home/apv547/extender_dunfell_to_kirk/openembedded-core/meta/recipes-core/dropbear/dropbear_2020.81.bb:do_compile) failed with exit code '1' ERROR: mt76-1.0-r0 do_compile: oe_runmake failed ERROR: mt76-1.0-r0 do_compile: ExecutionError('/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/mt76/1.0-r0/temp/run.do_compile.222603', 1, None, None) ERROR: Logfile of failure stored in: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/mt76/1.0-r0/temp/log.do_compile.222603

...

Soln:
remove telemetry_busmessage_sender.h [since telemetry & its include files recipe NOT available for extender profile] 
in dunfell extender - telemetry_busmessage_sender.h - NOT included in the svr-authpubkey.c file extender_dunfell_to_kirk/
build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/dropbear/2020.81-r0/dropbear-2020.81/svr-authpubkey.cmeta-cmf-raspberrypi/recipes-core/dropbear/dropbear_%.bbappend SRC_URI_remove_extender_kirkstone = " file://ssh_telemetry_2020.patch

...

ERROR: mt76-1.0-r0 do_compile: oe_runmake failed ERROR: mt76-1.0-r0 do_compile: ExecutionError('/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/mt76/1.0-r0/temp/run.do_compile.222603', 1, None, None) ERROR: Logfile of failure stored in: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/mt76/1.0-r0/temp/log.do_compile.222603 NOTE: recipe mt76-1.0-r0: task do_compile: Failed ERROR: Task (/home/apv547/extender_dunfell_to_kirk/meta-cmf-raspberrypi/recipes-bsp/drivers/mt76.bb:do_compile) failed with exit code '1' |    16 | #include <linux/soc/mediatek/mtk_wed.h> |       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | compilation terminated. | make[3]: *** [/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender/kernel-source/scripts/Makefile.build:289: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/mt76/1.0-r0/git/mt76x0/phy.o] Error 1 | In file included from /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/mt76/1.0-r0/git/mt76x0/../mt76x02.h:12, |                  from /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/mt76/1.0-r0/git/mt76x0/mt76x0.h:20, |                  from /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/mt76/1.0-r0/git/mt76x0/main.c:9: | /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/mt76/1.0-r0/git/mt76x0/../mt76.h:16:10: fatal error: linux/soc/mediatek/mtk_wed.h: No such file or directory |    16 | #include <linux/soc/mediatek/mtk_wed.h> |       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | compilation terminated. | make[3]: *** [/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender/kernel-source/scripts/Makefile.build:289: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/mt76/1.0-r0/git/mt76x0/main.o] Error 1 | make[2]: *** [/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender/kernel-source/scripts/Makefile.build:552: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/mt76/1.0-r0/git/mt76x0] Error 2 | make[1]: *** [/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender/kernel-source/Makefile:1903: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/raspberrypi4_rdk_extender-rdk-linux-gnueabi/mt76/1.0-r0/git] Error 2 | make[1]: Leaving directory '/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work-shared/raspberrypi4-rdk-extender/kernel-build-artifacts' | make: *** [Makefile:64: modules] Error 2 | ERROR: oe_runmake failed | WARNING: exit code 1 from a shell command. ERROR: Task (/home/apv547/extender_dunfell_to_kirk/meta-cmf-raspberrypi/recipes-bsp/drivers/mt76.bb:do_compile) failed with exit code '1' NOTE: Tasks Summary: Attempted 3234 tasks of which 2980 didn't need to be rerun and 2 failed. NOTE: Writing buildhistory NOTE: Writing buildhistory took: 10 secondsSummary: 2 tasks failed:   /home/apv547/extender_dunfell_to_kirk/openembedded-core/meta/recipes-core/dropbear/dropbear_2020.81.bb:do_compile   /home/apv547/extender_dunfell_to_kirk/meta-cmf-raspberrypi/recipes-bsp/drivers/mt76.bb:do_compile Summary: There were 100 WARNING messages. Summary: There were 4 ERROR messages, returning a non-zero exit code. apv547@dvm-yocto4-docker-apv547:~/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender${noformat}

...

Soln: 
add below patch for extender kirkstone  
extender_dunfell_to_kirk/meta-cmf-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend SRC_URI_append_extender_kirkstone = "  file://added_mtk_wed_header.patch "

...

| src/lib/osn/src/linux/strongswan.c: In function 'strongswan_get_status_ipsec': | src/lib/osn/src/linux/strongswan.c:1302:5: error: 'fclose' called on pointer returned from a mismatched allocation function [-Werror=mismatched-dealloc] |  1302 |     fclose(f); |       |     ^~~~~~~~~ | src/lib/osn/src/linux/strongswan.c:1198:9: note: returned from 'popen' |  1198 |     f = popen(cmd, "r"); |       |         ^~~~~~~~~~~~~~~ | cc1: all warnings being treated as errors | ERROR: oe_runmake failed | WARNING: exit code 1 from a shell command. | make: *** [build/unit-build.mk:629: work/raspberrypi4-rdk-extender/obj/src.lib.osn/src/lib/osn/src/linux/strongswan.o] Error 1 ERROR: Task (/home/apv547/extender_dunfell_to_kirk/meta-rdk-opensync/recipes/opensync/opensync_git.bb:do_compile) failed with exit code '1' NOTE: Tasks Summary: Attempted 4493 tasks of which 3928 didn't need to be rerun and 2 failed. NOTE: Writing buildhistory NOTE: Writing buildhistory took: 9 secondsSummary: 2 tasks failed:   /home/apv547/extender_dunfell_to_kirk/meta-cmf-raspberrypi/recipes-protocols/ieee1905/ieee1905_git.bb:do_compile   /home/apv547/extender_dunfell_to_kirk/meta-rdk-opensync/recipes/opensync/opensync_git.bb:do_compile

...

Soln:
meta-cmf-mesh/recipes-opensync/opensync/opensync_git.bbappend:14:OPENSYNC_CORE_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'extender', ' file://${PLUME_CORE_PATCHES}/opensync_rpi_kirk_build_error.patch;patchdir=../core', ' ', d)}" keep the patch in core  cp meta-cmf-mesh/recipes-opensync/opensync/files/core/opensync_rpi_kirk_build_error.patch ~/extender_kirk_2905/meta-cmf-mesh/recipes-opensync/opensync/files/core/=====

...

src/psm/src/psm_ovsdb_row.c: In function 'psm_ovsdb_row_key_from_json': | src/psm/src/psm_ovsdb_row.c:537:5: error: 'SHA256_Init' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] |   537 |     SHA256_Init(&sha_ctx); |       |     ^~~~~~~~~~~ | In file included from src/psm/src/psm_ovsdb_row.c:27: | /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/opensync/git-r0/recipe-sysroot/usr/include/openssl/sha.h:73:27: note: declared here |    73 | OSSL_DEPRECATEDIN_3_0 int SHA256_Init(SHA256_CTX *c); |       |                           ^~~~~~~~~~~ | src/psm/src/psm_ovsdb_row.c:540:5: error: 'SHA256_Update' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] |   540 |     SHA256_Update(&sha_ctx, table, strlen(table) + 1); |       |     ^~~~~~~~~~~~~ | In file included from src/psm/src/psm_ovsdb_row.c:27: | /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/opensync/git-r0/recipe-sysroot/usr/include/openssl/sha.h:74:27: note: declared here |    74 | OSSL_DEPRECATEDIN_3_0 int SHA256_Update(SHA256_CTX *c, |       |                           ^~~~~~~~~~~~~ | src/psm/src/psm_ovsdb_row.c:544:5: error: 'SHA256_Update' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] |   544 |     SHA256_Update(&sha_ctx, row_data, strlen(row_data) + 1); |       |     ^~~~~~~~~~~~~ | In file included from src/psm/src/psm_ovsdb_row.c:27: | /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/opensync/git-r0/recipe-sysroot/usr/include/openssl/sha.h:74:27: note: declared here |    74 | OSSL_DEPRECATEDIN_3_0 int SHA256_Update(SHA256_CTX *c, |       |                           ^~~~~~~~~~~~~ | src/psm/src/psm_ovsdb_row.c:547:5: error: 'SHA256_Final' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] |   547 |     SHA256_Final(sha_buf, &sha_ctx); |       |     ^~~~~~~~~~~~ | In file included from src/psm/src/psm_ovsdb_row.c:27: | /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/opensync/git-r0/recipe-sysroot/usr/include/openssl/sha.h:76:27: note: declared here |    76 | OSSL_DEPRECATEDIN_3_0 int SHA256_Final(unsigned char *md, SHA256_CTX *c); |       |                           ^~~~~~~~~~~~ | cc1: all warnings being treated as errors | make: *** [build/unit-build.mk:629: work/raspberrypi4-rdk-extender/obj/src.psm/src/psm/src/psm_ovsdb_row.o] Error 1 | ERROR: oe_runmake failed | WARNING: exit code 1 from a shell command. ERROR: Task (/home/apv547/extender_dunfell_to_kirk/meta-rdk-opensync/recipes/opensync/opensync_git.bb:do_compile) failed with exit code '1' NOTE: Tasks Summary: Attempted 4586 tasks of which 4585 didn't need to be rerun and 1 failed. NOTE: Writing buildhistory NOTE: Writing buildhistory took: 9 secondsSummary: 1 task failed:   /home/apv547/extender_dunfell_to_kirk/meta-rdk-opensync/recipes/opensync/opensync_git.bb:do_compile Summary: There were 24 WARNING messages. Summary: There were 2 ERROR messages, returning a non-zero exit code. apv547@dvm-yocto4-docker-apv547:~/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender$

...

Soln:

build/flags.mk -Wno-error=deprecated-declarationssingle patch added to handle error 8 & 9 opensync_rpi_kirk_build_error.patch=====

...

src_linux/platform_crypto.c: In function 'PLATFORM_GENERATE_DH_KEY_PAIR': src_linux/platform_crypto.c:142:5: error: 'DH_new' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   142 |     if (NULL == (dh = DH_new()))       |     ^~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:203:27: note: declared here   203 | OSSL_DEPRECATEDIN_3_0 DH *DH_new(void);       |                           ^~~~~~ src_linux/platform_crypto.c:151:9: error: 'DH_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   151 |         DH_free(dh);       |         ^~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:204:28: note: declared here   204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);       |                            ^~~~~~~ src_linux/platform_crypto.c:156:9: error: 'DH_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   156 |         DH_free(dh);       |         ^~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:204:28: note: declared here   204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);       |                            ^~~~~~~ src_linux/platform_crypto.c:160:5: error: 'DH_set0_pqg' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   160 |     if (!DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) {       |     ^~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:259:27: note: declared here  259 | OSSL_DEPRECATEDIN_3_0 int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);       |                           ^~~~~~~~~~~ src_linux/platform_crypto.c:161:9: error: 'DH_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   161 |         DH_free(dh);       |         ^~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:204:28: note: declared here   204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);       |                            ^~~~~~~ src_linux/platform_crypto.c:169:5: error: 'DH_generate_key' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   169 |     if (0 == DH_generate_key(dh))       |     ^~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:227:27: note: declared here   227 | OSSL_DEPRECATEDIN_3_0 int DH_generate_key(DH *dh);       |                           ^~~~~~~~~~~~~~~ src_linux/platform_crypto.c:171:9: error: 'DH_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   171 |         DH_free(dh);       |         ^~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:204:28: note: declared here   204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);       |                            ^~~~~~~ src_linux/platform_crypto.c:178:5: error: 'DH_get0_key' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   178 |     DH_get0_key(dh, &priv_key, &pub_key);       |     ^~~~~~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:260:28: note: declared here   260 | OSSL_DEPRECATEDIN_3_0 void DH_get0_key(const DH *dh, const BIGNUM **pub_key,       |                            ^~~~~~~~~~~ src_linux/platform_crypto.c:188:5: error: 'DH_set0_key' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   188 |     DH_set0_key(dh, (BIGNUM *) priv_key, (BIGNUM *) pub_key);       |     ^~~~~~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:262:27: note: declared here   262 | OSSL_DEPRECATEDIN_3_0 int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key);       |                           ^~~~~~~~~~~ src_linux/platform_crypto.c:190:5: error: 'DH_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   190 |     DH_free(dh);       |     ^~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:204:28: note: declared here   204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);       |                            ^~~~~~~ src_linux/platform_crypto.c: In function 'PLATFORM_COMPUTE_DH_SHARED_SECRET': src_linux/platform_crypto.c:250:5: error: 'DH_new' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   250 |     if (NULL == (dh = DH_new()))       |     ^~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:203:27: note: declared here   203 | OSSL_DEPRECATEDIN_3_0 DH *DH_new(void);       |                           ^~~~~~ src_linux/platform_crypto.c:261:9: error: 'DH_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   261 |         DH_free(dh);       |         ^~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:204:28: note: declared here   204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);       |                            ^~~~~~~ src_linux/platform_crypto.c:266:9: error: 'DH_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   266 |         DH_free(dh);       |         ^~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:204:28: note: declared here   204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);       |                            ^~~~~~~ src_linux/platform_crypto.c:270:5: error: 'DH_set0_pqg' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   270 |     if (!DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) {       |     ^~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:259:27: note: declared here   259 | OSSL_DEPRECATEDIN_3_0 int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);       |                           ^~~~~~~~~~~ src_linux/platform_crypto.c:271:9: error: 'DH_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   271 |         DH_free(dh);       |         ^~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:204:28: note: declared here   204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);       |                            ^~~~~~~ src_linux/platform_crypto.c:278:9: error: 'DH_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   278 |         DH_free(dh);       |         ^~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:204:28: note: declared here   204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);       |                            ^~~~~~~ src_linux/platform_crypto.c:287:9: error: 'DH_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   287 |         DH_free(dh);       |         ^~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:204:28: note: declared here   204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);       |                            ^~~~~~~ src_linux/platform_crypto.c:290:5: error: 'DH_set0_key' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   290 |     DH_set0_key(dh, (BIGNUM *) priv_key, NULL);       |     ^~~~~~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:262:27: note: declared here   262 | OSSL_DEPRECATEDIN_3_0 int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key);       |                           ^~~~~~~~~~~ src_linux/platform_crypto.c:317:5: error: 'DH_size' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   317 |     rlen            = DH_size(dh);       |     ^~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:207:27: note: declared here   207 | OSSL_DEPRECATEDIN_3_0 int DH_size(const DH *dh);       |                           ^~~~~~~ src_linux/platform_crypto.c:322:5: error: 'DH_compute_key' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   322 |     keylen = DH_compute_key(*shared_secret, pub_key, dh);       |     ^~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:228:27: note: declared here   228 | OSSL_DEPRECATEDIN_3_0 int DH_compute_key(unsigned char *key,       |                           ^~~~~~~~~~~~~~ src_linux/platform_crypto.c:329:9: error: 'DH_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   329 |         DH_free(dh);       |         ^~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:204:28: note: declared here   204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);       |                            ^~~~~~~ src_linux/platform_crypto.c:339:5: error: 'DH_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   339 |     DH_free(dh);       |     ^~~~~~~ In file included from src_linux/platform_crypto.c:60: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/dh.h:204:28: note: declared here   204 | OSSL_DEPRECATEDIN_3_0 void DH_free(DH *dh);       |                            ^~~~~~~ src_linux/platform_crypto.c: In function 'PLATFORM_HMAC_SHA256': src_linux/platform_crypto.c:409:5: error: 'HMAC_CTX_new' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   409 |     ctx = HMAC_CTX_new();       |     ^~~ In file included from src_linux/platform_crypto.c:63: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/hmac.h:33:33: note: declared here    33 | OSSL_DEPRECATEDIN_3_0 HMAC_CTX *HMAC_CTX_new(void);       |                                 ^~~~~~~~~~~~ src_linux/platform_crypto.c:421:5: error: 'HMAC_Init_ex' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   421 |     HMAC_Init_ex(ctx, key, keylen, EVP_sha256(), NULL);       |     ^~~~~~~~~~~~ In file included from src_linux/platform_crypto.c:63: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/hmac.h:43:27: note: declared here    43 | OSSL_DEPRECATEDIN_3_0 int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,       |                           ^~~~~~~~~~~~ src_linux/platform_crypto.c:425:9: error: 'HMAC_Update' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   425 |         HMAC_Update(ctx, addr[i], len[i]);       |         ^~~~~~~~~~~ In file included from src_linux/platform_crypto.c:63: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/hmac.h:45:27: note: declared here    45 | OSSL_DEPRECATEDIN_3_0 int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,       |                           ^~~~~~~~~~~ src_linux/platform_crypto.c:428:5: error: 'HMAC_Final' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   428 |     HMAC_Final(ctx, hmac, &mdlen);       |     ^~~~~~~~~~ In file included from src_linux/platform_crypto.c:63: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/hmac.h:47:27: note: declared here    47 | OSSL_DEPRECATEDIN_3_0 int HMAC_Final(HMAC_CTX *ctx, unsigned char *md,       |                           ^~~~~~~~~~ src_linux/platform_crypto.c:431:5: error: 'HMAC_CTX_free' is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]   431 |     HMAC_CTX_free(ctx);       |     ^~~~~~~~~~~~~ In file included from src_linux/platform_crypto.c:63: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/recipe-sysroot/usr/include/openssl/hmac.h:35:28: note: declared here    35 | OSSL_DEPRECATEDIN_3_0 void HMAC_CTX_free(HMAC_CTX *ctx);       |                            ^~~~~~~~~~~~~ cc1: all warnings being treated as errors make[1]: *** [Makefile:116: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/git/output/tmp/al/src_linux/platform_crypto.o] Error 1 make[1]: Leaving directory '/home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/git/src/al' make: *** [Makefile:217: /home/apv547/extender_dunfell_to_kirk/build-raspberrypi4-rdk-extender/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ieee1905/git-r0/git/output/al_entity] Error 2 WARNING: exit code 2 from a shell command. apv547@dvm-yocto4-docker-apv547:~$

...

Soln:

meta-cmf-raspberrypi/recipes-protocols/ieee1905/ieee1905_git.bb ieee1905 likely related for eashMesh Agent - NOT needed for opensync CFLAGS_append_extender_kirkstone =" -Wno-error=stringop-overflow -Wno-error=deprecated-declarations -Wno-error=array-parameter -Wno-error=sign-compare "

Patch: https://comcastcorp-my.sharepoint.com/:u:/r/personal/cpokur625_cable_comcast_com/Documents/opensyncpatch/0001-Update-bhaul-credential.patch?csf=1&web=1&e=GXY1k6

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-raspberrypi-rdk-broadband.wic.bz2
$ sudo -E bmaptool copy --nobmap rdk-generic-broadband-image-raspberrypi-rdk-broadband.wic.bz2 /dev/sdb

OpenSync version details:

Ported OpenSync version is 4.4.0.

OpenSync components

Branch

OpenSync Core component

osync_4.4.0

Platform-RDK

osync_4.4.0

RPI Vendor component

main


References:

Kirkstone build errors and its fixes in this link Kirkstone RDK-B RPI4 32-bit Extender User Manual

Validation test results and their corresponding fixes in this link Kirkstone RDK-B RPI4 32-bit Extender Validation

Jira Tickets :

Jira
serverJIRA
serverId11deff04-0380-3a3d-a916-0849d4e573f7
keyREFPLTB-3030

Hardwares:

...

Image Removed

Purchase link: RPi4 – 1No

Image Removed

...