RDK Resources

[*RDK Preferred*]

Code Management Facility

Code Releases

RDK Forums

[RDK Conferences]

RDK Support

Archives

Papers & Presentations Archive

In the News!

Versions Compared

Key

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

...

Info

This Page is under Development

Introduction

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:

  • Key features or major functions/use cases performed by the system/application
  • Architecture of the system in non-technical terms (e.g., client server, Web-based, etc.)
  • System environment or special conditions


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. 

Environment Setup for Emulator and Raspberry Pi

...

$ 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-broadbandbroadband/rdk-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

Troubleshooting

Error Messages during bitbake for Emulator and solutions.

Error 1

/home/amrita/Desktop/EmuFeb3/build-qemux86broadband/tmp/work/x8664-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/memfd.c:40:12: error: static declaration of ‘memfdcreate’ follows non-static declaration | static int memfdcreate(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/x8664-linux-gnu/bits/mman.h:45, | from /usr/include/x8664-linux-gnu/sys/mman.h:41, | from /home/amrita/Desktop/EmuFeb3/build-qemux86broadband/tmp/work/x8664-linux/qemu-native/2.7.0-r1/qemu-2.7.0/include/sysemu/os-posix.h:29, | from /home/amrita/Desktop/EmuFeb3/build-qemux86broadband/tmp/work/x8664-linux/qemu-native/2.7.0-r1/qemu-2.7.0/include/qemu/osdep.h:104, | from /home/amrita/Desktop/EmuFeb3/build-qemux86broadband/tmp/work/x8664-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/memfd.c:28: | /usr/include/x8664-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-&gtpopulated>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:


Error 2

src/CMakeFiles/ucresolv.shared.dir/build.make:89: recipe for target 'src/CMakeFiles/ucresolv.shared.dir/resquery.c.o' failed | make[2]: [src /CMakeFiles/ucresolv.shared.dir/resquery.c.o] Error 1 | make[2]: Leaving directory '/home/amrita/Desktop/EmuFeb3/build-qemux86broadband/tmp/work/i586-rdk-linux/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]: Waiting for unfinished jobs.... | In file included from /home/amrita/Desktop/EmuFeb3/build-qemux86broadband/tmp/work/i586-rdk-linux/ucresolv/git+AUTOINC+996c3778b1-r1/git/./include/sysdeps/generic/Gconfig.h:32:0, | from /home/amrita/Desktop/EmuFeb3/build-qemux86broadband/tmp/sysroots/qemux86broadband/usr/include/libio.h:31, | from /home/amrita/Desktop/EmuFeb3/build-qemux86broadband/tmp/sysroots/qemux86broadband/usr/include/stdio.h:74, | from /home/amrita/Desktop/EmuFeb3/build-qemux86broadband/tmp/work/i586-rdk-linux/ucresolv/git+AUTOINC+996c3778b1-r1/git/src/ucresolv.h:64, | from /home/amrita/Desktop/EmuFeb3/build-qemux86broadband/tmp/work/i586-rdk-linux/ucresolv/git+AUTOINC+996c3778b1-r1/git/src/resquery.c:78: | /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:


Error 3

In file included from ../../git/debugfs/../misc/create_inode.c:19:0:
| /usr/include/unistd.h:1110:9: note: previous declaration of ‘copycopy_file_range’ rangewas 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

...