Date   

Re: Unable to extract tar file #dunfell #yocto

Zoran
 

Just maybe... This web pointer can help you!

https://stackoverflow.com/questions/46448682/cmake-error-the-source-does-not-appear-to-contain-cmakelists-txt/52068568

Zoran
_______

On Fri, Jan 8, 2021 at 7:18 AM Vijay Rakesh Munganda
<vijayrakeshmunganda@gmail.com> wrote:

Anyone, please suggest.

Thanks,
Vijay Rakesh


Re: Unable to extract tar file #dunfell #yocto

Vijay Rakesh Munganda
 

Anyone, please suggest.

Thanks,
Vijay Rakesh


Re: How to select Linux kernel version?

JH
 

Thanks Quentin, here are results:

So we can stop half guessing and help you can you give us the output of:
bitbake -e virtual/kernel | grep -e "^PREFERRED_PROVIDER_"
$ bitbake -e virtual/kernel | grep -e "^PREFERRED_PROVIDER_"
PREFERRED_PROVIDER_console-tools="kbd"
PREFERRED_PROVIDER_dbus-glib="dbus-glib"
PREFERRED_PROVIDER_dbus-glib-native="dbus-glib-native"
PREFERRED_PROVIDER_gdb="gdb"
PREFERRED_PROVIDER_gdk-pixbuf="gdk-pixbuf"
PREFERRED_PROVIDER_getopt="util-linux-getopt"
PREFERRED_PROVIDER_gzip-native="pigz-native"
PREFERRED_PROVIDER_libgcc="libgcc"
PREFERRED_PROVIDER_linux-libc-headers="linux-libc-headers"
PREFERRED_PROVIDER_ltp="ltp"
PREFERRED_PROVIDER_matchbox-panel="matchbox-panel-2"
PREFERRED_PROVIDER_nativesdk-libgcc="nativesdk-libgcc"
PREFERRED_PROVIDER_nativesdk-linux-libc-headers="nativesdk-linux-libc-headers"
PREFERRED_PROVIDER_nativesdk-mesa="nativesdk-mesa"
PREFERRED_PROVIDER_nativesdk-openssl="nativesdk-openssl"
PREFERRED_PROVIDER_nativesdk-opkg="nativesdk-opkg"
PREFERRED_PROVIDER_nativesdk-pkgconfig="nativesdk-pkgconfig"
PREFERRED_PROVIDER_openssl="openssl"
PREFERRED_PROVIDER_openssl-native="openssl-native"
PREFERRED_PROVIDER_opkg="opkg"
PREFERRED_PROVIDER_opkg-native="opkg-native"
PREFERRED_PROVIDER_pkgconfig="pkgconfig"
PREFERRED_PROVIDER_pkgconfig-native="pkgconfig-native"
PREFERRED_PROVIDER_udev="systemd"
PREFERRED_PROVIDER_virtual/base-utils="busybox"
PREFERRED_PROVIDER_virtual/egl="mesa"
PREFERRED_PROVIDER_virtual/fakeroot-native="pseudo-native"
PREFERRED_PROVIDER_virtual/gettext="gettext"
PREFERRED_PROVIDER_virtual/i686-oe-linux-binutils="binutils-cross-i686"
PREFERRED_PROVIDER_virtual/i686-oe-linux-compilerlibs="gcc-runtime"
PREFERRED_PROVIDER_virtual/i686-oe-linux-g++="gcc-cross-i686"
PREFERRED_PROVIDER_virtual/i686-oe-linux-gcc="gcc-cross-i686"
PREFERRED_PROVIDER_virtual/kernel="linux-yocto"
PREFERRED_PROVIDER_virtual/libc="glibc"
PREFERRED_PROVIDER_virtual/libc-locale="glibc-locale"
PREFERRED_PROVIDER_virtual/libgl="mesa"
PREFERRED_PROVIDER_virtual/libgl-native="mesa-native"
PREFERRED_PROVIDER_virtual/libgles1="mesa"
PREFERRED_PROVIDER_virtual/libgles2="mesa"
PREFERRED_PROVIDER_virtual/libiconv="glibc"
PREFERRED_PROVIDER_virtual/libintl="glibc"
PREFERRED_PROVIDER_virtual/libx11="libx11"
PREFERRED_PROVIDER_virtual/make="make"
PREFERRED_PROVIDER_virtual/make-native="make-native"
PREFERRED_PROVIDER_virtual/mesa="mesa"
PREFERRED_PROVIDER_virtual/nativesdk-libc="nativesdk-glibc"
PREFERRED_PROVIDER_virtual/nativesdk-libgl="nativesdk-mesa"
PREFERRED_PROVIDER_virtual/nativesdk-libiconv="nativesdk-glibc"
PREFERRED_PROVIDER_virtual/nativesdk-libintl="nativesdk-glibc"
PREFERRED_PROVIDER_virtual/update-alternatives="opkg-utils"
PREFERRED_PROVIDER_virtual/update-alternatives-native="opkg-utils-native"
PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-binutils-crosssdk="binutils-crosssdk-x86_64-oesdk-linux"
PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-compilerlibs="nativesdk-gcc-runtime"
PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-g++="gcc-crosssdk-x86_64-oesdk-linux"
PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-gcc="gcc-crosssdk-x86_64-oesdk-linux"
PREFERRED_PROVIDER_virtual/xserver="xserver-xorg"
PREFERRED_PROVIDER_virtual/xserver-xf86="xserver-xorg"
PREFERRED_PROVIDER_xf86-video-intel="xf86-video-intel"

bitbake -e virtual/kernel | grep -e "^PREFERRED_VERSION_"
$ bitbake -e virtual/kernel | grep -e "^PREFERRED_VERSION_"
PREFERRED_VERSION_binutils="2.32%"
PREFERRED_VERSION_binutils-cross-canadian-i686="2.32%"
PREFERRED_VERSION_binutils-cross-i686="2.32%"
PREFERRED_VERSION_binutils-crosssdk-x86_64-oesdk-linux="2.32%"
PREFERRED_VERSION_binutils-native="2.32%"
PREFERRED_VERSION_cross-localedef-native="2.30%"
PREFERRED_VERSION_gcc="9.%"
PREFERRED_VERSION_gcc-cross-canadian-i686="9.%"
PREFERRED_VERSION_gcc-cross-i686="9.%"
PREFERRED_VERSION_gcc-cross-initial-i686="9.%"
PREFERRED_VERSION_gcc-crosssdk-initial-x86_64-oesdk-linux="9.%"
PREFERRED_VERSION_gcc-crosssdk-x86_64-oesdk-linux="9.%"
PREFERRED_VERSION_gcc-runtime="9.%"
PREFERRED_VERSION_gcc-sanitizers="9.%"
PREFERRED_VERSION_gdb="8.3%"
PREFERRED_VERSION_gdb-cross-canadian-i686="8.3%"
PREFERRED_VERSION_gdb-cross-i686="8.3%"
PREFERRED_VERSION_glibc="2.30%"
PREFERRED_VERSION_glibc-locale="2.30%"
PREFERRED_VERSION_glibc-mtrace="2.30%"
PREFERRED_VERSION_glibc-scripts="2.30%"
PREFERRED_VERSION_go="1.12%"
PREFERRED_VERSION_go-cross-canadian-i686="1.12%"
PREFERRED_VERSION_go-cross-core2-32="1.12%"
PREFERRED_VERSION_go-crosssdk-x86_64="1.12%"
PREFERRED_VERSION_go-native="1.12%"
PREFERRED_VERSION_go-runtime="1.12%"
PREFERRED_VERSION_libgcc="9.%"
PREFERRED_VERSION_libgcc-initial="9.%"
PREFERRED_VERSION_libgfortran="9.%"
PREFERRED_VERSION_linux-libc-headers="5.2%"
PREFERRED_VERSION_linux-yocto="5.10.%"
PREFERRED_VERSION_llvm="8.0.1"
PREFERRED_VERSION_llvm-native="8.0.1"
PREFERRED_VERSION_nativesdk-gcc="9.%"
PREFERRED_VERSION_nativesdk-gcc-runtime="9.%"
PREFERRED_VERSION_nativesdk-gcc-sanitizers="9.%"
PREFERRED_VERSION_nativesdk-glibc="2.30%"
PREFERRED_VERSION_nativesdk-go="1.12%"
PREFERRED_VERSION_nativesdk-go-runtime="1.12%"
PREFERRED_VERSION_nativesdk-libgcc="9.%"
PREFERRED_VERSION_nativesdk-libgcc-initial="9.%"
PREFERRED_VERSION_nativesdk-linux-libc-headers="5.2%"
PREFERRED_VERSION_nativesdk-llvm="8.0.1"
PREFERRED_VERSION_nativesdk-qemu="4.1%"
PREFERRED_VERSION_qemu="4.1%"
PREFERRED_VERSION_qemu-native="4.1%"
PREFERRED_VERSION_virtual/i686-oe-linux-go="1.12%"
PREFERRED_VERSION_wpa_supplicant="2.6"


bitbake -e virtual/kernel | grep -e "^OVERRIDES="
$ bitbake -e virtual/kernel | grep -e "^OVERRIDES="
OVERRIDES="linux:i686:pn-linux-yocto:x86:qemuall:qemux86:solar-distro:class-target:libc-glibc:forcevariable"

bitbake-layers show-recipes linux-yocto linux-fslc
$ bitbake-layers show-recipes linux-yocto linux-fslc
NOTE: Starting bitbake server...
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 1473 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:02
Parsing of 922 .bb files complete (920 cached, 2 parsed). 1475
targets, 295 skipped, 0 masked, 0 errors.
=== Matching recipes: ===
linux-fslc:
meta-freescale 5.1 (skipped)
linux-yocto:
meta 5.2.28+gitAUTOINC+dd6019025c_992280855e
meta 4.19.87+gitAUTOINC+4f5d761316_b44ad1b1e7

$ cat local.conf
............
PREFERRED_PROVIDER_virtual/kernel="linux-yocto"
PREFERRED_VERSION_linux-yocto = "5.10.%"
.............

Thank you very much.

Kind regards,

- jupiter


Suggestions on improvements

Meh Mbeh Ida Delphine
 

Hello everyone, 

I'm trying to improve the Yocto Project's license tracing based on a proof-of concept implementation of linking sources with SPDX headers to output files by Richard at http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rpurdie/license-experiments-osls.

The code in package.bbclass creates a list of SPDX headers found for the sources that make up a given set of binaries that make up an individual package using debug symbols to map sources to the binaries. This is then compared with the license field of the given package containing those binaries.

Due to some mismatches, warnings pop up during the build. Below are some few sample warnings and I'm aware of false positives;

WARNING: glibc-2.32-r0 do_package: License for package nscd is {'GPL-2.0 WITH Linux-syscall-note'} vs GPLv2 & LGPLv2.1
WARNING: glibc-2.32-r0 do_package: License for package sln is {'GPL-2.0 WITH Linux-syscall-note'} vs GPLv2 & LGPLv2.1
WARNING: glibc-2.32-r0 do_package: License for package ldconfig is {'GPL-2.0 WITH Linux-syscall-note'} vs GPLv2 & LGPLv2.1
WARNING: glibc-2.32-r0 do_package: License for package glibc is {'GPL-2.0 WITH Linux-syscall-note'} vs GPLv2 & LGPLv2.1
WARNING: glibc-2.32-r0 do_package: License for package glibc-staticdev is {'GPL-2.0 WITH Linux-syscall-note'} vs GPLv2 & LGPLv2.1
WARNING: libcap-ng-0.8-r0 do_package: License for package libcap-ng is {'GPL-2.0 WITH Linux-syscall-note'} vs GPLv2+ & LGPLv2.1+
WARNING: libtirpc-1.2.6-r0 do_package: License for package libtirpc is {'GPL-2.0 WITH Linux-syscall-note'} vs BSD-3-Clause
WARNING: ptest-runner-2.4.0+gitAUTOINC+834670317b-r0 do_package: License for package ptest-runner is {'GPL-2.0-or-later'} vs GPLv2+
WARNING: libcap-2.44-r0 do_package: License for package libcap is {'GPL-2.0 WITH Linux-syscall-note'} vs BSD | GPLv2
WARNING: libcap-2.44-r0 do_package: License for package libcap-staticdev is {'GPL-2.0 WITH Linux-syscall-note'} vs BSD | GPLv2
WARNING: openssl-1.1.1h-r0 do_package: License for package openssl-engines is {'GPL-2.0 WITH Linux-syscall-note', 'GPL-2.0+ WITH Linux-syscall-note'} vs openssl

Any suggestions on improvements I can make to this functionality?

Cheers,
Ida.


Re: [meta-tensorflow][PATCH 8/25] tensorflow-estimator: 1.13 -> 2.4

Randy MacLeod
 

On 2021-01-07 1:47 p.m., Belisko Marek wrote:
Marek,
Does this happen if you use the master branch?
Yes this comes from master branch.
Hi Marek,

Is it:
A) Comes from master and is a problem on dunfell or
B) it is reproducible on the master branch?

Given that you said:
I'm getting issue when building tensorflow-estimator (I add small
changes to be able to build this patches on top of dunfell) ...
I suspect it's A only. Right?

What are your small changes.

Hongxu may take a quick look but we generally can't afford to
investigate all combinations of recipe/branchs as I'm sure you
can appreciate.

If you can reproduce the error on master without or even with your
changes then that's a different story.

Good luck and Happy New Year!

--
# Randy MacLeod
# Wind River Linux


Re: [meta-tensorflow][PATCH 8/25] tensorflow-estimator: 1.13 -> 2.4

Marek Belisko
 

HI Randy,

On Thu, Jan 7, 2021 at 6:51 PM Randy MacLeod
<randy.macleod@windriver.com> wrote:

On 2021-01-04 5:30 a.m., Marek Belisko wrote:
Hi Hongxu,

On Wed, Dec 16, 2020 at 2:09 PM Hongxu Jia <hongxu.jia@windriver.com> wrote:

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
.../0001-customize-for-yocto.patch | 28 +++++++++++++++++++
.../tensorflow/tensorflow-estimator_1.13.bb | 12 ++++++--
2 files changed, 37 insertions(+), 3 deletions(-)
create mode 100644 recipes-framework/tensorflow/tensorflow-estimator/0001-customize-for-yocto.patch

diff --git a/recipes-framework/tensorflow/tensorflow-estimator/0001-customize-for-yocto.patch b/recipes-framework/tensorflow/tensorflow-estimator/0001-customize-for-yocto.patch
new file mode 100644
index 0000000..e9b66d5
--- /dev/null
+++ b/recipes-framework/tensorflow/tensorflow-estimator/0001-customize-for-yocto.patch
@@ -0,0 +1,28 @@
+From a1bcf09a43fc44ad5e04c441ee45cc23d16cf7d2 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 9 Dec 2020 17:59:01 +0800
+Subject: [PATCH] customize for yocto
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ tensorflow_estimator/tools/pip_package/build_pip_package.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tensorflow_estimator/tools/pip_package/build_pip_package.sh b/tensorflow_estimator/tools/pip_package/build_pip_package.sh
+index d4953a6..e08cd8a 100755
+--- a/tensorflow_estimator/tools/pip_package/build_pip_package.sh
++++ b/tensorflow_estimator/tools/pip_package/build_pip_package.sh
+@@ -38,7 +38,7 @@ function prepare_src() {
+
+ # Verifies all expected files are in pip.
+ # Creates init files in all directory in pip.
+- python tensorflow_estimator/tools/pip_package/create_pip_helper.py --pip-root "${TMPDIR}/tensorflow_estimator/" --bazel-root "./tensorflow_estimator"
++ nativepython3 tensorflow_estimator/tools/pip_package/create_pip_helper.py --pip-root "${TMPDIR}/tensorflow_estimator/" --bazel-root "./tensorflow_estimator"
+ }
+
+ function build_wheel() {
+--
+2.18.2
+
diff --git a/recipes-framework/tensorflow/tensorflow-estimator_1.13.bb b/recipes-framework/tensorflow/tensorflow-estimator_1.13.bb
index f3a5098..5b2fe5d 100644
--- a/recipes-framework/tensorflow/tensorflow-estimator_1.13.bb
+++ b/recipes-framework/tensorflow/tensorflow-estimator_1.13.bb
@@ -3,9 +3,10 @@ learning programming."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=01e86893010a1b87e69a213faa753ebd"

-SRC_URI = "git://github.com/tensorflow/estimator.git;branch=r1.13 \
+SRC_URI = "git://github.com/tensorflow/estimator.git;branch=r2.4 \
+ file://0001-customize-for-yocto.patch \
"
-SRCREV = "340703eed78ba4854862f749ed94f91598826e79"
+SRCREV = "c3e7f2b5bbcc35185ef71797955a28cadce28f60"
S = "${WORKDIR}/git"

inherit python3native bazel
@@ -19,12 +20,18 @@ DEPENDS += " \
python3-astor-native \
python3-gast-native \
python3-termcolor-native \
+ python3-wrapt-native \
+ python3-opt-einsum-native \
+ python3-astunparse-native \
+ flatbuffers-native \
I'm getting issue when building tensorflow-estimator (I add small
changes to be able to build this patches on top of dunfell) and I'm
getting:
| /bin/bash -c 'source
external/bazel_tools/tools/genrule/genrule-setup.sh;
bazel-out/k8-opt-exec-2B5CBBC6/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1
--apidir=bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api_v1/
--apiname=estimator --apiversion=1
--package=tensorflow_estimator.python.estimator
--output_package=tensorflow_estimator.python.estimator.api._v1
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/v1.py
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/estimator/__init__.py
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/estimator/experimental/__init__.py
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/estimator/export/__init__.py
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/estimator/inputs/__init__.py
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/estimator/tpu/__init__.py
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/estimator/tpu/experimental/__init__.py')
| Execution platform: @local_config_platform//:host
| /home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/h5py/__init__.py:72:
UserWarning: h5py is running against HDF5 1.8.21 when it was built
against 1.8.19, this may cause problems
| _warn(("h5py is running against HDF5 {0} when it was built against {1}, "
| Traceback (most recent call last):
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/bazel/output_base/execroot/org_tensorflow_estimator/bazel-out/k8-opt-exec-2B5CBBC6/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/api/create_python_api_wrapper.py",
line 26, in <module>
| from tensorflow_estimator.python.estimator import estimator_lib
# pylint: disable=unused-import
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/bazel/output_base/execroot/org_tensorflow_estimator/bazel-out/k8-opt-exec-2B5CBBC6/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/estimator_lib.py",
line 22, in <module>
| from tensorflow_estimator.python.estimator.canned.baseline
import BaselineClassifier
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/bazel/output_base/execroot/org_tensorflow_estimator/bazel-out/k8-opt-exec-2B5CBBC6/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/canned/baseline.py",
line 53, in <module>
| import tensorflow as tf
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/__init__.py",
line 55, in <module>
| from ._api.v2 import compat
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/__init__.py",
line 39, in <module>
| from . import v1
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/v1/__init__.py",
line 34, in <module>
| from . import compat
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/v1/compat/__init__.py",
line 39, in <module>
| from . import v1
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/v1/compat/v1/__init__.py",
line 51, in <module>
| from tensorflow._api.v2.compat.v1 import lite
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/v1/lite/__init__.py",
line 11, in <module>
| from . import experimental
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/v1/lite/experimental/__init__.py",
line 10, in <module>
| from . import nn
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/v1/lite/experimental/nn/__init__.py",
line 10, in <module>
| from tensorflow.lite.python.lite import TFLiteLSTMCell
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/lite/python/lite.py",
line 40, in <module>
| from tensorflow.lite.python.convert import
build_toco_convert_protos # pylint: disable=unused-import
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/lite/python/convert.py",
line 33, in <module>
| from tensorflow.lite.python import util
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/lite/python/util.py",
line 30, in <module>
| import flatbuffers
| ModuleNotFoundError: No module named 'flatbuffers'

FLatbuffers from openembedded are available version 1.12. Do you have
an idea what is can cause?
tensorflow-native \
"

do_compile () {
unset CC
export TMPDIR="${WORKDIR}"
+ export PYTHON_BIN_PATH="${PYTHON}"
+
${BAZEL} build \
--subcommands --explain=${T}/explain.log \
--verbose_explanations --verbose_failures \
@@ -32,7 +39,6 @@ do_compile () {
--python_path="${PYTHON}" \
//tensorflow_estimator/tools/pip_package:build_pip_package

- PYTHON_BIN_PATH="${PYTHON}" \
${S}/bazel-bin/tensorflow_estimator/tools/pip_package/build_pip_package \
${WORKDIR}/estimator_pip
}
--
2.21.0
Thanks and BR,

marek
Marek,
Does this happen if you use the master branch?
Yes this comes from master branch.

Hongxu, Any tips for Marek?

../Randy
BR,

marek






--
# Randy MacLeod
# Wind River Linux


--
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com


Re: insmod - huawei E3372h kernel module

Zoran
 

Since some variables and functions are exported in .c files, and not
propagated into related .h files. And then this makes some confusion
while having OOT drivers.
Quite an opposite. It must be defined to be exported, and to appear in
Module.symvers .

If it is NOT defined as exported (EXPORT_SYMBOL, EXPORT_SYMBOL_GPL),
it will behave as from your initial post, if the driver is defined as
a module.

The example for this behaviour is here:
https://github.com/ZoranStojsavljevic/mikrobus/blob/mikrobusv2-debug/mikrobus_core.c#L447

Symbol regulator_register_always_on (it is NOT exported at all,
neither in include/linux/regulator/fixed.h, neither in
drivers/regulator/fixed-helper.c).

So the mikrobus driver, being a module, produces such an error:
unknown symbol in module, or unknown parameter .
_______

Sorry for the confusion. :(

Zoran
_______


On Thu, Jan 7, 2021 at 6:55 PM Zoltan Kerenyi Nagy
<kerenyi.nagy.zoltan@gmail.com> wrote:

Yep, the best would be if the driver burned into the root filesystem with bitbake. I dont want to compile that driver on the device. I'll modifile the makefile tomorrow, thanks

On 2021. Jan 7., Thu at 18:20, Zoran Stojsavljevic <zoran.stojsavljevic@gmail.com> wrote:

If I think more... For driver development the Out Of (OOT) Tree driver
is a must, and so far the most efficient way is to have native tool
environment presence on the target, so the quick recompilation of the
module is a must/should be achieved... It is a pain doing this on the
host using cross compilation, or even building it to the kernel.

Once the driver is stable, then it should be built-in with Y in the
kernel, changing the YOCTO kernel defconfig (not the topic for this
problem, there is a good explanation how to do that in YOCTO manuals).

If the driver is out of shelf, it should be recompiled as built-in the kernel.

There are differences between having an OOT driver versus a built-in driver.

Since some variables and functions are exported in .c files, and not
propagated into related .h files. And then this makes some confusion
while having OOT drivers.

Zoran
_______

On Thu, Jan 7, 2021 at 4:27 PM Zoran via lists.yoctoproject.org
<zoran.stojsavljevic=gmail.com@lists.yoctoproject.org> wrote:

No, no... I did not mean in the makefile to change m to y.

Please, maybe you can try to set your makefile to lookalike as these ones:
https://github.com/ZoranStojsavljevic/mikrobus/blob/mikrobusv2/Makefile
https://github.com/ZoranStojsavljevic/mikrobus/blob/mikrobusv2-debug/Makefile

Zoran
_______

On Thu, Jan 7, 2021 at 4:17 PM Zoltan Kerenyi Nagy
<kerenyi.nagy.zoltan@gmail.com> wrote:

Hi Zoran,

Thanks, I modified the Makefile:

obj-m := huawei_cdc_ncm.o
Kconfig (obj-y := huawei_cdc_ncm.o)
SRC := $(shell pwd)
all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)
modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
clean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers

but this is the error:

ERROR: huawei-1.1-r0 do_configure: oe_runmake failed
ERROR: huawei-1.1-r0 do_configure: Function failed: do_configure (log file is located at /home/kerenyiz/oe-core/build/tmp-glibc/work/barix_ipam400-oe-linux-gnueabi/huawei/1.1-r0/temp/log.do_configure.4488)
ERROR: Logfile of failure stored in: /home/kerenyiz/oe-core/build/tmp-glibc/work/barix_ipam400-oe-linux-gnueabi/huawei/1.1-r0/temp/log.do_configure.4488
Log data follows:
| DEBUG: Executing shell function do_configure
| NOTE: make KERNEL_SRC=/home/kerenyiz/oe-core/build/tmp-glibc/work-shared/barix-ipam400/kernel-source clean
| ERROR: oe_runmake failed
| Makefile:2: *** empty variable name. Stop.
| ERROR: Function failed: do_configure (log file is located at /home/kerenyiz/oe-core/build/tmp-glibc/work/barix_ipam400-oe-linux-gnueabi/huawei/1.1-r0/temp/log.do_configure.4488)
ERROR: Task (/home/kerenyiz/oe-core/build/../stuff/meta-barix-sdk/recipes-z/kernel-modules/huawei/huawei_1.1.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3880 tasks of which 3873 didn't need to be rerun and 1 failed.

On Thu, 7 Jan 2021 at 16:03, Zoran Stojsavljevic <zoran.stojsavljevic@gmail.com> wrote:

Hello Zoltan,

root@barix-ipam400:~# insmod /lib/modules/4.10.0/extra/huawei_cdc_ncm.ko
insmod: can't insert '/lib/modules/4.10.0/extra/huawei_cdc_ncm.ko': unknown symbol in module, or unknown parameter
Please, try to set Kconfig (obj-y := huawei_cdc_ncm.o) to y, I guess
99.9% that the kernel compilation (actually, driver compilation) will
pass.

I think YOCTO (recipe) behaves perfectly correctly.

Other approach: try to compile the same module with Makefile above on
the target.

(my two cent thoughts)

Zoran
_______

On Thu, Jan 7, 2021 at 2:46 PM Zoltan Kerenyi Nagy
<kerenyi.nagy.zoltan@gmail.com> wrote:

Hi Folks,

I bitbaked a Huawei E3372h driver into the distro with this recipe file:

SUMMARY = "Huawei Stick kernel module"
LICENSE = "CLOSED"

inherit module

SRC_URI = "file://Makefile \
file://huawei_cdc_ncm.c \
"

S = "${WORKDIR}"

The makefile looks like this:

obj-m := huawei_cdc_ncm.o

SRC := $(shell pwd)

all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)

modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install

clean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers

The source file is the one that matches the kernel:

https://elixir.bootlin.com/linux/v4.0/source/drivers/net/usb/huawei_cdc_ncm.c

I included this into the conf file:
KERNEL_MODULE_AUTOLOAD += "lte"KERNEL_MODULE_PROBECONF += "lte"huawei_cdc_ncm = "options lte iProduct=E3372h iManufacturer=Huawei"

Bitbake runs without error, however when I insert the SD card into the hardware ( barix ipam 400)
and boot the hardware this is the error message:

root@barix-ipam400:~# insmod /lib/modules/4.10.0/extra/huawei_cdc_ncm.ko
insmod: can't insert '/lib/modules/4.10.0/extra/huawei_cdc_ncm.ko': unknown symbol in module, or unknown parameter

To me it looks like that there was an error during the bitbake, or the header files included in the driver doesn't match the kernel.

Do you have any idea how to procede?

Thanks,



--
Zolee



Re: [meta-tensorflow][PATCH 8/25] tensorflow-estimator: 1.13 -> 2.4

Randy MacLeod
 

On 2021-01-04 5:30 a.m., Marek Belisko wrote:
Hi Hongxu,
On Wed, Dec 16, 2020 at 2:09 PM Hongxu Jia <hongxu.jia@windriver.com> wrote:

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
.../0001-customize-for-yocto.patch | 28 +++++++++++++++++++
.../tensorflow/tensorflow-estimator_1.13.bb | 12 ++++++--
2 files changed, 37 insertions(+), 3 deletions(-)
create mode 100644 recipes-framework/tensorflow/tensorflow-estimator/0001-customize-for-yocto.patch

diff --git a/recipes-framework/tensorflow/tensorflow-estimator/0001-customize-for-yocto.patch b/recipes-framework/tensorflow/tensorflow-estimator/0001-customize-for-yocto.patch
new file mode 100644
index 0000000..e9b66d5
--- /dev/null
+++ b/recipes-framework/tensorflow/tensorflow-estimator/0001-customize-for-yocto.patch
@@ -0,0 +1,28 @@
+From a1bcf09a43fc44ad5e04c441ee45cc23d16cf7d2 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 9 Dec 2020 17:59:01 +0800
+Subject: [PATCH] customize for yocto
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ tensorflow_estimator/tools/pip_package/build_pip_package.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tensorflow_estimator/tools/pip_package/build_pip_package.sh b/tensorflow_estimator/tools/pip_package/build_pip_package.sh
+index d4953a6..e08cd8a 100755
+--- a/tensorflow_estimator/tools/pip_package/build_pip_package.sh
++++ b/tensorflow_estimator/tools/pip_package/build_pip_package.sh
+@@ -38,7 +38,7 @@ function prepare_src() {
+
+ # Verifies all expected files are in pip.
+ # Creates init files in all directory in pip.
+- python tensorflow_estimator/tools/pip_package/create_pip_helper.py --pip-root "${TMPDIR}/tensorflow_estimator/" --bazel-root "./tensorflow_estimator"
++ nativepython3 tensorflow_estimator/tools/pip_package/create_pip_helper.py --pip-root "${TMPDIR}/tensorflow_estimator/" --bazel-root "./tensorflow_estimator"
+ }
+
+ function build_wheel() {
+--
+2.18.2
+
diff --git a/recipes-framework/tensorflow/tensorflow-estimator_1.13.bb b/recipes-framework/tensorflow/tensorflow-estimator_1.13.bb
index f3a5098..5b2fe5d 100644
--- a/recipes-framework/tensorflow/tensorflow-estimator_1.13.bb
+++ b/recipes-framework/tensorflow/tensorflow-estimator_1.13.bb
@@ -3,9 +3,10 @@ learning programming."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=01e86893010a1b87e69a213faa753ebd"

-SRC_URI = "git://github.com/tensorflow/estimator.git;branch=r1.13 \
+SRC_URI = "git://github.com/tensorflow/estimator.git;branch=r2.4 \
+ file://0001-customize-for-yocto.patch \
"
-SRCREV = "340703eed78ba4854862f749ed94f91598826e79"
+SRCREV = "c3e7f2b5bbcc35185ef71797955a28cadce28f60"
S = "${WORKDIR}/git"

inherit python3native bazel
@@ -19,12 +20,18 @@ DEPENDS += " \
python3-astor-native \
python3-gast-native \
python3-termcolor-native \
+ python3-wrapt-native \
+ python3-opt-einsum-native \
+ python3-astunparse-native \
+ flatbuffers-native \
I'm getting issue when building tensorflow-estimator (I add small
changes to be able to build this patches on top of dunfell) and I'm
getting:
| /bin/bash -c 'source
external/bazel_tools/tools/genrule/genrule-setup.sh;
bazel-out/k8-opt-exec-2B5CBBC6/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1
--apidir=bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api_v1/
--apiname=estimator --apiversion=1
--package=tensorflow_estimator.python.estimator
--output_package=tensorflow_estimator.python.estimator.api._v1
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/v1.py
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/estimator/__init__.py
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/estimator/experimental/__init__.py
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/estimator/export/__init__.py
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/estimator/inputs/__init__.py
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/estimator/tpu/__init__.py
bazel-out/k8-fastbuild/bin/tensorflow_estimator/python/estimator/api/_v1/estimator/tpu/experimental/__init__.py')
| Execution platform: @local_config_platform//:host
| /home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/h5py/__init__.py:72:
UserWarning: h5py is running against HDF5 1.8.21 when it was built
against 1.8.19, this may cause problems
| _warn(("h5py is running against HDF5 {0} when it was built against {1}, "
| Traceback (most recent call last):
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/bazel/output_base/execroot/org_tensorflow_estimator/bazel-out/k8-opt-exec-2B5CBBC6/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/api/create_python_api_wrapper.py",
line 26, in <module>
| from tensorflow_estimator.python.estimator import estimator_lib
# pylint: disable=unused-import
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/bazel/output_base/execroot/org_tensorflow_estimator/bazel-out/k8-opt-exec-2B5CBBC6/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/estimator_lib.py",
line 22, in <module>
| from tensorflow_estimator.python.estimator.canned.baseline
import BaselineClassifier
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/bazel/output_base/execroot/org_tensorflow_estimator/bazel-out/k8-opt-exec-2B5CBBC6/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/canned/baseline.py",
line 53, in <module>
| import tensorflow as tf
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/__init__.py",
line 55, in <module>
| from ._api.v2 import compat
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/__init__.py",
line 39, in <module>
| from . import v1
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/v1/__init__.py",
line 34, in <module>
| from . import compat
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/v1/compat/__init__.py",
line 39, in <module>
| from . import v1
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/v1/compat/v1/__init__.py",
line 51, in <module>
| from tensorflow._api.v2.compat.v1 import lite
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/v1/lite/__init__.py",
line 11, in <module>
| from . import experimental
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/v1/lite/experimental/__init__.py",
line 10, in <module>
| from . import nn
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/_api/v2/compat/v1/lite/experimental/nn/__init__.py",
line 10, in <module>
| from tensorflow.lite.python.lite import TFLiteLSTMCell
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/lite/python/lite.py",
line 40, in <module>
| from tensorflow.lite.python.convert import
build_toco_convert_protos # pylint: disable=unused-import
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/lite/python/convert.py",
line 33, in <module>
| from tensorflow.lite.python import util
| File "/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow-estimator/2.4-r0/recipe-sysroot-native/usr/lib/python3.8/site-packages/tensorflow/lite/python/util.py",
line 30, in <module>
| import flatbuffers
| ModuleNotFoundError: No module named 'flatbuffers'
FLatbuffers from openembedded are available version 1.12. Do you have
an idea what is can cause?
tensorflow-native \
"

do_compile () {
unset CC
export TMPDIR="${WORKDIR}"
+ export PYTHON_BIN_PATH="${PYTHON}"
+
${BAZEL} build \
--subcommands --explain=${T}/explain.log \
--verbose_explanations --verbose_failures \
@@ -32,7 +39,6 @@ do_compile () {
--python_path="${PYTHON}" \
//tensorflow_estimator/tools/pip_package:build_pip_package

- PYTHON_BIN_PATH="${PYTHON}" \
${S}/bazel-bin/tensorflow_estimator/tools/pip_package/build_pip_package \
${WORKDIR}/estimator_pip
}
--
2.21.0
Thanks and BR,
marek
Marek,
Does this happen if you use the master branch?

Hongxu, Any tips for Marek?

../Randy


--
# Randy MacLeod
# Wind River Linux


Re: insmod - huawei E3372h kernel module

Zoran
 

If I think more... For driver development the Out Of (OOT) Tree driver
is a must, and so far the most efficient way is to have native tool
environment presence on the target, so the quick recompilation of the
module is a must/should be achieved... It is a pain doing this on the
host using cross compilation, or even building it to the kernel.

Once the driver is stable, then it should be built-in with Y in the
kernel, changing the YOCTO kernel defconfig (not the topic for this
problem, there is a good explanation how to do that in YOCTO manuals).

If the driver is out of shelf, it should be recompiled as built-in the kernel.

There are differences between having an OOT driver versus a built-in driver.

Since some variables and functions are exported in .c files, and not
propagated into related .h files. And then this makes some confusion
while having OOT drivers.

Zoran
_______

On Thu, Jan 7, 2021 at 4:27 PM Zoran via lists.yoctoproject.org
<zoran.stojsavljevic=gmail.com@lists.yoctoproject.org> wrote:

No, no... I did not mean in the makefile to change m to y.

Please, maybe you can try to set your makefile to lookalike as these ones:
https://github.com/ZoranStojsavljevic/mikrobus/blob/mikrobusv2/Makefile
https://github.com/ZoranStojsavljevic/mikrobus/blob/mikrobusv2-debug/Makefile

Zoran
_______

On Thu, Jan 7, 2021 at 4:17 PM Zoltan Kerenyi Nagy
<kerenyi.nagy.zoltan@gmail.com> wrote:

Hi Zoran,

Thanks, I modified the Makefile:

obj-m := huawei_cdc_ncm.o
Kconfig (obj-y := huawei_cdc_ncm.o)
SRC := $(shell pwd)
all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)
modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
clean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers

but this is the error:

ERROR: huawei-1.1-r0 do_configure: oe_runmake failed
ERROR: huawei-1.1-r0 do_configure: Function failed: do_configure (log file is located at /home/kerenyiz/oe-core/build/tmp-glibc/work/barix_ipam400-oe-linux-gnueabi/huawei/1.1-r0/temp/log.do_configure.4488)
ERROR: Logfile of failure stored in: /home/kerenyiz/oe-core/build/tmp-glibc/work/barix_ipam400-oe-linux-gnueabi/huawei/1.1-r0/temp/log.do_configure.4488
Log data follows:
| DEBUG: Executing shell function do_configure
| NOTE: make KERNEL_SRC=/home/kerenyiz/oe-core/build/tmp-glibc/work-shared/barix-ipam400/kernel-source clean
| ERROR: oe_runmake failed
| Makefile:2: *** empty variable name. Stop.
| ERROR: Function failed: do_configure (log file is located at /home/kerenyiz/oe-core/build/tmp-glibc/work/barix_ipam400-oe-linux-gnueabi/huawei/1.1-r0/temp/log.do_configure.4488)
ERROR: Task (/home/kerenyiz/oe-core/build/../stuff/meta-barix-sdk/recipes-z/kernel-modules/huawei/huawei_1.1.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3880 tasks of which 3873 didn't need to be rerun and 1 failed.

On Thu, 7 Jan 2021 at 16:03, Zoran Stojsavljevic <zoran.stojsavljevic@gmail.com> wrote:

Hello Zoltan,

root@barix-ipam400:~# insmod /lib/modules/4.10.0/extra/huawei_cdc_ncm.ko
insmod: can't insert '/lib/modules/4.10.0/extra/huawei_cdc_ncm.ko': unknown symbol in module, or unknown parameter
Please, try to set Kconfig (obj-y := huawei_cdc_ncm.o) to y, I guess
99.9% that the kernel compilation (actually, driver compilation) will
pass.

I think YOCTO (recipe) behaves perfectly correctly.

Other approach: try to compile the same module with Makefile above on
the target.

(my two cent thoughts)

Zoran
_______

On Thu, Jan 7, 2021 at 2:46 PM Zoltan Kerenyi Nagy
<kerenyi.nagy.zoltan@gmail.com> wrote:

Hi Folks,

I bitbaked a Huawei E3372h driver into the distro with this recipe file:

SUMMARY = "Huawei Stick kernel module"
LICENSE = "CLOSED"

inherit module

SRC_URI = "file://Makefile \
file://huawei_cdc_ncm.c \
"

S = "${WORKDIR}"

The makefile looks like this:

obj-m := huawei_cdc_ncm.o

SRC := $(shell pwd)

all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)

modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install

clean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers

The source file is the one that matches the kernel:

https://elixir.bootlin.com/linux/v4.0/source/drivers/net/usb/huawei_cdc_ncm.c

I included this into the conf file:
KERNEL_MODULE_AUTOLOAD += "lte"KERNEL_MODULE_PROBECONF += "lte"huawei_cdc_ncm = "options lte iProduct=E3372h iManufacturer=Huawei"

Bitbake runs without error, however when I insert the SD card into the hardware ( barix ipam 400)
and boot the hardware this is the error message:

root@barix-ipam400:~# insmod /lib/modules/4.10.0/extra/huawei_cdc_ncm.ko
insmod: can't insert '/lib/modules/4.10.0/extra/huawei_cdc_ncm.ko': unknown symbol in module, or unknown parameter

To me it looks like that there was an error during the bitbake, or the header files included in the driver doesn't match the kernel.

Do you have any idea how to procede?

Thanks,



--
Zolee



Yocto zeus, npm fetcher, bug

Zimmermann, Anthony
 

Hello,

I use yocto version 3.0.3 (zeus) and tried to install some node packages as described in the yocto manual [1].
I experienced that manipulating a sha512 checksum in a package-lock.json file does not affect the installation even though the purpose (or at least one of the purposes) of the lockdown file is to enable the validation of the checksums if I understand correctly.


This can be reproduced by installing node-red 1.0.2 using the recipe, shrinkwrap.json and package-lock.json files provided in the zeus branch of meta-iot-cloud [2], which is listed on openembedded.org [3]. Just replace some characters in any of the sha256 sums inside the package-lock.json and see that it does not affect the bitbake process.

I think the error is somewhere in the script poky/bitbake/lib/bb/fetch2/npm.py.
The function ‘download’ loads the lockdown file using json.load. The resulting dictionary is passed into the function ‘_getshrinkeddependencies’ and that function is supposed to check the checksum. The first thing that I arises my attention is that the source code in ‘_getshrinkeddependencies’ seems to only be able to calculate sha1 sums, but I find also sha512 in e.g. the package-lock.json mentioned above. The second thing that I think is very interesting, is that the condition ‘pkg in lockdown’ always returns False, no matter if the package seems to be present in the lockdown file or not.

[1] yocto manual: https:/www.yoctoproject.org/docs/3.0.3/mega-manual/mega-manual.html#creating-node-package-manager-npm-packages

[2] node red recipe: https://github.com/intel-iot-devkit/meta-iot-cloud/tree/zeus/recipes-node-red/node-red

[3] openembbed.org (noe-red recipe): https://layers.openembedded.org/layerindex/recipe/67980/

I think this is a bug. If it is not, I would really appreciate if someone could help me understand the npm fetcher.

Regards,
Anthony Zimmermann


Re: insmod - huawei E3372h kernel module

Zoran
 

No, no... I did not mean in the makefile to change m to y.

Please, maybe you can try to set your makefile to lookalike as these ones:
https://github.com/ZoranStojsavljevic/mikrobus/blob/mikrobusv2/Makefile
https://github.com/ZoranStojsavljevic/mikrobus/blob/mikrobusv2-debug/Makefile

Zoran
_______

On Thu, Jan 7, 2021 at 4:17 PM Zoltan Kerenyi Nagy
<kerenyi.nagy.zoltan@gmail.com> wrote:

Hi Zoran,

Thanks, I modified the Makefile:

obj-m := huawei_cdc_ncm.o
Kconfig (obj-y := huawei_cdc_ncm.o)
SRC := $(shell pwd)
all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)
modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
clean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers

but this is the error:

ERROR: huawei-1.1-r0 do_configure: oe_runmake failed
ERROR: huawei-1.1-r0 do_configure: Function failed: do_configure (log file is located at /home/kerenyiz/oe-core/build/tmp-glibc/work/barix_ipam400-oe-linux-gnueabi/huawei/1.1-r0/temp/log.do_configure.4488)
ERROR: Logfile of failure stored in: /home/kerenyiz/oe-core/build/tmp-glibc/work/barix_ipam400-oe-linux-gnueabi/huawei/1.1-r0/temp/log.do_configure.4488
Log data follows:
| DEBUG: Executing shell function do_configure
| NOTE: make KERNEL_SRC=/home/kerenyiz/oe-core/build/tmp-glibc/work-shared/barix-ipam400/kernel-source clean
| ERROR: oe_runmake failed
| Makefile:2: *** empty variable name. Stop.
| ERROR: Function failed: do_configure (log file is located at /home/kerenyiz/oe-core/build/tmp-glibc/work/barix_ipam400-oe-linux-gnueabi/huawei/1.1-r0/temp/log.do_configure.4488)
ERROR: Task (/home/kerenyiz/oe-core/build/../stuff/meta-barix-sdk/recipes-z/kernel-modules/huawei/huawei_1.1.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3880 tasks of which 3873 didn't need to be rerun and 1 failed.

On Thu, 7 Jan 2021 at 16:03, Zoran Stojsavljevic <zoran.stojsavljevic@gmail.com> wrote:

Hello Zoltan,

root@barix-ipam400:~# insmod /lib/modules/4.10.0/extra/huawei_cdc_ncm.ko
insmod: can't insert '/lib/modules/4.10.0/extra/huawei_cdc_ncm.ko': unknown symbol in module, or unknown parameter
Please, try to set Kconfig (obj-y := huawei_cdc_ncm.o) to y, I guess
99.9% that the kernel compilation (actually, driver compilation) will
pass.

I think YOCTO (recipe) behaves perfectly correctly.

Other approach: try to compile the same module with Makefile above on
the target.

(my two cent thoughts)

Zoran
_______

On Thu, Jan 7, 2021 at 2:46 PM Zoltan Kerenyi Nagy
<kerenyi.nagy.zoltan@gmail.com> wrote:

Hi Folks,

I bitbaked a Huawei E3372h driver into the distro with this recipe file:

SUMMARY = "Huawei Stick kernel module"
LICENSE = "CLOSED"

inherit module

SRC_URI = "file://Makefile \
file://huawei_cdc_ncm.c \
"

S = "${WORKDIR}"

The makefile looks like this:

obj-m := huawei_cdc_ncm.o

SRC := $(shell pwd)

all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)

modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install

clean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers

The source file is the one that matches the kernel:

https://elixir.bootlin.com/linux/v4.0/source/drivers/net/usb/huawei_cdc_ncm.c

I included this into the conf file:
KERNEL_MODULE_AUTOLOAD += "lte"KERNEL_MODULE_PROBECONF += "lte"huawei_cdc_ncm = "options lte iProduct=E3372h iManufacturer=Huawei"

Bitbake runs without error, however when I insert the SD card into the hardware ( barix ipam 400)
and boot the hardware this is the error message:

root@barix-ipam400:~# insmod /lib/modules/4.10.0/extra/huawei_cdc_ncm.ko
insmod: can't insert '/lib/modules/4.10.0/extra/huawei_cdc_ncm.ko': unknown symbol in module, or unknown parameter

To me it looks like that there was an error during the bitbake, or the header files included in the driver doesn't match the kernel.

Do you have any idea how to procede?

Thanks,



--
Zolee


Re: insmod - huawei E3372h kernel module

Zoltan Kerenyi Nagy
 

Hi Zoran,

Thanks, I modified the Makefile:

obj-m := huawei_cdc_ncm.o
Kconfig (obj-y := huawei_cdc_ncm.o)
SRC := $(shell pwd)
all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)
modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
clean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers

but this is the error:

ERROR: huawei-1.1-r0 do_configure: oe_runmake failed
ERROR: huawei-1.1-r0 do_configure: Function failed: do_configure (log file is located at /home/kerenyiz/oe-core/build/tmp-glibc/work/barix_ipam400-oe-linux-gnueabi/huawei/1.1-r0/temp/log.do_configure.4488)
ERROR: Logfile of failure stored in: /home/kerenyiz/oe-core/build/tmp-glibc/work/barix_ipam400-oe-linux-gnueabi/huawei/1.1-r0/temp/log.do_configure.4488
Log data follows:
| DEBUG: Executing shell function do_configure
| NOTE: make KERNEL_SRC=/home/kerenyiz/oe-core/build/tmp-glibc/work-shared/barix-ipam400/kernel-source clean
| ERROR: oe_runmake failed
| Makefile:2: *** empty variable name.  Stop.
| ERROR: Function failed: do_configure (log file is located at /home/kerenyiz/oe-core/build/tmp-glibc/work/barix_ipam400-oe-linux-gnueabi/huawei/1.1-r0/temp/log.do_configure.4488)
ERROR: Task (/home/kerenyiz/oe-core/build/../stuff/meta-barix-sdk/recipes-z/kernel-modules/huawei/huawei_1.1.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3880 tasks of which 3873 didn't need to be rerun and 1 failed.


On Thu, 7 Jan 2021 at 16:03, Zoran Stojsavljevic <zoran.stojsavljevic@...> wrote:
Hello Zoltan,

> root@barix-ipam400:~# insmod /lib/modules/4.10.0/extra/huawei_cdc_ncm.ko
> insmod: can't insert '/lib/modules/4.10.0/extra/huawei_cdc_ncm.ko': unknown symbol in module, or unknown parameter

Please, try to set Kconfig (obj-y := huawei_cdc_ncm.o) to y, I guess
99.9% that the kernel compilation (actually, driver compilation) will
pass.

I think YOCTO (recipe) behaves perfectly correctly.

Other approach: try to compile the same module with Makefile above on
the target.

(my two cent thoughts)

Zoran
_______

On Thu, Jan 7, 2021 at 2:46 PM Zoltan Kerenyi Nagy
<kerenyi.nagy.zoltan@...> wrote:
>
> Hi Folks,
>
> I bitbaked a Huawei E3372h driver into the distro with this recipe file:
>
> SUMMARY = "Huawei Stick kernel module"
> LICENSE = "CLOSED"
>
> inherit module
>
> SRC_URI = "file://Makefile \
>            file://huawei_cdc_ncm.c \
>           "
>
> S = "${WORKDIR}"
>
> The makefile looks like this:
>
> obj-m := huawei_cdc_ncm.o
>
> SRC := $(shell pwd)
>
> all:
> $(MAKE) -C $(KERNEL_SRC) M=$(SRC)
>
> modules_install:
> $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
>
> clean:
> rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
> rm -f Module.markers Module.symvers modules.order
> rm -rf .tmp_versions Modules.symvers
>
> The source file is the one that matches the kernel:
>
> https://elixir.bootlin.com/linux/v4.0/source/drivers/net/usb/huawei_cdc_ncm.c
>
> I included this into the conf file:
> KERNEL_MODULE_AUTOLOAD += "lte"KERNEL_MODULE_PROBECONF += "lte"huawei_cdc_ncm = "options lte iProduct=E3372h iManufacturer=Huawei"
>
> Bitbake runs without error, however when I insert the SD card into the hardware ( barix ipam 400)
> and boot the hardware this is the error message:
>
> root@barix-ipam400:~# insmod /lib/modules/4.10.0/extra/huawei_cdc_ncm.ko
> insmod: can't insert '/lib/modules/4.10.0/extra/huawei_cdc_ncm.ko': unknown symbol in module, or unknown parameter
>
> To me it looks like that there was an error during the bitbake, or the header files included in the driver doesn't match the kernel.
>
> Do you have any idea how to procede?
>
> Thanks,
>
>
>
> --
> Zolee
>
>

--
Zolee


Re: insmod - huawei E3372h kernel module

Zoran
 

Hello Zoltan,

root@barix-ipam400:~# insmod /lib/modules/4.10.0/extra/huawei_cdc_ncm.ko
insmod: can't insert '/lib/modules/4.10.0/extra/huawei_cdc_ncm.ko': unknown symbol in module, or unknown parameter
Please, try to set Kconfig (obj-y := huawei_cdc_ncm.o) to y, I guess
99.9% that the kernel compilation (actually, driver compilation) will
pass.

I think YOCTO (recipe) behaves perfectly correctly.

Other approach: try to compile the same module with Makefile above on
the target.

(my two cent thoughts)

Zoran
_______

On Thu, Jan 7, 2021 at 2:46 PM Zoltan Kerenyi Nagy
<kerenyi.nagy.zoltan@gmail.com> wrote:

Hi Folks,

I bitbaked a Huawei E3372h driver into the distro with this recipe file:

SUMMARY = "Huawei Stick kernel module"
LICENSE = "CLOSED"

inherit module

SRC_URI = "file://Makefile \
file://huawei_cdc_ncm.c \
"

S = "${WORKDIR}"

The makefile looks like this:

obj-m := huawei_cdc_ncm.o

SRC := $(shell pwd)

all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)

modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install

clean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers

The source file is the one that matches the kernel:

https://elixir.bootlin.com/linux/v4.0/source/drivers/net/usb/huawei_cdc_ncm.c

I included this into the conf file:
KERNEL_MODULE_AUTOLOAD += "lte"KERNEL_MODULE_PROBECONF += "lte"huawei_cdc_ncm = "options lte iProduct=E3372h iManufacturer=Huawei"

Bitbake runs without error, however when I insert the SD card into the hardware ( barix ipam 400)
and boot the hardware this is the error message:

root@barix-ipam400:~# insmod /lib/modules/4.10.0/extra/huawei_cdc_ncm.ko
insmod: can't insert '/lib/modules/4.10.0/extra/huawei_cdc_ncm.ko': unknown symbol in module, or unknown parameter

To me it looks like that there was an error during the bitbake, or the header files included in the driver doesn't match the kernel.

Do you have any idea how to procede?

Thanks,



--
Zolee


#yocto #kernel #yocto #kernel

Monsees, Steven C (US)
 

 

 

 

What would cause this “opkg” to not pull in these components ?, and how do I ensure “opkg” can find these components : “inetutils-rsh” and  “inetutils-rshd” ?

 

Using “zeus”…, error log attached…

 

Build output:

 

07:34 smonsees@yix490016 /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default> bitbake -k aiox-defaultfs

WARNING: Host distribution "rhel-7.9" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.

WARNING: /disk0/scratch/smonsees/yocto/workspace_3/poky/../meta-linaro/meta-linaro/recipes-kernel/linux/linux-hikey-ilp32_4.12.bb: Variable key FILES_${KERNEL_PACKAGE_NAME}-devicetree (/${KERNEL_IMAGEDEST}/*.dtb /${KERNEL_IMAGEDEST}/*.dtbo) replaces original key FILES_kernel-devicetree ( /boot/*.dtb).

WARNING: /disk0/scratch/smonsees/yocto/workspace_3/poky/../meta-linaro/meta-linaro/recipes-kernel/linux/linux-hikey-ilp32_4.12.bb: Variable key RDEPENDS_${KERNEL_PACKAGE_NAME}-image ( ${@oe.utils.conditional('KERNEL_IMAGETYPE', 'vmlinux', '${KERNEL_PACKAGE_NAME}-vmlinux', '', d)}) replaces original key RDEPENDS_kernel-image ( kernel-devicetree).

`

Parsing recipes: 100% |###########################################################################################| Time: 0:02:21Parsing of 2473 .bb files complete (0 cached, 2473 parsed). 3669 targets, 145 skipped, 0 masked, 0 errors.

NOTE: Resolving any missing task queue dependencies

 

Build Configuration:

BB_VERSION           = "1.44.0"

BUILD_SYS            = "x86_64-linux"

NATIVELSBSTRING      = "rhel-7.9"

TARGET_SYS           = "aarch64-poky-linux"

MACHINE              = "aiox-default"

DISTRO               = "limws"

DISTRO_VERSION       = "3.0.4"

TUNE_FEATURES        = "aarch64"

TARGET_FPU           = ""

meta                

meta-poky            = "my_yocto_3.0.4:f2eb22a8783f1eecf99bd4042695bab920eed00e"

meta-linaro          = "zeus:a414b5555301d0c80facb6dc5a5badbc69036131"

meta-perl           

meta-python         

meta-filesystems    

meta-networking     

meta-initramfs      

meta-oe              = "zeus:2b5dd1eb81cd08bc065bc76125f2856e9383e98b"

meta-xilinx-bsp     

meta-xilinx-contrib  = "zeus:b82343ac5f013926839627cee9dae7106c008ae9"

meta-bl31           

meta-aarch64         = "v2019.02:f635a364c55f1fb12519aff54924a0a5b947091e"

 

Initialising tasks: 100% |########################################################################################| Time: 0:00:03

Sstate summary: Wanted 1412 Found 1361 Missed 51 Current 0 (96% match, 0% complete)

NOTE: Executing Tasks

NOTE: Setscene tasks completed

ERROR: aiox-defaultfs-1.0-r0 do_rootfs: Unable to install packages. Command '/disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default/tmp/work/aiox_default-poky-linux/aiox-defaultfs/1.0-r0/recipe-sysroot-native/usr/bin/opkg --volatile-cache -f /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default/tmp/work/aiox_default-poky-linux/aiox-defaultfs/1.0-r0/opkg.conf -t /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default/tmp/work/aiox_default-poky-linux/aiox-defaultfs/1.0-r0/temp/ipktemp/ -o /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default/tmp/work/aiox_default-poky-linux/aiox-defaultfs/1.0-r0/rootfs  --force_postinstall --prefer-arch-to-version   install base-files bash bc binutils bridge-utils coreutils crush cs-hdlc dhcp-server dhcp-server-config e2fsprogs ethtool haveged hdparm i2c- tools inetutils inetutils-rsh inetutils-rshd iperf3 iproute2 iptables iputils iputils-ping kernel-modules key-helper kmod libpci3 module-init-tools mtd-utils mtd-utils-ubifs nano ncurses ncurses-dev net-tools netcat nfs-utils nfs-utils-stats ntfs-3g ntfsprogs openssh openssh-sftp-server packagegroup-base-vfat packagegroup-core-boot pciutils pciutils-ids peekpoke perl plx8000 plx8000nt plxsvc pub-key python python-stringold python-subprocess rsync run-postinsts sg3-utils swig tar tcpdump tftp-hpa tftp-hpa-server traceroute usbutils util-linux wolfssl xinetd' returned 255:

Collected errors:

* opkg_prepare_url_for_install: Couldn't find anything to satisfy 'inetutils-rsh'.

* rm_r: Failed to open dir /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default/tmp/work/aiox_default-poky-linux/aiox-defaultfs/1.0-r0/temp/ipktemp//opkg-XugyZ2: No such file or directory.

 

ERROR: Logfile of failure stored in: /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default/tmp/work/aiox_default-poky-linux/aiox-defaultfs/1.0-r0/temp/log.do_rootfs.3516

ERROR: Task (/disk0/scratch/smonsees/yocto/workspace_3/poky/../meta-bae/meta-limws/meta-aarch64/recipes-core/images/aiox-defaultfs.bb:do_rootfs) failed with exit code '1'

NOTE: Tasks Summary: Attempted 3941 tasks of which 3509 didn't need to be rerun and 1 failed.

 

Summary: 1 task failed:

  /disk0/scratch/smonsees/yocto/workspace_3/poky/../meta-bae/meta-limws/meta-aarch64/recipes-core/images/aiox-defaultfs.bb:do_rootfs

Summary: There were 3 WARNING messages shown.

Summary: There was 1 ERROR message shown, returning a non-zero exit code.

07:52 smonsees@yix490016 /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default>

 

 

07:52 smonsees@yix490016 /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default>bitbake -e inetutils-rsh

WARNING: Host distribution "rhel-7.9" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.

Loading cache: 100% |#############################################################################################| Time: 0:00:00

Loaded 3668 entries from dependency cache.

Parsing recipes: 100% |###########################################################################################| Time: 0:00:00

Parsing of 2473 .bb files complete (2471 cached, 2 parsed). 3669 targets, 145 skipped, 0 masked, 0 errors.

ERROR: Nothing PROVIDES 'inetutils-rsh'. Close matches:

  inetutils

  inetutils RPROVIDES inetutils-rsh

 

Summary: There was 1 WARNING message shown.

Summary: There was 1 ERROR message shown, returning a non-zero exit code.

08:32 smonsees@yix490016 /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default>

 

08:53 smonsees@yix490016 /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default>bitbake -e inetutils | grep ^S=

S="/disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default/tmp/work/aarch64-poky-linux/inetutils/1.9.4-r0/inetutils-1.9.4"

08:54 smonsees@yix490016 /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default>bitbake -e inetutils | grep ^WORKDIR=

WORKDIR="/disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default/tmp/work/aarch64-poky-linux/inetutils/1.9.4-r0"

08:54 smonsees@yix490016 /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default>bitbake -e inetutils | grep ^IMAGE_FSTYPES=

IMAGE_FSTYPES="cpio.gz"

08:54 smonsees@yix490016 /disk0/scratch/smonsees/yocto/workspace_3/meta-bae/meta-limws/builds/aiox-default>

 

Thanks,

Steve


insmod - huawei E3372h kernel module

Zoltan Kerenyi Nagy
 

Hi Folks,

I bitbaked a Huawei E3372h driver into the distro with this recipe file:

SUMMARY = "Huawei Stick kernel module"
LICENSE = "CLOSED"

inherit module

SRC_URI = "file://Makefile \
           file://huawei_cdc_ncm.c \
          "

S = "${WORKDIR}"

The makefile looks like this:

obj-m := huawei_cdc_ncm.o

SRC := $(shell pwd)

all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)

modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install

clean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers

The source file is the one that matches the kernel:


I included this into the conf file:
KERNEL_MODULE_AUTOLOAD += "lte"KERNEL_MODULE_PROBECONF += "lte"huawei_cdc_ncm = "options lte iProduct=E3372h iManufacturer=Huawei"

Bitbake runs without error, however when I insert the SD card into the hardware ( barix ipam 400)
and boot the hardware this is the error message:

root@barix-ipam400:~# insmod /lib/modules/4.10.0/extra/huawei_cdc_ncm.ko
insmod: can't insert '/lib/modules/4.10.0/extra/huawei_cdc_ncm.ko': unknown symbol in module, or unknown parameter

To me it looks like that there was an error during the bitbake, or the header files included in the driver doesn't match the kernel.

Do you have any idea how to procede?

Thanks,



--
Zolee


Re: How to select Linux kernel version?

Quentin Schulz
 

Hi,

On Thu, Jan 07, 2021 at 09:07:58PM +1100, JH wrote:
Thanks kapllaj.

On meta-freescale, you find this on
meta-freescale-distro/conf/distro/include/fsl-base.inc:
Yes I use imx6ull, I've looked those config files, nothing set to run 4.19.

Now, go to meta-freescale/recipes-kernel/linux folder, and take a look to
see what kernels are available for your machine. Note that the linux-imx
kernel provides currently on master branch the 5.4 version!
For you to select the 5.10 (assuming you are on master branch) you should
set:

PREFERRED_PROVIDER_virtual/kernel = "linux-fslc"
I setup PREFERRED_PROVIDER_virtual/kernel = "linux-yocto", I have to
say, it has been running for a year for 4.19 kernel.

Yocto will automatically select the highest available version, but if you
would also like to fix the version, provide also that information:
PREFERRED_VERSION_linux-fslc = "5.%"
I know iit should automatically select the highest available version 5.10.

I set up following in local.conf:

PREFERRED_PROVIDER_virtual/kernel="linux-yocto"
PREFERRED_VERSION_linux-yocto="5.10.%"
So we can stop half guessing and help you can you give us the output of:
bitbake -e virtual/kernel | grep -e "^PREFERRED_PROVIDER_"
bitbake -e virtual/kernel | grep -e "^PREFERRED_VERSION_"
bitbake -e virtual/kernel | grep -e "^OVERRIDES="
bitbake-layers show-recipes linux-yocto linux-fslc

Thanks,
Quentin


Re: How to select Linux kernel version?

JH
 

Thanks kapllaj.

On meta-freescale, you find this on
meta-freescale-distro/conf/distro/include/fsl-base.inc:
Yes I use imx6ull, I've looked those config files, nothing set to run 4.19.

Now, go to meta-freescale/recipes-kernel/linux folder, and take a look to
see what kernels are available for your machine. Note that the linux-imx
kernel provides currently on master branch the 5.4 version!
For you to select the 5.10 (assuming you are on master branch) you should
set:

PREFERRED_PROVIDER_virtual/kernel = "linux-fslc"
I setup PREFERRED_PROVIDER_virtual/kernel = "linux-yocto", I have to
say, it has been running for a year for 4.19 kernel.

Yocto will automatically select the highest available version, but if you
would also like to fix the version, provide also that information:
PREFERRED_VERSION_linux-fslc = "5.%"
I know iit should automatically select the highest available version 5.10.

I set up following in local.conf:

PREFERRED_PROVIDER_virtual/kernel="linux-yocto"
PREFERRED_VERSION_linux-yocto="5.10.%"

But it was still running 4.19, the question is why didn't the Yocto
ignore the setting?

Thank you.

- j


Re: How to select Linux kernel version?

kapllaj.elvis@...
 

Hi, it actually shouldn't be that hard to set the kernel.

IMX_DEFAULT_KERNEL is a variable that sets the kernel name (the recipe) and not the version. I don't know on which yocto version you are working, and also on which CPU.

On meta-freescale, you find this on meta-freescale-distro/conf/distro/include/fsl-base.inc:

# Handle default kernel
IMX_DEFAULT_KERNEL = "linux-imx"
IMX_DEFAULT_KERNEL_mxs = "linux-fslc"
IMX_DEFAULT_KERNEL_mx5 = "linux-fslc"
IMX_DEFAULT_KERNEL_mx6 = "linux-fslc-imx"
IMX_DEFAULT_KERNEL_mx7 = "linux-fslc-imx"
IMX_DEFAULT_KERNEL_mx8 = "linux-imx"
IMX_DEFAULT_KERNEL_mx7ulp = "linux-imx"
IMX_DEFAULT_KERNEL_mx6sll = "linux-imx"
IMX_DEFAULT_KERNEL_mx6ul = "linux-fslc-imx"
IMX_DEFAULT_KERNEL_mx6ull = "linux-fslc-imx"
IMX_DEFAULT_KERNEL_use-mainline-bsp = "linux-fslc"
 
PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}"

That variable is only used if "PREFERRED_PROVIDER_virtual/kernel" variable was never set (note the ??= assignment). And what this does is: if there was not specified a kernel for this machine, set it to linux-imx (and note that it is also overridden for different cpus!). For example, it selects linux-fslc-imx for imx6 cpu.

Now, go to meta-freescale/recipes-kernel/linux folder, and take a look to see what kernels are available for your machine. Note that the linux-imx kernel provides currently on master branch the 5.4 version!
For you to select the 5.10 (assuming you are on master branch) you should set:

PREFERRED_PROVIDER_virtual/kernel = "linux-fslc"

Yocto will automatically select the highest available version, but if you would also like to fix the version, provide also that information:
PREFERRED_VERSION_linux-fslc = "5.%"


Unable to extract tar file #dunfell #yocto

Vijay Rakesh Munganda
 

Hi All,

I'm trying to install the Tokbox library into the build, but the tar file is not getting extracted into the folder. Here is my recipe code, kindly please help me where I went wrong.
Recipe:

DESCRIPTION = "libopentok for arm64"
HOMEPAGE = "https://tokbox.com"
 
 
SRC_URI = "https://s3.amazonaws.com/artifact.tokbox.com/rel/opentok-linux-sdk/libopentok_linux_llvm_arm64-2.18.1.tgz"
SRC_URI[sha256sum] = "7ae2b85940a4e16299a4ec5f4341b6b92c71abdb5ef6949508873bd8a2f53abc"
 
S= "${WORKDIR}/tokbox"
 
inherit cmake
Error: 
CMake Error: The source directory "/home/test/target/bsp/tmp/work/aarch64-poky-linux/tokbox/1.0-r0/tokbox" does not appear to contain CMakeLists.txt.

Thanks & Regards,
Vijay Rakesh


Re: How to select Linux kernel version?

JH
 

Thanks kapllaj,

It also may be overridden by some conf file. For example, if you are using a
i.MX cpus, you may have some conf file on meta-freescale that override this
variable with something like: PREFERRED_PROVIDER_virtual/kernel_imx = "some
kernel"
It has linux-imx and ${IMX_DEFAULT_KERNEL}, but I could not find what
is defined for ${IMX_DEFAULT_KERNEL}

I defined IMX_DEFAULT_KERNEL = "5.10.%" in local.conf, still download 4.19,

I had a situation like this on a imx6 xpu, and had to specify the "_imx"
override in order to make it work.

"bitbake - e virtual/kernel | grep PREFERRED_PROVIDER_virtual/kernel" is
your friend.
It will show you the current variable selected, and also the different
overrides available.
Yes, I've done many times, there is no decisive definition for it, a
little bit weird.

Did not know it is that hard to just define a kernel version in Yocto ??


Thank you.

Kind regards,

- j

1581 - 1600 of 53484