[Openembedded-issues] do_package: Function failed: split_kernel_module_packages
Damien LEFEVRE
lefevre.da at gmail.com
Wed Apr 18 07:39:30 UTC 2018
Hi,
I'm trying to add pixcilnx kernel object to my image based
on 4.4.38-l4t-r28.1.
The make file looks like this
----------------------------------------------------------------------------------------------------------------
obj-m := pixci.o
pixci-objs := pixcipub.o pixcilnx.o
SRC := $(shell pwd)
# invoked from user or surrogate?
all:
ar -x pixcilnx_aarch64_4.4.a pixcilnx_4.4.o
mv pixcilnx_4.4.o pixcilnx.o_shipped
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)
$(CROSS_COMPILE)strip --strip-debug --discard-all pixci.ko
modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
clean:
rm -f *.o
rm -f *.ko
rm -f .pixci.mod.o.cmd
rm -f .pixci.o.cmd
rm -f .pixci.ko.cmd
rm -f .pixcipub.o.cmd
rm -rf .tmp_versions
----------------------------------------------------------------------------------------------------------------
The pixci.bb file looks like this
----------------------------------------------------------------------------------------------------------------
SUMMARY = "Kernel module for EPIX grabber"
#TODO: set correct license
LICENSE = "CLOSED"
inherit module
SRC_URI = "file://Makefile \
file://pixcilnx_aarch64_4.4.a \
file://pixcipub.c \
file://pixcipub.h \
"
S = "${WORKDIR}"
# The inherit of module.bbclass will automatically name module packages with
# "kernel-module-" prefix as required by the oe-core build environment.
KERNEL_MODULE_AUTOLOAD += "pixci"
#This should put your module name into /etc/modules-load.d/modname.conf on
the image.
----------------------------------------------------------------------------------------------------------------
Do package fails with the following error:
----------------------------------------------------------------------------------------------------------------
ERROR: pixci-1.0-r0 do_package: Error executing a python function in
exec_python_func() autogenerated:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:split_kernel_module_packages(d)
0003:
File:
'/home/damien/procbox-develop/sources/poky/meta/classes/kernel-module-split.bbclass',
lineno: 141, function: split_kernel_module_packages
0137:
0138: postinst = d.getVar('pkg_postinst_modules')
0139: postrm = d.getVar('pkg_postrm_modules')
0140:
*** 0141: modules = do_split_packages(d,
root='${nonarch_base_libdir}/modules', file_regex=module_regex,
output_pattern=module_pattern, description='%s kernel module',
postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata,
extra_depends='kernel-%s' % (d.getVar("KERNEL_VERSION")))
0142: if modules:
0143: metapkg = d.getVar('KERNEL_MODULES_META_PACKAGE')
0144: d.appendVar('RDEPENDS_' + metapkg, ' '+' '.join(modules))
0145:
File:
'/home/damien/procbox-develop/sources/poky/meta/classes/package.bbclass',
lineno: 234, function: do_split_packages
0230: d.setVar('pkg_postinst_' + pkg, postinst)
0231: if postrm:
0232: d.setVar('pkg_postrm_' + pkg, postrm)
0233: if callable(hook):
*** 0234: hook(f, pkg, file_regex, output_pattern, m.group(1))
0235:
0236: d.setVar('PACKAGES', ' '.join(packages))
0237: return list(split_packages)
0238:
File:
'/home/damien/procbox-develop/sources/poky/meta/classes/kernel-module-split.bbclass',
lineno: 65, function: frob_metadata
0061: vals[m.group(1)] = m.group(2)
0062: return vals
0063:
0064: def frob_metadata(file, pkg, pattern, format, basename):
*** 0065: vals = extract_modinfo(file)
0066:
0067: dvar = d.getVar('PKGD')
0068:
0069: # If autoloading is requested, output
/etc/modules-load.d/<name>.conf and append
File:
'/home/damien/procbox-develop/sources/poky/meta/classes/kernel-module-split.bbclass',
lineno: 52, function: extract_modinfo
0048: tmpfile = tf[1]
0049: cmd = "%sobjcopy -j .modinfo -O binary %s %s" %
(d.getVar("HOST_PREFIX") or "", file, tmpfile)
0050: subprocess.call(cmd, shell=True)
0051: f = open(tmpfile)
*** 0052: l = f.read().split("\000")
0053: f.close()
0054: os.close(tf[0])
0055: os.unlink(tmpfile)
0056: vals = {}
File: '/usr/lib/python3.5/codecs.py', lineno: 321, function: decode
0317:
0318: def decode(self, input, final=False):
0319: # decode input (taking the buffer into account)
0320: data = self.buffer + input
*** 0321: (result, consumed) = self._buffer_decode(data,
self.errors, final)
0322: # keep undecoded input until the next call
0323: self.buffer = data[consumed:]
0324: return result
0325:
Exception: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa9 in
position 83: invalid start byte
ERROR: pixci-1.0-r0 do_package: Function failed:
split_kernel_module_packages
----------------------------------------------------------------------------------------------------------------
Any ideas what I could be doing wrong?
Thanks,
-Damien
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-issues/attachments/20180418/b5908e50/attachment-0002.html>
More information about the Openembedded-issues
mailing list