1.1. Introduction

Upgrading Turris-Omnia Reference Platform for Yocto 3.1 ie., from morty to dunfell

Considerations for broadband & extender build:

  • OpenEmbedded and Yocto Dunfell.
  • Linux kernel 4.14.
  • Version upgrades for bitbake and other oe recipes(if needed).

1.2. Environment Setup

  • 1.2.1. Host- environment

Build instructions for generating the rdk-generic-broadband-image,

  • repo init -u https://code.rdkcentral.com/r/manifests -m rdkb-turris-extsrc.xml  -b  yocto-dunfell-upgrade
  • repo sync -j4 --no-clone-bundle
  • MACHINE=turris source meta-turris/setup-environment 
  • bitbake rdk-generic-broadband-image

1.3. Error Handling

For rdk-generic-broadband image,


Error/warningLayer/ReciepeFixRemarks
1

ERROR: Nothing PROVIDES 'wireless-tools'

meta-rdk-opensync

meta-rdk

In opensync_1.4.0.bb, remove wireless-tools from depends 

And in packagegroup-rdk-oss-broadband.bb, remove wireless-tools for dunfell branch

wireless-tools is not there in yocto-3.1
2

ERROR: Nothing PROVIDES 'bridge-utils-native'

ERROR: Nothing PROVIDES 'virtual/kernel-native'

meta-virtualization

openvswitch_git.bb

upgraded from 2.6.3 to 2.13

Add,
DEPENDS_remove = "virtual/kernel bridge-utils"
DEPENDS_append_class-target = " virtual/kernel"
DEPENDS_append_class-target = " bridge-utils"
Building the dependencies only for the target , not for the narive
3
ERROR: Nothing RPROVIDES 'cpp-symlinks'

ERROR: Nothing RPROVIDES 'cpp'

meta-openembedded

python3-pycparser_2.19.bb
Add,
RDEPENDS_${PN}_class-target_remove = " cpp cpp-symlinks"
cpp and cpp-symlinks recipes are not present in 3.1
4

ERROR: mosquitto-1.4.8-r0 do_compile: oe_runmake failed

security_default.c:773:13: error: storage size of 'context' isn't known

meta-rdk-ext

mosquitto_1.4.8.bb

In rdk.conf

Include preferred version of mosquitto with 1.6.9


5make: *** No targets specified and no makefile found. Stop.
ERROR: oe_runmake failed

meta-rdk-broadband

ccsp-common-library.bb

change source directory by including,

S = "${WORKDIR}/ccsp-common-library-yocto-dunfell-upgrade+git${SRCPV}"


6

error: dereferencing pointer to incomplete type 'SSL' {aka 'struct ssl_st'}

error: 'SSL_ST_OK' undeclared (first use in this function); did you mean 'TLS_ST_OK'?

meta-rdk-broadband

ccsp-common-library.bb

remove "SSL_ST_OK" 
(that has been removed for openssl version 1.1.0g)

7
error: 'void* memcpy(void*, const void*, size_t)' 
copying an object of non-trivial type
msgpack-c

Reference:

https://github.com/msgpack/msgpack-c/pull/659/commits/a05d92ae85024d0648f69f95307a1d3e8e51109c


