
RDK-B Emulator Users Guide
Copyright 2015 RDK Management, LLC. All rights reserved.
The contents of this document are RDK Management, LLC Proprietary and Confidential and may not be distributed or otherwise disclosed without prior written permission of RDK Management, LLC.
Document Status
Document Title | RDK Emulator Users Guide |
Version |
|
Date | 18/11/2021 |
Table of Contents
Introduction
RDK (Reference Design Kit) is an integrated set of software components, tools and documentation that help in the development of the software stack for set-top box based on the standard Linux operating system which is designed to meet the requirements of the latest generation media servers and clients.
The RDK emulator is an x86 based implementation of the RDK software stack. It is primarily targeted towards the RDK development community (integrators, component developers and application developers) that attempts to simplify the process of working with the RDK software stack without the need for a reference hardware platform.
Purpose of this Document
The purpose of this document is to enable RDK users and developers to be able to bring up the RDK stack and emulator on the PC platform. The document also includes step-by-step procedures to setup & build RDK Emulator
Known Issues
- eth0/erouter0 interface <ip address> is failing to connect ssh . But, able to connect ssh with host using port forwarding in Network settings of Virtual Box.
- Client is getting the <ip address> from Emulator . But, not in 10.x.x.x
- Failed to open webUI configuration .
Abbreviations and Acronyms
The following table describes the acronyms and abbreviations used in this document
Abbreviation/Acronym | Description |
RDK | Reference Development Kit |
VM | Virtual Machine |
VBox | Virtual Box |
Overview of RDK Emulator
- Executes on x86-based platforms including virtualization environments such as Virtual Box and QEMU.
- Built using Yocto and RDK build frameworks
RDK-B Emulator runs RDK-B stack on PC platform, validated through the virtual box based virtualization platform .
Hardware Abstraction Layer supporting Ethernet and Wi-Fi functionalities are introduced to adopt the PC platform.
Wi-Fi Hotspot support through external wireless adapter.USB to Ethernet Adapter is used for Ethernet LAN connections.
Support of advance configurations like firewall, parental control, WAN Manager and remote management etc ...
Supported Build Types
Build Types | RDK Components Involved | Features/Applications Supported | Final Image Name | Startup Application |
rdk-generic-broadband-image | - rdklogger
- utopia
- ccsp components
| - Wan Manager
- parental control
- firewall
- Remote Managment
- yocto 3.1, dunfell
| rdk-generic-broadband-image-qemux86broadband.wic.vmdk | WebUI configuration |
Build Setup Instructions
Setting up the Host Environment
How to Build#SettinguptheHostEnvironment
Downloading Source Code & Building
RDK-B Emulator Dunfell Build Instructions
Bringing up the Emulator on Virtual Box
Host Requirements
Requirement | Remarks |
---|
Linux | 32/64 bit Ubuntu 16.04 operating system |
Free HDD Space | Minimum 100GB Free Memory |
Oracle Virtual Box | 4.3.18 or higher |
Install Virtual Box and follow the following steps to bring up RDK Emulator on Virtual Box:
In the following steps, it is recommended to review the description and screenshot completely before proceeding with steps.
STEP 1: Create your new VM Instance:

- Choose a Memory Size of 512 MB

- Use an existing virtual hard drive file which would be your newly built image in *.vmdk format and create your VM:

- Click on “Settings” tab to configure your new VM instance

- Configure your VMs network settings
- Choose “Bridged Adapter” mode as shown in the screenshot below

STEP 3: Run Emulator in Vbox :
- Boot up your VM by clicking on start
- Click “start” to launch the Emulator vmdk image
- Provide “root” to login Emulator as shown in the screen shot
- Emulator usually fetches IP address by default,i.e "ifconfig erouter0"
- If not then assign statically using the commands.
- For ex: ifconfig eth0/erouter0 192.168.1.49
- route add default gw 192.168.1.1 eth0/erouter0
- Once IP address for Emulator is up, Emulator shall be accessed in the Host PC using the below command
Once you have the IP address you may SSH into your VM from your linux shell console. Use root as the ssh user.
root@qemux86broadband:/# ifconfig
br106 Link encap:Ethernet HWaddr E6:B3:27:79:E4:79
inet addr:192.168.106.1 Bcast:192.168.106.255 Mask:255.255.255.0
inet6 addr: fe80::e4b3:27ff:fe79:e479/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:1124 (1.0 KiB)
br403 Link encap:Ethernet HWaddr 3E:7D:94:CE:18:42
inet addr:192.168.245.1 Bcast:192.168.245.255 Mask:255.255.255.0
inet6 addr: fe80::3c7d:94ff:fece:1842/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:1124 (1.0 KiB)
brebhaul Link encap:Ethernet HWaddr DA:B4:09:16:BD:69
inet addr:169.254.85.1 Bcast:169.254.85.255 Mask:255.255.255.0
inet6 addr: fe80::d8b4:9ff:fe16:bd69/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:1124 (1.0 KiB)
brlan0 Link encap:Ethernet HWaddr 42:39:B8:18:9B:F3
inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::4039:b8ff:fe18:9bf3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:1320 (1.2 KiB)
erouter0 Link encap:Ethernet HWaddr 08:00:27:B4:EB:E3
inet addr:192.168.1.49 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:feb4:ebe3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:223 errors:0 dropped:0 overruns:0 frame:0
TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:17548 (17.1 KiB) TX bytes:9684 (9.4 KiB)
gre0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP MTU:1476 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:14866 errors:0 dropped:0 overruns:0 frame:0
TX packets:14866 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:763416 (745.5 KiB) TX bytes:763416 (745.5 KiB)
sit0 Link encap:IPv6-in-IPv4
inet6 addr: ::127.0.0.1/96 Scope:Unknown
UP RUNNING NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
STEP 4: Lanching Emulator in WebUI :
- In the Host-PC Browser, Enter the eth0/erouter0 IP:8080 to get WebUI
Ex:http://192.168.1.49:8080 - WebUI Login Credential's
Username: admin
Password: password
Launching WebUI App
- In the Host-PC Browser, Enter the eth0 /erouter0 IP:8080 to get WebUI
Ex: http://192.168.1.49:808 - WebUI Login Credential's
Username: admin
Password: password

RDK-B Environment Setup
