Versions Compared

Key

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

...

  • 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 

Kirkstone build instructions for RPI4-32

...

      Reference :-https://code.rdkcentral.com/r/plugins/gitiles/manifests/+/refs/heads/kirkstone/oe-layers.xml (Kirkstone specific OE layers )
      

RPI4 Kirkstone build instructions


Code Block
languagebash
themeDJango
repo init -u https://code.rdkcentral.com/r/manifests -b kirkstone -m rdkb-extsrc.xml 
repo sync -j`nproc` --no-clone-bundle

# Need to cherry-pick the below changes
cd rdkb/components/opensource/ccsp/CcspCommonLibrary && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspCommonLibrary refs/changes/77/85577/3 && git cherry-pick FETCH_HEAD && cd - 
cd rdkb/components/opensource/ccsp/DhcpManager && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/DhcpManager refs/changes/77/88577/2 && git cherry-pick FETCH_HEAD && cd -
cd rdkb/components/opensource/ccsp/CoreNetLib && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CoreNetLib refs/changes/75/88575/1 && git cherry-pick FETCH_HEAD && cd -
cd rdkb/components/opensource/ccsp/Utopia && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/Utopia refs/changes/76/88576/2 && git cherry-pick FETCH_HEAD && cd -
cd rdkb/components/opensource/ccsp/rdk-wifi-hal && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/hal/rdk-wifi-hal refs/changes/26/88826/2 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/hal/rdk-wifi-hal refs/changes/89/86489/3 && git cherry-pick FETCH_HEAD && cd - 
cd rdkb/components/opensource/ccsp/CcspEPONAgent && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspEPONAgent refs/changes/18/89618/3 && git cherry-pick FETCH_HEAD && cd -
cd rdkb/components/opensource/ccsp/CcspLMLite && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspLMLite refs/changes/68/87768/1 && git cherry-pick FETCH_HEAD && cd -
cd meta-rdk-broadband && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk-broadband refs/changes/74/84774/4 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk-broadband refs/changes/84/87484/2 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk-broadband refs/changes/43/88043/1 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk-broadband refs/changes/61/89461/1 && git cherry-pick FETCH_HEAD && cd -
cd meta-rdk && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk refs/changes/73/84773/12 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk refs/changes/46/89746/1 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk refs/changes/52/89952/3 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk refs/changes/93/90393/3 && git cherry-pick FETCH_HEAD && cd -
cd meta-rdk-ext && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk-ext refs/changes/19/88119/2 && git cherry-pick FETCH_HEAD && cd -
cd rdkb/components/opensource/ccsp/OneWifi && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/OneWifi refs/changes/91/86491/3 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/OneWifi refs/changes/60/86860/2 && git cherry-pick FETCH_HEAD 
cd -

MACHINE=raspberrypi4-rdk-broadband source meta-cmf-raspberrypi/setup-environment
bitbake rdkb-generic-broadband-image

Kirkstone build instructions for RPI4-64

 The following commands fetches the source code of Rpi4-64 using repo tool

Code Block
languagebash
themeDJango
repo init -u https://code.rdkcentral.com/r/manifests -b kirkstone -m rdkb-extsrc.xml
 repo sync -j`nproc` --no-clone-bundle

