For dac validation we need dobby, crun and dsm functionalities in the BPIR4 device. So all mentioned functionality has been brought to BPIR4 platform by including "dac" distro feature into the build, for reference follow mentioned jira.
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.
#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)repo init -u https://code.rdkcentral.com/r/rdkcmf/manifests -m rdkb-extsrc.xml -b kirkstone #execute the below command to clone the meta-dac-sdk-broadband and bitbake 2)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-extsrc.xml #Below command to sync all the code to the folder. 3)repo sync -j `nproc` --no-clone-bundle --no-tags # 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). ./oe-init-build-env #Command used for setting up build folder. 6)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. # Building Iperf DAC app 8)bitbake dac-image-iperf3 |
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.
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-raspberrypi4-20240930100642.rootfs-oci.tar tar -xvf dac-image-iperf3-raspberrypi4-20240930100642.rootfs-oci.tar chmod 777 dac-image-iperf3-raspberrypi4-20240930100642.rootfs bundlegen generate --platform bpir4_reference oci:dac-image-iperf3-raspberrypi4-20240930100642.rootfs-oci.tar ~/iperf332 (creates the iperf332.tar.gz bundle file) |
Bundlegen Jira for reference.
In BPIR4 dac application can be installed and validated in 2 ways:
1)Using USP-Pa.
2) Manual validation ( By copying oci bundle to bpir4 device).
Both validation steps are included in below mentioned jira.