This manual describes the rdk-generic-broadband-image build procedure for Yocto 4.0 builds. This will upgrade the build system used in RDKB, from dunfell(3.1) to kirkstone(4.0). In addition to upgrades to opensource packages, Yocto 4.0 also contain Long term Support release feature. The current version lacks the variety of features available in the kirkstone. The upgraded build tools will be used to generate rdk-generic-broadband-image for Raspberrypi reference platform.
Yocto 4.0 Upgradation support the following:
Each component in RDK is a standalone repository with its own individual build tools producing a library or set of binaries. When we upgrade the OE layers to the newer versions, we need to make necessary changes in the RDK layers which use these components, to avoid build failures.
The OpenEmbedded build system should be able to run on Ubuntu 20.0 distribution/other compatible linux distribution with the following versions for Git, tar, and Python.
Note: You should also have about 50 Gbytes of free disk space for building images.
The essential packages you need for a supported Ubuntu or Debian distribution are shown in the following command:
|
In order to use Yocto build system, the repo tool must be properly installed on the machine.
To install Repo make sure you have a /bin directory in your home directory and that it is included in your path
$ mkdir ~/bin $ PATH=~/bin:$PATH Download the repo tool and ensure that it is executable $ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo |
Note: it is also recommended to put credentials in ~/.netrc when interacting with repo.
A sample ~/.netrc file is illustrated below
machine code.rdkcentral.com login YOUR_USERNAME password YOUR_PASSWORD |
To build, follow below instructions
$ mkdir <workspace dir> $ cd <workspace dir> $ repo init -u https://code.rdkcentral.com/r/manifests -b kirkstone -m rdkb-extsrc.xml $ repo sync -j`nproc` --no-clone-bundle $ MACHINE=raspberrypi4-rdk-broadband source meta-cmf-raspberrypi/setup-environment Please use the below MACHINE command for enabling the debug tools as part of the build, MACHINE=raspberrypi4-rdk-broadband DISTRO_NAME=enable_debug_tool source meta-cmf-raspberrypi/setup-environment $ bitbake rdk-generic-broadband-image |
Following command can be used to flash the RPI image to sd card using linux machine . bmap tool should be available in linux
bzip2 -d <path to ImageName.wic.bz2> sudo -E bmaptool copy --nobmap <path to ImageName.wic> <path to SD card space> Example: $ bzip2 -d rdk-generic-broadband-image-raspberrypi-rdk-broadband.wic.bz2 $ sudo -E bmaptool copy --nobmap rdk-generic-broadband-image-raspberrypi-rdk-broadband.wic.bz2 /dev/sdb |
No | Feature | Supported |
---|---|---|
1 | LAN Connected Devices-Ethernet | |
2 | WAN Connected Devices-Wi-Fi | |
3 | Parental Control | |
4 | Firewall settings | |
5 | Advanced Config: Port Triggering | |
6 | Advanced Config: Port Forwarding | |
7 | Advanced Config: Remote Management | |
8 | Advanced Config: DMZ | |
9 | Xfinity Wi-Fi 2.4/5 GHz – Public Hotspot | |
10 | Test and Diagnostics | |
11 | Local WebUI Configuration | |
12 | Factory Reset | |
13 | DHCP /Reserved IP | |
15 | Eth Agent | |
16 | 2.4 GHz Band Support | |
17 | 5 GHz Band Support | |
18 | Bridge Mode Support | |
19 | Persistent Storage Management | |
20 | WebPA for Comcast,community | |
21 | Lost and Found | |
22 | Bluetooth | |
22 | Harvester Support | |
23 | TR-69 | |
24 | SNMP | |
27 | Boot time data measurement | |
28 | Wireless Protection Setup(WPS - 2G support) | |
29 | Captive Portal | |
30 | Wi-Fi MAC Filtering | |
31 | Log Rotation Support | |
32 | Firmware Upgrade Support | |
34 | Telemetry Support | |
35 | IPV6 | |
36 | Log level control through CcspLogAgent | |
37 | Band Steering using RSSI | |
38 | Backup and Restore | |
39 | SelfHeal | |
40 | Password-Reset | |
41 | WebUI JST | |
43 | RdkWanManager | |
44 | RdkFwUpgradeManager |
References :
We captured all the kirkstone build errors and its fixes in this link RDK-B RPI4 32 bit .
https://code.rdkcentral.com/r/q/topic:RPI_kirkstone_migration
RDK-B RPI4 32 bit: