Versions Compared

Key

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

...

$ repo sync -j4 --no-clone-bundle ( common for both Emulator and Raspberry Pi )


Note
  • Cloning the code before login once to code.rdkcentral.com, user would get the Authentication error, even though the account is in good standing and has all the required access.
  • Please login to code.rdkcentral.com before attempting to clone.


Building

For Emulator:

$ source meta-cmf-bsp-emulator/setup-environment

...

-             ${HOME}/RaspberryPi/build-raspberrypi-rdk-broadband/tmp/deploy/images/raspberrypi-rdk-broadbandbroadband/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

Troubleshooting

Error Messages during bitbake for Emulator and solutions.

...

Remove static keyword in function int memfdcreate in file /x8664-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/memfd.c

Patch file for changes in memfd.c attached below:

memfd.patch

Pictorial representation of changes in memfd.c file:

Error 2

draw.io Diagram
diagramNameERR1_Emu.drawio
size1200
revision1
         

Patch file for changes in memfd.c attached below:

memfd.patch

Path for changes in memfd.c file:

draw.io Diagram
bordertrue
diagramNamememfd.c pictorial representation
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth121
revision1


Error 2

| /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| /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/allres_query.c.o' failed
| make[12]: *** [src/CMakeFiles/ucresolv.dir/allres_query.c.o] Error 21
| make[12]: Leaving directory '/home/amrita/Desktop/Emu_Feb3/build-qemux86broadband/tmp/work/i586-rdk-linux/ucresolv/git+AUTOINC+996c3778b1-r1/build'
| MakefileCMakeFiles/Makefile2:132127: recipe for target 'src/CMakeFiles/ucresolv.dir/all' failed
| make[1]: *** [src/CMakeFiles/ucresolv.dir/all] Error 2
| WARNING: exit code 2 from a shell command.
| ERROR: Function failed: do_compile (log file is located at make[1]: Leaving directory '/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/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/metabuild-qemux86broadband/tmp/work/i586-rdk-ext/recipes-support/ucresolv/ucresolv_1.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'

...

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
diagramNameERR2_Emu.drawio
size1200
revision1


Patch file for changes in ucresolv_1.0.bb attached below:

ucresolv_1.0.patch

Pictorial representation of Path for changes in ucresolv_1.0.bb file:

Error 3

draw.io Diagram
bordertrue
diagramName__mbstate_t.h
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth426
revision1


Error 3

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'

...

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
diagramNameERR3_Emu.drawio
size1200
revision1

Patch file for changes in create_inode.c attached below:

create_inode.patch

Pictorial representation of Path for changes in create_inode.c file:

draw.io Diagram
bordertrue
diagramNameCreate_inode.c
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth121
revision1


Error Messages during bitbake for Raspberry Pi and solutions.

...

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
diagramNameERR1_Emu.drawio
size1200
revision1

Patch file for changes in memfd.c attached below:

memfd.patch

Pictorial representation of Path for changes in memfd.c file:

Error 2

draw.io Diagram
bordertrue
diagramName__mbstate_t.h Rpi
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth121
revision1


Error 2

/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'

...

Patch file for changes in ucresolv_1.0.bb attached below:

draw.io Diagram
diagramNameERR2_Emu.drawio
size1200
revision1

ucresolv_1.0.patch

Pictorial representation of Path for changes in ucresolv_1.0.bb file:

Error 3

draw.io Diagram
bordertrue
diagramNameUcresolve
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth401
revision1



Error 3

In file included from 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....
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
diagramNameERR3_Emu.drawio
size1200
revision1

Patch file for changes in create_inode.c attached below:

create_inode.patch

Path for changes in create_inode.c file:

draw.io Diagram
bordertrue
diagramNameCreate_inode.c
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth121
revision1

Special Considerations

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)
| ^~
| | make[2]: Leaving directory ' /home/amrita/Desktop/RpiEmu_Jan31Feb3/build-raspberrypiraspberrypi3-64-rdk-broadband/tmp/work/x86_64-linux/e2fsprogsqemu-native/12.7.430-r1/build/debugfs'
| Makefile:399: recipe for target 'all-progs-recursive' failed
| make[1]: *** [all-progs-recursive] Error 1
| make[1]: Leaving directory '/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/RpiEmu_Jan31Feb3/build-raspberrypiraspberrypi3-64-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.-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/RpiEmu_Jan31Feb3/build-raspberrypiraspberrypi3-64-rdk-broadband/tmp/work/x86_64-linux/e2fsprogsqemu-native/12.7.430-r1/temp/log.do_compile.115148435)
ERROR: Task (virtual:native:/home/amrita/Desktop/RpiEmu_Jan31Feb3/openembedded-core/meta/recipes-devtools/e2fsprogsqemu/e2fsprogsqemu_12.7.430.bb:do_compile) failed with exit code '1'

Solution:

Change copy_file_range to copy_file_chunk in 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/e2fsprogsqemu-native/12.7.430-r1/git/misc/create_inode.c

Patch file for changes in create_inode.c attached below:

create_inode.patch

Pictorial representation of changes in create_inode.c file:

  • Special Considerations

...

qemu-2.7.0/util/memfd.c

Pictorial representation of changes in memfd.c file:

draw.io Diagram
diagramNameERR4.drawio
size1200
revision1

Patch file for changes in memfd.c attached below:

memfd.patch

Path for changes in memfd.c file:

draw.io Diagram
bordertrue
diagramNameMem
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth241
revision1


Support

Contact

Organization

Phone

Email

Role

Rajkumar Narayanan

L&T Technology Services

Nill

rajkumar.narayanan@ltts.com

Program Manager

<Contact Name>

<Organization>

<Phone>

<Email>

<Role>