You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

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 

Kirkstone build instructions for RPI4-32

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

repo init -u https://code.rdkcentral.com/r/manifests -b feature-kirkstone -m rdkb-extsrc.xml
repo sync --no-tag
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

repo init -u https://code.rdkcentral.com/r/manifests -b feature-kirkstone -m rdkb-extsrc.xml
repo sync --no-tag
MACHINE=raspberrypi4-64-rdk-broadband source meta-cmf-raspberrypi/setup-environment
bitbake rdkb-generic-broadband-image


Kirkstone (Yocto 4.0) - User Stories :

RDK-B RPI4 64 bit:

US Numbertitle


REFPLTB-1805 - Getting issue details... STATUS

 

Migrate RPI4 64 bit to Yocto 4.0

REFPLTB-1883 - Getting issue details... STATUS

Manifest changes to support kirkstone

REFPLTB-1902 - Getting issue details... STATUS

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

REFPLTB-1977 - Getting issue details... STATUS

Build Yocto 4 rdk-generic-broadband-image for RPI 64bit target


RDK-B RPI4 32 bit:

US Numbertitle

REFPLTB-1806 - Getting issue details... STATUS

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

  • Enter into yocto4 workspace
  • Raise CMF support ticket to create topic branch for all repos
    feature-kirkstone for all CMF repositories
    rdk/kirkstone for oe layer repositories
  • Execute generic repo init command
  • Update manifest XML files as follows
    → in oe-layers.xml, rdk/kirkstone should be the revision for meta-openembedded, openembedded-core,bitbake and meta-virtualization
    → feature-kirkstone should be the revision for all other meta layers
  • Execute repo sync command
  • Setup the environment for target
  • Execute bitbake command to resolve parsing, compilation and other errors

Additional information for building a project:

   Docker file for ubuntu 20.04 and 18.04

Dockerfile-20-4.zip


ubuntu_18.04.txt.zip


Sanity report:

    Test Summary

  

S.No

Sanity tested on

Status

1

erouter0 interface got Wan IP

Pass

2

brlan0 interface got default LAN IP

Pass

3

Able to take SSH Connection

Pass

4

All CCSP process are running

Pass

5

Able to Ping www.google.com

Pass

6

All systemd services are running

Pass

7

Able to connect LAN client

Pass

8

LAN client got IP from default pool range

Pass

9

LAN client should open with CaptivePortal Page

Pass

10

Able to connect wireless client

Pass

11

Wireless client got IP from default pool range

Pass

12

Wireless client can access the CaptivePortal Page

Pass

13

Internet should work on Connected clients after changing the default credentials

Pass

14

RdkWanManager systemd service should be in running state

Pass

15

Using dmcli to check the  CCSP TR-181 DataModels 

Pass

16

WebUI page should be loaded on Connected clients after changing the default credentials

Pass

17

WebUI page should be loaded through erouter0IP via RM

Pass

18

hostapd systemd service should be in running

Pass

19

wlan0 and wlan1 interfaces should be UP and RUNNING

Pass

20

All ccsp logs files should be generated in /rdklogs/logs folder

Pass



Technical support:

support@rdkcentral.com


  • No labels