Versions Compared

Key

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

...

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

Dac functionality in BPIR4.

...

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
serverJIRA
serverId11deff04-0380-3a3d-a916-0849d4e573f7
keyRDKBACCL-325

Code Block
languagebash
themeRDark
titleOCI Build instructions for aarch64
collapsetrue
#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  \ \ \ \ <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 

Instructions for on-boarding new applications to meta-dac-sdk-broadband .

...

 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
languagebash
themeRDark
firstline1
titleBundlegen steps for BPIR4 Platform.
linenumberstrue
collapsetrue
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)

...