8
undefined reference to `SSLeay_add_all_algorithms'
collect2: error: ld returned 1 exit status

meta-rdk-broadband

utopia.bb

In user_openssl.c,

Add condition for the function,

#if OPENSSL_VERSION_NUMBER < 0x10100000L
#endif


9fatal error: cJSON.h: No such file or directory

meta-rdk-broadband

utopia.bb, ccsp-psm.bb

meta-rdk-ext, ccsp-tr069-pa.bb

wdmp-c_1.0.bb

meta-rdk

dca_git.bb


In apply_system_defaults.c, wdmp_internal.c, wdmp-c.c, 

cosa_x_cisco_com_mta_apis.h, libpd.c, ssp_cfmif.c, dcautils.h, dca.c,
ssp_ccsp_cwmp_cfg.c

add the path for header file, 

#include "cjson/cJSON.h"


10error: format '%ld' expects argument of type 'long int', but argument 8 has type 'time_t'

meta-rdk-opensync

opensync_1.4.0.bb

In sm_survey_report.c,

change long int to long long int


11error: 'strncpy' output truncated before terminating nul copying 23 bytes from a string of the same length

meta-rdk-ext

wrp-c_1.0.bb

In wrp-c.c,

change strncpy with memcpy


12

error: implicit declaration of function 'strnlen' 'gmtime_r'

'localtime_r' , 'asctime_r'

error: nested extern declaration of 'gmtime_r' , 'localtime_r' , 'asctime_r'
error: assignment to 'struct tm * restrict' from 'int' makes pointer from integer without a cast

meta-openembedded

safec_3.5.bb

In safec_3.5.bb

Add, CFLAGS += " -D_POSIX_C_SOURCE"



13
error: implicit declaration of function 'explicit_bzero'

meta-openembedded

safec_3.5.bb

In memzero_s.c,
Add, #undef HAVE_EXPLICIT_ZERO

14configure: error: Package requirements (openssl >= 1.0.1f) were not met:
No package 'openssl' found

meta-rdk-broadband

sso.bb

In sso.bbappend 

Add openssl in depends


15Patch 0001-DELIA-19972-Dibbler-client-crash-in-checkDecline.patch does not apply

meta-openembedded

dibbler_git.bb

In dibbler_%.bbappend

Remove the patch file included.


16checking for and configuring transport modules to use... configure: error: IPv6 transports not available if IPv6 support is not enabled

meta-openembedded 

net-snmp_5.8.bb

Edit IPv6 configurations according to the support needed

17
aclocal: error: couldn't open directory 'cfg': No such file or directory

meta-rdk-broadband

notify-comp.bb

In configure.ac,
change cfg to m4

18fatal error: avro.h: No such file or directory

meta-rdk-broadband

ccsp-wifi-agent.bb

In ccsp-wifi-agent.bbappend 
Add, DEPENDS += "avro-c"

19

undefined reference to symbol 'breakpad_ExceptionHandler'

error adding symbols: DSO missing from command line

meta-rdk-broadband

ccsp-epon-agent.bb,

ccsp-eth-agent.bb,

ccsp-p-and-m.bb

In respective recipes, 

Add, 

LDFLAGS += " -lbreakpadwrapper"

20error: storage size of 'ctx' isn't known

meta-rdk-broadband

ccsp-p-and-m.bb, 

ccsp-tr069-pa.bb

Its applicable for openssl version < 1.1, for updated version use dynamic allocations for ctx
21undefined reference to `syscfg_get'

meta-rdk-broadband

ccsp-eth-agent.bb

ccsp-p-and-m.bb

In ccsp-eth-agent.bb

Add -lsyscfg in LDFLAGS_append, 


22
fatal error: uuid/uuid.h: No such file or directory

meta-rdk-ext

miniupnpd_2.1.bb

In miniupnpd_2.1.bb 
Add, DEPENDS += "util-linux"

23dibbler-1.0.1/scripts/notify-scripts/client-notify-bsd.sh': No such file or directory

meta-openembedded

dibbler_git.bb

In dibbler_%.bb

Change the installation path of the client-notify-bsd.sh


24ERROR: $ bitbake rdk-generic-broadband-image -cdo_populate_lic_deploy -Snone
ERROR: $ bitbake rdk-generic-broadband-image -cdo_populate_lic_deploy -Sprintdiff

meta-rdk-broadband

ccsp-p-and-m.bb

In rdk-generic-broadband-image.bbappend

Add, BB_HASH_IGNORE_MISMATCH = "1"


25
 requires /bin/bash, but no providers

ccsp-p-and-m.bb

dibbler_%.bbappend
mesh-agent.bb

In respective recipe,

Add according to the component,

For Example, RDEPENDS_${PN}-ccsp_append_dunfell = " bash"



26
contained in package hal-wifi-generic requires libwpa_client.so, 
but no providers found in RDEPENDS_hal-wifi-generic?
meta-rdk-broadband
hal-wifi-generic_git.bb
In hal-wifi-generic_git.bbappend  
Add, RDEPENDS_${PN}_append_dunfell = " wpa-supplicant"

27
 Postinstall scriptlets of ['utopia'] have failed
meta-rdk
rdk-generic-broadband-image.bb
In utopia.bb 
comment out
ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf"

28rdk-generic-broadband-image-1.0-r0 do_rootfs: Taskhash mismatch

meta-turris

rdk-generic-broadband-image.bbappend

IMAGE_NAME[vardepsexclude] = "DATETIME"

1.4. Flashing procedure

            Turris Omnia Reference Platform: Flashing Instruction

1.5. Known issues and Limitations

       1. No systemd Ccsp services are running except CcspLmLite

       2. Remote management is disabled, due to lighttpd failure

       3. wifi is broadcasting but unable to connect , due to cssp services  failure

  • No labels