Benefits of Kirkstone:
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 )
RPI4 Kirkstone build instructions
RPI4 32-bit build
repo init -u https://code.rdkcentral.com/r/manifests -b kirkstone -m rdkb-extsrc.xml
repo sync --no-clone-bundle --no-tags
#Need to Choose below configuration for Rpi4-32 bit
MACHINE=raspberrypi4-rdk-broadband source meta-cmf-raspberrypi/setup-environment
bitbake rdk-generic-broadband-image
RPI4 64-bit build
repo init -u https://code.rdkcentral.com/r/manifests -b kirkstone -m rdkb-extsrc.xml
repo sync --no-clone-bundle --no-tags
#Need to Choose below configuration for Rpi4-64 bit
MACHINE=raspberrypi4-64-rdk-broadband source meta-cmf-raspberrypi/setup-environment
bitbake rdk-generic-broadband-image
Docker file for ubuntu 20.04 and 18.04
Dockerfile-20-4.zip
ubuntu_18.04.txt.zip
Sanity Test cases :
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 | Using dmcli to check the CCSP TR-181 DataModels | Pass |
15 | WebUI page should be loaded on Connected clients after changing the default credentials | Pass |
16 | WebUI page should be loaded through erouter0IP via RM | Pass |
17 | wlan0 and wlan1 interfaces should be UP and RUNNING | Pass |
18 | All ccsp logs files should be generated in /rdklogs/logs folder | Pass |
19 | dmcli eRT getv Device. | Pass |
References :
We captured all the kirkstone build errors and its fixes in this link RDK-B RPI4 64 bit and RDK-B RPI4 32 bit .
Code Commits
https://code.rdkcentral.com/r/q/topic:RPI_kirkstone_migration
RDK-B RPI4 64 bit:
REFPLTB-1805
-
Getting issue details...
STATUS
RDK-B RPI4 32 bit:
REFPLTB-1806
-
Getting issue details...
STATUS
Jira Tickets :
Key
|
Summary
|
T
|
Created
|
Updated
|
Due
|
Assignee
|
Reporter
|
P
|
Status
|
Resolution
|
Technical support:
support@rdkcentral.com