3. How do I add a pre-built binary into the rootfs?
Do the following:
a. $ cd <yocto_install_path>/meta-fsl-ppc/recipes-extended/merge-files
b. Copy the files into files/merge, e.g. put bash into files/merge/usr; bash will be included in usr/ of the new rootfs.
c. Edit rootfs recipe (e.g. fsl-image-minimal.bb) to add merge-files in IMAGE_INSTALL variable.
d. Build new rootfs image: $ bitbake fsl-image-minimal
In the above step 3->b , when I added a .ko(kernel loadable module) file or a folder containing files is added into <yocto_install_path>/meta-fsl-ppc/recipes-extended/merge-files/merge-files/merge, and subsequent running of 'bitbake fsl-image-minimal' , I get the following error -
However, when a simple txt file(temp.txt) is added to <yocto_install_path>/meta-fsl-ppc/recipes-extended/merge-files/merge-files/merge, 'bitbake fsl-image-minimal' run successfully.
-----------------------------------------------------------------------------------------------------
ERROR: Error executing a python function in /home/ram/POTP/SDK-V1.8/QorIQ-SDK-V1.8-20150619-yocto/meta-fsl-ppc/recipes-extended/merge-files/merge-files_1.0.bb:
The stack trace of python calls that resulted in this exception/failure was:
File: 'do_package_qa', lineno: 88, function: <module>
0084: bb.fatal("QA run found fatal errors. Please consider fixing them.")
0085: bb.note("DONE with PACKAGE QA")
0086:
0087:
*** 0088:do_package_qa(d)
0089:
File: 'do_package_qa', lineno: 71, function: do_package_qa
0067: package_qa_handle_error("pkgname",
0068: "%s doesn't match the [a-z0-9.+-]+ regex\n" % package, d)
0069:
0070: path = "%s/%s" % (pkgdest, package)
*** 0071: if not package_qa_walk(path, warnchecks, errorchecks, skip, package, d):
0072: walk_sane = False
0073: if not package_qa_check_rdepends(package, pkgdest, skip, d):
0074: rdepends_sane = False
0075: if not package_qa_check_deps(package, pkgdest, skip, d):
File: 'insane.bbclass', lineno: 19, function: package_qa_walk
0015: elf = None
0016: for func in warnfuncs:
0017: func(path, package, d, elf, warnings)
0018: for func in errorfuncs:
*** 0019: func(path, package, d, elf, errors)
0020:
0021: for w in warnings:
0022: bb.warn("QA Issue: %s" % w)
0023: package_qa_write_error(w, d)
File: 'insane.bbclass', lineno: 25, function: package_qa_check_arch
0021: return
0022:
0023: #if this will throw an exception, then fix the dict above
0024: (machine, osabi, abiversion, littleendian, bits) \
*** 0025: = package_qa_get_machine_dict()[target_os][target_arch]
0026:
0027: # Check the architecture and endiannes of the binary
0028: if not ((machine == elf.machine()) or \
0029: ((("virtual/kernel" in provides) or bb.data.inherits_class("module", d) ) and (target_os == "linux-gnux32"))):
Exception: KeyError: 'allarch'
ERROR: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /home/ram/POTP/SDK-V1.8/QorIQ-SDK-V1.8-20150619-yocto/build_p1022ds_release/tmp/work/all-fsl-linux/merge-files/1.0-r0/temp/log.do_package.6442
ERROR: Task 334 (/home/ram/POTP/SDK-V1.8/QorIQ-SDK-V1.8-20150619-yocto/meta-fsl-ppc/recipes-extended/merge-files/merge-files_1.0.bb, do_package) failed with exit code '1'
----------------------------------------------------------------------------------------
Any suggestions will be appreciated.
Regards
Ram