This manual describes the rdk-generic-broadband-image build procedure for Yocto 3.1 builds. This will upgrade the default build system used in RDKB, from morty(2.2) to dunfell(3.1). In addition to upgrades to opensource packages, Yocto 3.1 also contain Long term Support release feature. The current version lacks the variety of features available in the dunfell. The upgraded build tools will be used to generate rdk-generic-broadband-image for Raspberrypi reference platform.
...
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 18.04 distribution/other compatible linux distribution with the following versions for Git, tar, and Python.
...
Code Block |
---|
|
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
pylint3 xterm bmap-tools
$ sudo apt-get install git cmake autoconf texinfo openjdk-8-jdk openjdk-8-jre \
m4 libtool libtool-bin curl pkg-config lib32z1 doxygen |
Repo Setup
In order to use Yocto build system, the repo tool must be properly installed on the machine.
...
Code Block |
---|
language | bash |
---|
theme | RDark |
---|
title | .netrc |
---|
|
machine codemachine code.rdkcentral.com
login YOUR_USERNAME
password YOUR_PASSWORD |
Yocto Build Steps
To build, follow below instructions
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | Build Steps |
---|
|
$ mkdir <workspace dir>
$ cd <workspace dir>
$ repo init -u https://code.rdkcentral.com/r/manifests -b dunfell -m rdkb-extsrc.xml
$ repo sync -j`nproc` --no-clone-bundle
$ MACHINE=raspberrypi-rdk-broadband 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
Code Block |
---|
theme | Midnight |
---|
title | Flash command |
---|
|
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 /dev/sdb |
...
- For initial boot-up only, toggle the sub-menu in WebUI is not happening .
Validated Functionalities
Basic functions are validated in dunfell branch,
- RPI 3B+ Board was successfully up
- Able to browse the internet
- Able to get the erouter0 ip
- dmcli commands are working as expected
- All ccsp process and hostapd process are up
- Able to connect the wireless clients
- In wireless clients, Captive Portal page was launched for initial set-up
- Re-connect the wifi clients with updated password and SSID
- Able to browse the internet successfully in Connected clients
- WebUI was launched in Web Browser
- Able to login successfully
- Factory_reset , Password change , Advanced functionalities are worked as expected
- iptables rules are properly updated.
- reboot and poweroff are working as expected.
- LAN connection check