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).

Environment Setup

  • Host- environment

  1. In Ubuntu 18.04 version, consider the versions of git(1.8.3.1 or greater), tar(1.27 or greater), Python(3.4.0 or greater), Coreutils.
  2. Take a look on the following packages,

$ 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

3. Configure repo

4. Ensure the .netrc and .gitconfig files

  • Build instructions for creating core-image-minimal build

The following commands fetches the source code of turris using repo tool and create the image using bitbake

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 core-image-minimal



        Currently we are in the process of building rdk-generic-broadband-image. The main source for errors can be classified into 4 categories.

           --> Incompatible license with RDK.
           --> Trying to apply older patches into newer version of recipes.
           --> Recipe version changes due to dependency.
           --> If there is a license upgrade to a new recipe which is not compatiable with RDK terms then we need to stick to the older version.

Error Handling

For core-minimal image,


Error/ WarningLayer and RecipeFixReference
1

Unable to start bitbake server (None)

ERROR: Server log for this session
meta-java

In layer.conf

Added

LAYERSERIES_COMPAT_meta-java = " dunfell"
NA
2

Unable to parse Var <AVAILABLE_LICENSES[:=]>


bb.data_smart.ExpansionError: Failure expanding variable AVAILABLE_LICENSES[:=], expression was ${@' '.join(available_licenses(d))} which triggered exception FileNotFoundError: [Errno 2] No such file or directory
meta-cmfNeed to create a licenses directory under the meta-layer and add RDK license file to itNA
3

Deprecated variable(s) found: "IMAGE_DEPENDS_wic". Use do_image_<type>[depends] += "<recipe>:<task>" instead


Failed to parse recipe: /meta-java/recipes-images/images/java-test-image.bb
meta-marvell

In armada38x-base.inc ,

Removed IMAGE_DEPENDS_wic_append_armada38x = " virtual/bootloader"

added WKS_FILE_DEPENDS ?= ""

https://patchwork.openembedded.org/patch

/143213/

4ParseError at /meta-marvell/recipes-kernel/linux/linux-marvell.inc:16: Could not include required file recipes-kernel/linux/linux-dtb.incmeta-turris

In recipes-kernel/linux,

added linux-dtb.inc

https://code.rdkcentral.com/r/plugins/gitiles/rdk

/components/opensource/oe/openembeddedco

re/+/849b67b2e4820564b5e5c9bd4bb293c443

51c5f3/meta/recipes-kernel/linux/linux-dtb.inc

5

ExpansionError during parsing / meta-cmf-mesh/recipes-common/mesh-agent/mesh-agent.bb


ExpansionError during parsing  /meta-rdk-broadband/recipes-rdkb/sysint-broadband/sysint-broadband.bb

meta-cmf-mesh

mesh-agent.bb


meta-rdk-broadband

sysinit-broadband.bb


In mesh-agent.bb

replace base_contains by bb.utils.contains
NA
6ParseError at  /meta-browser/recipes-mozilla/mozilla-devscripts/mozilla-devscripts_git.bb:15: Could not inherit file classes/distutils.bbclassmeta-cmf-broadband

In rdk-bbmasks-broadband.inc,

add BBMASK .= "|meta-browser/*"

NA
7ParseError at /Migration-3.1/meta-rdk-broadband/recipes-ccsp/ccsp/ccsp-webui.bb:32: Could not inherit file classes/lxc.bbclassmeta-virtualization

Under classes,

remove inherit lxc from ccsp-webui.bb

NA
8

ExpansionError during parsing /meta-rdk-broadband/recipes-ccsp/ccsp/ccsp-wifi-agent.bb


ExpansionError during parsing /meta-rdk-broadband/recipes-ccsp/ccsp/parodus2ccsp.bb

meta-rdk-broadband

ccsp-wifi-agent.bb


parodus2ccsp.bb

replace base_containes by bb.utils.containsNA
9

ExpansionError during parsing /meta-rdk-opensync/recipes/opensync/opensync_1.4.0.bb


ExpansionError during parsing /meta-rdk-ext/recipes-support/base64/base64_git.bb

meta-turris

opensync_1.4.0.bbappend


meta-rdk-ext

base64_git.bb

change branch to masterNA
10Nothing RPROVIDES '${ROOTFS_PKGMANAGE_BOOTSTRAP}' (but /openembedded-core/meta/recipes-core/images/core-image-minimal.bb RDEPENDS on or otherwise requires it)

ERROR: Required build target 'core-image-minimal' has no buildable providers.
openembedded-core

add  ROOTFS_PKGMANAGE_BOOTSTRAP = "postinsts"

 NA
11

Nothing RPROVIDES 'wireless-tools' (but /meta-turris/recipes-core/packagegroups/packagegroup-turris-core.bb RDEPENDS on or otherwise requires it)


Nothing RPROVIDES 'trace-cmd' (but /meta-turris/recipes-core/packagegroups/packagegroup-turris-core.bb RDEPENDS on or otherwise requires it)


Nothing RPROVIDES 'iperf' (but /meta-turris/recipes-core/packagegroups/packagegroup-turris-core.bb RDEPENDS on or otherwise requires it)

openembedded-core




openembedded-core



meta-openembedded

remove wireless-tools ,trace-cmd , iperf  from packagegroup-turris-core.bb

NA
12

ERROR: 265 unbuildable tasks were found.
These are usually caused by circular dependencies and any circular dependency chains found will be printed below. Increase the debug level to see a list of unbuildable tasks.

openembedded-core

python3_3.8.2.bb

 BBMASK openssl unused version NA
13ERROR: kern-tools-native-0.2+gitAUTOINC+7604d2d1a4-r12 do_patch: Command Error: 'quilt --quiltrc /build-turris/tmp/work/x86_64-linux/kern-tools-native/0.2+gitAUTOINC+7604d2d1a4-r12/recipe-sysroot-native/etc/quiltrc push' exited with 0 Outputmeta-rdk-opensyncRecreate the patch file ./meta-rdk-opensync/recipes/kern-tools/files/dont_install_kconfiglib.patchNA
14dbus-1.12.16-r0 do_fetch: Fetcher failure: Unable to find file file://01-dbus-ccsp-apis-1.12.16.patch anywhere.meta-rdk-ext

rename the existing patch for dbus version 1.12.16 and recreate the patch with the following name

01-dbus-ccsp-apis-1.12.16.patch

NA
15u-boot-marvell-2013.01+gitAUTOINC+25998da8b6-r0 do_configure: Execution of /build-turris/tmp/work/turris-rdk-linux-musleabi/u-boot-marvell/2013.01+gitAUTOINC+25998da8b6-r0/temp/run.do_configure.12492' failed with exit code 1

meta-turris

u-boot-marvell_2013.01.bbappend

Add,

do_configure_prepend() {
touch ${S}/.config
cp ${WORKDIR}/recipe-sysroot-native/usr/bin/oldconfig ${WORKDIR}/uboot/oldconfig
}

NA
16ERROR: /build-turris/tmp/work/turris-rdk-linux-musleabi/u-boot-marvell/2013.01+gitAUTOINC+25998da8b6-r0/uboot/fs/jffs2/mini_inflate.c:222: undefined reference to `cramfs_memset'

meta-turris

u-boot-marvell_2013.01.bbappend

Create a patch and apply

u-boot-inline-error.patch

NA
17dnsmasq-2.80-r0 do_patch: Command Error: 'quilt --quiltrc /home/krishna/RAJ/Migration-3.1/build-turris/tmp/work/armv7ahf-neon-rdk-linux-musleabi/dnsmasq/2.80-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0 meta-rdk-ext

recreate the patch

130-fingerprint-dhcp-lease-file.patch

NA
18kern-tools-native-0.2+gitAUTOINC+7604d2d1a4-r12 do_populate_lic: QA Issue: kern-tools-native: LIC_FILES_CHKSUM points to an invalid file: /build-turris/tmp/work/x86_64-linux/kern-tools-native/0.2+gitAUTOINC+7604d2d1a4-r12/git/git/Kconfiglib/LICENSE.txt [license-checksum]

meta-rdk-opensync

kern-tools-native_%.bbappend

comment 

LIC_FILES_CHKSUM = "file://git/Kconfiglib/LICENSE.txt;md5=448ee4da206e9be8f4a79c48e0741295"

NA
19

core-image-minimal-1.0-r0 do_rootfs: Unable to install packages. 

- nothing provides fftw needed by packagegroup-turris-core-1.0-r0.all

- do not ask to install a package providing packagegroup-turris-core


add

fftw.bbappend

NA
20

When reparsing /openembedded-core/meta/recipes-core/images/core-image-minimal.bb:do_rootfs, the basehash value changed from 1c76594fd609e77323d32b96b490551409f1dd7494e75119b74115805687e530 to 435cd9fd2595cbf5d3420df8cdcf1366179c1c68f804f4ab735b6cff5f84d03f. The metadata is not deterministic and this needs to be fixed.

ERROR: $ bitbake core-image-minimal -cdo_rootfs -Snone
ERROR: $ bitbake core-image-minimal -cdo_rootfs -Sprintdiff

meta-turris

minimal.bbappend 

add BB_HASH_IGNORE_MISMATCH = "1"
21ERROR: core-image-minimal-1.0-r0 do_rootfs: Postinstall scriptlets of ['systemd'] have failed. If the intention is to defer them to first boot,
then please place them into pkg_postinst_ontarget_${PN} ()

Removed installing resolv.conf for dunfell branchNA
22ERROR: core-image-minimal-1.0-r0 do_rootfs: Taskhash mismatch 8f27e0dbdfe3ca200423ce2c2b7235163592522452134eeb952f0ed25647769d versus 7db8ecb95cf063d5b230c2eefa967d5e6888f6c0455f20a701f8c2113198ce9b for /openembedded-core/meta/recipes-core/images/core-image-minimal.bb:do_rootfs
ERROR: Taskhash mismatch 

meta-turris

core-image-minimal.bbappend

 add IMAGE_NAME[vardepsexclude] = "DATETIME"NA
23

ERROR: core-image-minimal-1.0-r0 do_image_wic: Execution of /build-turris/tmp/work/turris-rdk-linux-musleabi/core-image-minimal/1.0-r0/temp/run.do_image_wic.29811' failed with exit code 1:

ERROR: _exec_cmd: install -m 0644 -D /build-turris/tmp/deploy/images/turris/zImage-armada-385-turris-omnia.dtb 
/images/turris/zImage-armada-385-turris-omnia.dtb': No such file or directory

meta-turris

turris.conf

 remove zImage-armada-385-turris-omnia.dtb from IMAGE_BOOT_FILESNA

Flashing procedure

            Turris Omnia Reference Platform: Flashing Instruction

  • No labels