# Need to cherry-pick the below changes
cd rdkb/components/opensource/ccsp/CcspCommonLibrary && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspCommonLibrary refs/changes/77/85577/3 && git cherry-pick FETCH_HEAD && cd - 
cd rdkb/components/opensource/ccsp/DhcpManager && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/DhcpManager refs/changes/77/88577/2 && git cherry-pick FETCH_HEAD && cd -
cd rdkb/components/opensource/ccsp/CoreNetLib && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CoreNetLib refs/changes/75/88575/1 && git cherry-pick FETCH_HEAD && cd -
cd rdkb/components/opensource/ccsp/Utopia && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/Utopia refs/changes/76/88576/2 && git cherry-pick FETCH_HEAD && cd -
cd rdkb/components/opensource/ccsp/rdk-wifi-hal && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/hal/rdk-wifi-hal refs/changes/26/88826/2 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/hal/rdk-wifi-hal refs/changes/89/86489/3 && git cherry-pick FETCH_HEAD && cd - 
cd rdkb/components/opensource/ccsp/CcspEPONAgent && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspEPONAgent refs/changes/18/89618/3 && git cherry-pick FETCH_HEAD && cd -
cd rdkb/components/opensource/ccsp/CcspLMLite && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/CcspLMLite refs/changes/68/87768/1 && git cherry-pick FETCH_HEAD && cd -
cd meta-rdk-broadband && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk-broadband refs/changes/74/84774/4 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk-broadband refs/changes/84/87484/2 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk-broadband refs/changes/43/88043/1 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk-broadband refs/changes/61/89461/1 && git cherry-pick FETCH_HEAD && cd -
cd meta-rdk && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk refs/changes/73/84773/12 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk refs/changes/46/89746/1 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk refs/changes/52/89952/3 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk refs/changes/93/90393/3 && git cherry-pick FETCH_HEAD && cd -
cd meta-rdk-ext && git fetch https://code.rdkcentral.com/r/rdk/components/generic/rdk-oe/meta-rdk-ext refs/changes/19/88119/2 && git cherry-pick FETCH_HEAD && cd -
cd rdkb/components/opensource/ccsp/OneWifi && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/OneWifi refs/changes/91/86491/3 && git cherry-pick FETCH_HEAD && git fetch https://code.rdkcentral.com/r/rdkb/components/opensource/ccsp/OneWifi refs/changes/60/86860/2 && git cherry-pick FETCH_HEAD 
cd -


#Need to Choose below configuration for Rpi4-32 bit
MACHINE=raspberrypi4-rdk-broadband source meta-cmf-raspberrypi/setup-environment

#Need to Choose below configuration for Rpi4-64 bit
MACHINE=raspberrypi4-64-rdk-broadband source meta-cmf-raspberrypi/setup-environment
bitbakeenvironmentbitbake rdkb-generic-broadband-image


Kirkstone (Yocto 4.0) -

...

Epic Story:

RDK-B RPI4 64 bit:

...

Jira
serverJIRA

...

- 2
serverId11deff04-0380-3a3d-a916-0849d4e573f7
keyREFPLTB-1805
 

...

Migrate RPI4 64 bit to Yocto 4.0

...

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

...

Jira
serverJIRA - 2
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId11deff04-0380-3a3d-a916-0849d4e573f7
keyREFPLTB-1902

...

Build Yocto 4 core-image-minimal for RPI 64bit target

...

Jira
serverJIRA - 2
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId11deff04-0380-3a3d-a916-0849d4e573f7
keyREFPLTB-1977

...

RDK-B RPI4 32 bit:

...

Jira
serverJIRA

...

- 2
serverId11deff04-0380-3a3d-a916-0849d4e573f7
keyREFPLTB-1806

...

Migrate RPI4 32 bit to Yocto 4.0

Migration Efforts:

Kirkstone (Yocto 4.0) can be built using Ubuntu 18.04, 20.04 or 22.04 VMs. All these variants need additional packages to be installed over the vanilla version.

To tackle the build issues from moving one version to another, we have decided to split the problem into different subtasks. So instead of building a complete image at one go, we have planned for the generation of the following images:

  • core-minimal-image 
  • rdk-generic-broadband-image

These images need to be tested in cmf, to ensure that nothing has broken the existing system.

In order to provide a smooth transition without disturbing the existing branch, we have created a branch called `feature-kirkstone` for non-OE layers and another branch called `rdk/kirkstone` for OE layers and  bitbake.

The Kirkstone specific OE layers:

  • Openembedded-core
  • Bitbake
  • Meta-openembedded
  • Meta-virtualization
  • Meta-java
  • Meta-clang
  • Meta-python2
  • Meta-gplv2

The machine configuration shall have a distro defined “Kirkstone”

Kirkstone migration steps

...



Additional information for building a project:

...