RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
...
Info |
---|
This Page is under Development |
Briefly describe in general terms the system/application and the purpose for which it is intended, written in non-technical terminology. Consider including a high-level architecture diagram for the system. The description should include, but is not limited to, the following:
...
...
Raspberry Pi: The Raspberry Pi 3 Model B+ featuring a 64-bit quad core processor running at 1.4 Ghz. R-Pi3 B+ supports the dual band 2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN which provides an high edge for the broadband developer community to test the RDK-B stack with Router, WiFi functionalities.
Pre-Requisites
Requirement | Remarks |
Linux | 32 bit Ubuntu 18.04 OS |
Fee HDD Space | Minimum 100GB Free Memory |
Oracle Virtual Box | 4.3.18 or higher |
Wireless Adapter | Brand Name: Tenda ralink & Model Number:W311MI TPLink Archer T4U AC1200 |
USB to Ethernet Switch | To connect with Ethernet Switch & Multiple Clients |
...
Following commands fetch the source code of emulator and raspberry pi using repo tool
$ mkdir emulator or RaspberryPi && cd emulator or RaspberryPi
Please use the following repo init command
$ repo init -u https://code.rdkcentral.com/r/manifests -m rdkb.xml -b <branch_name> ( common for both Emulator and Raspberry Pi )
...
$ repo sync -j4 --no-clone-bundle ( common for both Emulator and Raspberry Pi )
For Emulator:
Note |
---|
|
For Emulator:
$ source meta-cmf-bsp-$ source meta-cmf-bsp-emulator/setup-environment
...
$ source meta-cmf-raspberrypi/setup-environment (Select option raspberrypi-rdk-broadband.conf).
Next, you would need to initiate the build using the following command:
...
- ${HOME}/RaspberryPi/build-raspberrypi-rdk-broadband/tmp/deploy/images/raspberrypi-rdk-broadband/rdkrdkb-generic-broadband-image-raspberrypi-rdk-broadband.rpi-sdimg
Example:
../build-raspberrypi-rdk-broadband/tmp/deploy/images/raspberrypi-rdk-broadband/rdkb-generic-broadband-image_default_20200206062343.rootfs.rpi-sdimg
Describe the specific system function or feature in detail and depict graphically by including screen prints and descriptive narrative as appropriate. Ensure each screen print is captioned and has an associated tag providing appropriate alternative text
Follow the above for sub feature / use cases
<Identify the error messages that a user may receive and the likely cause(s) and/or possible corrective actions for the error>
...
-sdimg
Example:
.../build-raspberrypi-rdk-broadband/tmp/deploy/images/raspberrypi-rdk-broadband/rdkb-generic-broadband-image_default_20200206062343.rootfs.rpi-sdimg
| /usr/include/x86_64-linux-gnu/bits/mman-shared.h:46:5: note: previous declaration of ‘memfd_create’ was here
| int memfd_create (const char *__name, unsigned int __flags) __THROW;
| ^~~~~~~~~~~~
| /home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/rules.mak:59: recipe for target 'util/memfd.o' failed
| make: *** [util/memfd.o] Error 1
| make: *** Waiting for unfinished jobs....
| /home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/path.c: In function ‘follow_path’:
| /home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/path.c:126:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
| if (!cursor->populated_entries)
| ^~
| /home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/path.c:128:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
| cursor = *source;
| ^~~~~~
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/temp/log.do_compile.9718)
ERROR: Task (virtual:native:/home/amrita/Desktop/Emu_Feb3/openembedded-core/meta/recipes-devtools/qemu/qemu_2.7.0.bb:do_compile) failed with exit code '1'
Solution:
Remove static keyword in function int memfdcreate in file /x8664-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/memfd.c
Pictorial representation of changes in memfd.c file:
draw.io Diagram diagramName ERR1_Emu.drawio size 1200 revision 1
Patch file for changes in memfd.c attached below:
Path for changes in memfd.c file:
draw.io Diagram | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| /usr/include/gconv.h:26:36: fatal error: bits/types/__mbstate_t.h: No such file or directory
| #include <bits/types/__mbstate_t.h>
| ^
| compilation terminated.
| src/CMakeFiles/ucresolv.dir/build.make:89: recipe for target 'src/CMakeFiles/ucresolv.dir/res_query.c.o' failed
| make[2]: *** [src/CMakeFiles/ucresolv.dir/res_query.c.o] Error 1
| make[2]: Leaving directory '/home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/work/i586-rdk-linux/ucresolv/git+AUTOINC+996c3778b1-r1/build'
| CMakeFiles/Makefile2:127: recipe for target 'src/CMakeFiles/ucresolv.dir/all' failed
| make[1]: *** [src/CMakeFiles/ucresolv.dir/all] Error 2
| make[1]: Leaving directory '/home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/work/i586-rdk-linux/ucresolv/git+AUTOINC+996c3778b1-r1/build'
| Makefile:132: recipe for target 'all' failed
| make: *** [all] Error 2
| WARNING: exit code 2 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/work/i586-rdk-linux/ucresolv/git+AUTOINC+996c3778b1-r1/temp/log.do_compile.29460)
ERROR: Task (/home/amrita/Desktop/Emu_Feb3/meta-rdk-ext/recipes-support/ucresolv/ucresolv_1.0.bb:do_compile) failed with exit code '1'
Solution:
Copy __mbstate_t.h file from build-qemux86broadband/tmp/work/i586-rdk-linux/ucresolv/git+AUTOINC+996c3778b1-r1/git/include/wcsmbs/bits/types and put it in build-qemux86broadband/tmp/sysroots/qemux86broadband/usr/include/bits/types
Pictorial representation of changes in ucresolv_1.0.bb file:
draw.io Diagram diagramName ERR2_Emu.drawio size 1200 revision 1
Patch file for changes in ucresolv_1.0.bb attached below:
Path for changes in ucresolv_1.0.bb file:
draw.io Diagram border true diagramName __mbstate_t.h simpleViewer false links auto tbstyle top lbox true diagramWidth 426 revision 1
In file included from ../../git/debugfs/../misc/create_inode.c:19:0:
| /usr/include/unistd.h:1110:9: note: previous declaration of ‘copy_file_range’ was here
| ssize_t copy_file_range (int __infd, __off64_t *__pinoff,
| ^~~~~~~~~~~~~~~
| Makefile:412: recipe for target 'create_inode.o' failed
| make[2]: *** [create_inode.o] Error 1
| make[2]: *** Waiting for unfinished jobs....
| gcc -c -I. -I../lib -I../../git/lib -isystem/home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/sysroots/x86_64-linux/usr/include -isystem/home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -DHAVE_CONFIG_H -I../../git/debugfs/../e2fsck -DDEBUGFS ../../git/debugfs/xattrs.c -o xattrs.o
| make[2]: Leaving directory '/home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/work/x86_64-linux/e2fsprogs-native/1.43-r1/build/debugfs'
| Makefile:399: recipe for target 'all-progs-recursive' failed
| make[1]: *** [all-progs-recursive] Error 1
| make[1]: Leaving directory '/home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/work/x86_64-linux/e2fsprogs-native/1.43-r1/build'
| Makefile:334: recipe for target 'all' failed
| make: *** [all] Error 2
| ERROR: Function failed: do_compile (log file is located at /home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/work/x86_64-linux/e2fsprogs-native/1.43-r1/temp/log.do_compile.21571)
ERROR: Task (virtual:native:/home/amrita/Desktop/Emu_Feb3/openembedded-core/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.43.bb:do_compile) failed with exit code '1'
Solution:
Change copy_file_range to copy_file_chunk in x86_64-linux/e2fsprogs-native/1.43-r1/git/misc/create_inode.c
Pictorial representation of changes in create_inode.c file:
draw.io Diagram diagramName ERR3_Emu.drawio size 1200 revision 1
Patch file for changes in create_inode.c attached below:
Path for changes in create_inode.c file:
draw.io Diagram border true diagramName Create_inode.c simpleViewer false links auto tbstyle top lbox true diagramWidth 121 revision 1
/home/amrita/Desktop/Rpi_Jan31/build-raspberrypi-rdk-broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/memfd.c:40:12: error: static declaration of ‘memfd_create’ follows non-static declaration
| static int memfd_create(const char *name, unsigned int flags)
| ^~~~~~~~~~~~
| In file included from /usr/include/x86_64-linux-gnu/bits/mman-linux.h:115:0,
| from /usr/include/x86_64-linux-gnu/bits/mman.h:45,
| from /usr/include/x86_64-linux-gnu/sys/mman.h:41,
| from /home/amrita/Desktop/Rpi_Jan31/build-raspberrypi-rdk-broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/include/sysemu/os-posix.h:29,
| from /home/amrita/Desktop/Rpi_Jan31/build-raspberrypi-rdk-broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/include/qemu/osdep.h:104,
| from /home/amrita/Desktop/Rpi_Jan31/build-raspberrypi-rdk-broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/memfd.c:28:
| /usr/include/x86_64-linux-gnu/bits/mman-shared.h:46:5: note: previous declaration of ‘memfd_create’ was here
| int memfd_create (const char *__name, unsigned int __flags) __THROW;
| ^~~~~~~~~~~~
| /home/amrita/Desktop/Rpi_Jan31/build-raspberrypi-rdk-broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/rules.mak:59: recipe for target 'util/memfd.o' failed
| make: *** [util/memfd.o] Error 1
| make: *** Waiting for unfinished jobs....
| ERROR: Function failed: do_compile (log file is located at /home/amrita/Desktop/Rpi_Jan31/build-raspberrypi-rdk-broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/temp/log.do_compile.19600)
ERROR: Task (virtual:native:/home/amrita/Desktop/Rpi_Jan31/openembedded-core/meta/recipes-devtools/qemu/qemu_2.7.0.bb:do_compile) failed with exit code '1'
Solution:
Removed static keyword in function int memfd_create in file /x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/memfd.c
Pictorial representation of changes in memfd.c file:
draw.io Diagram diagramName ERR1_Emu.drawio size 1200 revision 1
Patch file for changes in memfd.c attached below:
Path for changes in memfd.c file:
draw.io Diagram border true diagramName __mbstate_t.h Rpi simpleViewer false links auto tbstyle top lbox true diagramWidth 121 revision 1
/usr/include/gconv.h:26:36: fatal error: bits/types/__mbstate_t.h: No such file or directory
| #include <bits/types/__mbstate_t.h>
| ^
| compilation terminated.
| src/CMakeFiles/ucresolv.shared.dir/build.make:137: recipe for target 'src/CMakeFiles/ucresolv.shared.dir/res_send.c.o' failed
| make[2]: *** [src/CMakeFiles/ucresolv.shared.dir/res_send.c.o] Error 1
| make[2]: Leaving directory '/home/amrita/Desktop/Rpi_Jan31/build-raspberrypi-rdk-broadband/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ucresolv/git+AUTOINC+996c3778b1-r1/build'
| CMakeFiles/Makefile2:90: recipe for target 'src/CMakeFiles/ucresolv.shared.dir/all' failed
| make[1]: *** [src/CMakeFiles/ucresolv.shared.dir/all] Error 2
| make[1]: Leaving directory '/home/amrita/Desktop/Rpi_Jan31/build-raspberrypi-rdk-broadband/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ucresolv/git+AUTOINC+996c3778b1-r1/build'
| Makefile:132: recipe for target 'all' failed
| make: *** [all] Error 2
| WARNING: exit code 2 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/amrita/Desktop/Rpi_Jan31/build-raspberrypi-rdk-broadband/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ucresolv/git+AUTOINC+996c3778b1-r1/temp/log.do_compile.6585)
ERROR: Task (/home/amrita/Desktop/Rpi_Jan31/meta-rdk-ext/recipes-support/ucresolv/ucresolv_1.0.bb:do_compile) failed with exit code '1'
Solution:
Copy __mbstate_t.h file from cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/ucresolv/git+AUTOINC+b58d49e165-r1/git/include/wcsmbs/bits/types and put it in build-raspberrypi-rdk-broadband/tmp/sysroots/raspberrypi-rdk-broadband/usr/include/bits/types/
Patch file for changes in ucresolv_1.0.bb attached below:
draw.io Diagram diagramName ERR2_Emu.drawio size 1200 revision 1
Path for changes in ucresolv_1.0.bb file:
draw.io Diagram border true diagramName Ucresolve simpleViewer false links auto tbstyle top lbox true diagramWidth 401 revision 1
In file included from ../../git/debugfs/../misc/create_inode.c:19:0:
| /usr/include/unistd.h:1110:9: note: previous declaration of ‘copy_file_range’ was here
| ssize_t copy_file_range (int __infd, __off64_t *__pinoff,
| ^~~~~~~~~~~~~~~
| Makefile:412: recipe for target 'create_inode.o' failed
| make[2]: *** [create_inode.o] Error 1
| make[2]: *** Waiting for unfinished jobs....
| make[2]: Leaving directory '/home/amrita/Desktop/Rpi_Jan31/build-raspberrypi-rdk-broadband/tmp/work/x86_64-linux/e2fsprogs-native/1.43-r1/build/debugfs'
| Makefile:399: recipe for target 'all-progs-recursive' failed
| make[1]: *** [all-progs-recursive] Error 1
| make[1]: Leaving directory '/home/amrita/Desktop/Rpi_Jan31/build-raspberrypi-rdk-broadband/tmp/work/x86_64-linux/e2fsprogs-native/1.43-r1/build'
| Makefile:334: recipe for target 'all' failed
| make: *** [all] Error 2
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/amrita/Desktop/Rpi_Jan31/build-raspberrypi-rdk-broadband/tmp/work/x86_64-linux/e2fsprogs-native/1.43-r1/temp/log.do_compile.11514)
ERROR: Task (virtual:native:/home/amrita/Desktop/Rpi_Jan31/openembedded-core/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.43.bb:do_compile) failed with exit code '1'
Solution:
Change copy_file_range to copy_file_chunk in x86_64-linux/e2fsprogs-native/1.43-r1/git/misc/create_inode.c
Pictorial representation of changes in create_inode.c file:
draw.io Diagram diagramName ERR3_Emu.drawio size 1200 revision 1
Patch file for changes in create_inode.c attached below:
Path for changes in create_inode.c file:
draw.io Diagram border true diagramName Create_inode.c simpleViewer false links auto tbstyle top lbox true diagramWidth 121 revision 1
Error
/home/amrita/Desktop/Emu_Feb3/build-raspberrypi3-64-rdk-broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/rules.mak:59: recipe for target 'util/memfd.o' failed
| make: *** [util/memfd.o] Error 1
| make: *** Waiting for unfinished jobs....
| /home/amrita/Desktop/Emu_Feb3/build-raspberrypi3-64-rdk-broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/path.c: In function ‘follow_path’:
| /home/amrita/Desktop/Emu_Feb3/build-raspberrypi3-64-rdk-broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/path.c:126:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
| if (!cursor->populated_entries)
| ^~
| /home/amrita/Desktop/Emu_Feb3/build-raspberrypi3-64-rdk-broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/path.c:128:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
| cursor = *source;
| ^~~~~~
| WARNING: /home/amrita/Desktop/Emu_Feb3/build-raspberrypi3-64-rdk-broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/temp/run.do_compile.8435:1 exit 1 from 'exit 1'
| ERROR: Function failed: do_compile (log file is located at /home/amrita/Desktop/Emu_Feb3/build-raspberrypi3-64-rdk-broadband/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/temp/log.do_compile.8435)
ERROR: Task (virtual:native:/home/amrita/Desktop/Emu_Feb3/openembedded-core/meta/recipes-devtools/qemu/qemu_2.7.0.bb:do_compile) failed with exit code '1'
Solution:
Removed 1. #ifdef CONFIG_MEMFD 2. #include <sys/memfd.h> 3. #elif defined CONFIG_LINUX and added 1.#include <sys/mman.h> 2.#if defined CONFIG_LINUX && !defined CONFIG_MEMFD in /x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/memfd.c
Pictorial representation of changes in memfd.c file:
draw.io Diagram diagramName ERR4.drawio size 1200 revision 1
Patch file for changes in memfd.c attached below:
Path for changes in memfd.c file:
draw.io Diagram border true diagramName Mem simpleViewer false links auto tbstyle top lbox true diagramWidth 241 revision 1
Contact | Organization | Phone | Role | ||||||
Rajkumar Narayanan | L&T Technology Services | Nill | rajkumar.narayanan@ltts.com | Program Manager | <Contact Name> | <Organization> | <Phone> | <Email> | <Role> |