RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
...
DAC on Broadband is an enabling technology the purpose of which is to support the flexibility required by the next generation of "smart" routers. DAC on Broadband allows operators to remotely manage the life cycle of containerized applications and services. This negates the need for monolithic system image updates and allows for varied set of deployed services across the customer base where one size does not fit all.
Detailed info is mentioned in wiki page: DAC on Broadband
...
OCI image generation is specifically for broadband application developers, in which they can create their application irrespective of platform. That image will be compatible with all the platforms but only difference is developer need to define the arch of the platform like 32 bit or 64 bit.
Generic meta layer for the generation of OCI image will meta-dac-sdk-broadband.(https://github.com/rdkcentral/meta-dac-sdk-broadband)
Build instructions are mentioned below for oci image generation, as of now we are offering "iperf3 application" in meta-dac-sdk-broadband. For any query you can refer mentioned jira.
Jira | ||||||
---|---|---|---|---|---|---|
|
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#Following#following repo commands will required meta-layers see manifest of https://code.rdkcentral.com/r/plugins/gitiles/manifests/+/refs/heads/rdk-next/rdkb-extsrc.xml 1)BPIR4 repo init -u https://code.rdkcentral.com/r/rdkcmf/manifests -b kirkstone -m rdkb-bpi-extsrc.xml -b kirkstone #execute the below command to clone the meta-dac-sdk-broadband and bitbake 2)projects sed -i '/oe-layers.xml/a a \ \ \ \ <project name="rdkcentral/meta-dac-sdk-broadband" remote="github" path="meta-dac-sdk-broadband" revision="main" /> \n\ \ \ \ <project name="yoctoproject/poky" remote="github" path="." revision="1e0d58c53b7d9c3feb631e46666ae7a3e3614253" upstream="kirkstone"/>' .repo/manifests/rdkb-bpi-extsrc.xml #Below command to sync all the code to the folder. 3)repo sync -j `nproc` --no-clone-bundle --no-tags ##cherrypick cherrypick the below link to overcome the old syntax override issue with bitbake 4)cd bitbake && git fetch https://code.rdkcentral.com/r/rdk/components/opensource/oe/bitbake refs/changes/35/85335/3 && git cherry-pick FETCH_HEAD && cd .. 5). ./#Add below lines to "oe-init-build-env #Command used for setting up build folder. 6)". TOP_DIR="$(pwd)/.." internal_link='gerrit\.mediatek\.inc\/openwrt\/feeds\/mtk_openwrt_feeds' external_link='git01\.mediatek\.com\/openwrt\/feeds\/mtk-openwrt-feeds' sed -i "s/$internal_link/$external_link/" $TOP_DIR/meta-filogic/recipes-netsys/pce/pce.bb sed -i "s/$internal_link/$external_link/" $TOP_DIR/meta-filogic/recipes-netsys/eip-197/eip-197.bb . ./oe-init-build-env cp ../meta-dac-sdk-broadband/manifests/bblayers.conf conf/ 7)echo 'MACHINE = "raspberrypi4-64"' >> conf/local.conf # This step is used to differentiate the arch where BPIR4 supports 64 bit arch by default. sed -i "s/meta-raspberrypi/meta-filogic/" conf/bblayers.conf #Add below lines in conf/local.conf require conf/machine/include/arm/armv8a/tune-cortexa53.inc DISTRO_FEATURES_append = " kirkstone" MACHINE = "filogic" BBMASK .= "|meta-filogic/recipes-ccsp/hal" BBMASK .= "|meta-filogic/recipes-wifi/" # Building Iperf DAC app 8)bitbake dac-image-iperf3 |
...
eg: Iperf application recipe file application path and info.
meta-dac-sdk-broadband/recipes-example/example/iperf3/iperf3_3.11.bb .
...
After OCI image gets generated we need to generate bundlegen for the generated oci image to make that application platform compatible. (https://github.com/rdkcentral/BundleGen.git)
For BPIR4 we are having below mentioned templates.
1)bpir4_reference.json
2)bpir4_reference_libs.json
Before generating bundlegen make sure that you are having supported packages in your local machine(linux machine) for bundlegen support.
Code Block | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
git clone https://github.com/rdkcentral/BundleGen.git (clone Bundlegen code.) cd BundleGen python3 setup.py build python3 setup.py install export PYTHONPATH=/usr/lib/python3.8/site:$PYTHONPATH # Copy generated oci image to this folder. chmod 777 dac-image-iperf3-raspberrypi4filogic-2024093010064220250523063607.rootfsbin-oci.tar tar -xvf dac-image-iperf3-raspberrypi4filogic-2024093010064220250523063607.rootfsbin-oci.tar chmod 777 dac-image-iperf3-raspberrypi4filogic-20240930100642.rootfs 20250523063607.bin-oci bundlegen generate --platform bpir4_reference oci:dac-image-iperf3-raspberrypi4filogic-2024093010064220250523063607.rootfsbin-oci.tar ~/iperf332iperf3-filogic (creates the iperf332.tar.gz bundle file) |
...