Intel® Edge Software Hub
Get answers from community peers to your questions about building Edge Software Hub solutions for edge compute node.
Announcements
Welcome to the Intel Community! If you like the answer to your question, please mark it as 'Accepted Solution' to help others.

The Edge Software Vision Package for Red Hat Enterprise Linux is now available here.

Learn more about developing on Intel® Hardware and Software here.
422 Discussions

FAILED: load BTF from vmlinux: Invalid argument

rangshaonan
Beginner
6,968 Views

When i build core-jammy   of intel ECI following the https://eci.intel.com/docs/3.0.2/getstarted/building.html,  it will build fail, i found the fail log :

GEN modules.builtin
LD .tmp_vmlinux.btf
BTF .btf.vmlinux.bin.o
LD .tmp_vmlinux.kallsyms1
KSYMS .tmp_vmlinux.kallsyms1.S
AS .tmp_vmlinux.kallsyms1.S
LD .tmp_vmlinux.kallsyms2
KSYMS .tmp_vmlinux.kallsyms2.S
AS .tmp_vmlinux.kallsyms2.S
LD vmlinux
BTFIDS vmlinux
FAILED: load BTF from vmlinux: Invalid argument
make[3]: *** [/<<PKGBUILDDIR>>/Makefile:1186: vmlinux] Error 255
make[3]: *** Deleting file 'vmlinux'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/build-full'
make[2]: *** [Makefile:219: __sub-make] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
+ exit 2
make[1]: *** [debian/rules:42: override_dh_auto_build] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:28: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

 

 

How to resove this issue? 

Labels (1)
0 Kudos
1 Solution
Lay
Employee
6,360 Views

Hi,

 

The issue can be solve with below:

 

Build core-jammy image manually following these steps:

----------------------
# cd /home/user/eci3/230912/edge_controls_industrial/Edge_Controls_for_Industrial_3.0.2/Edge_Controls_for_Industrial/release-eci_3.0.2/Edge-Controls-for-Industrial/eci-release
# export  KAS_BUILD_DIR=/home/user/eci3/230912/edge_controls_industrial/Edge_Controls_for_Industrial_3.0.2/Edge_Controls_for_Industrial/release-eci_3.0.2/Edge-Controls-for-Industrial/eci-release/build/eci-core-jammy
# [optional] $ sudo KAS_CONTAINER_IMAGE=jammy-kas-isar:3.0.2 ./kas-container --git-credential-store ${HOME}/.git-credentials clean

 

# vim build/eci-core-jammy/tmp/work/eci-jammy-amd64/linux-intel-rt/5.15.49-rt47-5/git/scripts/link-vmlinux.sh +233

 

The patch is https://github.com/intel/linux-intel-lts/commit/b775fbf532dc01ae53a6fc56168fd30cb4b0c658. Please add the lines in above file.

----------------------
if [ "${pahole_ver}" -ge "124" ]; then
         extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_enum64"
fi

 

# KAS_CONTAINER_IMAGE=jammy-kas-isar:3.0.2 ./kas-container --git-credential-store ${HOME}/.git-credentials build targets/kas/eci-core-jammy.yml

View solution in original post

0 Kudos
11 Replies
JesusE_Intel
Moderator
6,914 Views

Hi rangshaonan,


Could you please share the specifications (CPU, Storage, Memory) for the system you are using to build core-jammy image? Please note that this task requires a lot of resources, and the system should meet the system requirements.


https://eci.intel.com/docs/3.0.2/getstarted/requirements.html#linux-build-system-optional


I am in the process of building core-jammy image from my side, I will let you know if I encounter any issues.


Regards,

Jesus


0 Kudos
rangshaonan
Beginner
6,723 Views

Hi, Jesus 

Sorry so late replaying, because the chrome browse couldn't replay this post.

I've found that this is not an issue with the computer's specifications.  Please see this

https://devkernel.io/posts/pahole-error/ , this post has resolved my problem.


But I have some other questions again.

1、when I disabled the CONFIG_DEBUG_INFO_BTF configuration option, the build will report an error:

 

42762 /<<PKGBUILDDIR>>/samples/bpf/bpftool//bootstrap/bpftool btf dump file /<<PKGBUILDDIR>>/build-full/vmlinux format c > /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h
42763 
42764 /<<PKGBUILDDIR>>/samples/bpf/bpftool//bootstrap/bpftool btf dump file /<<PKGBUILDDIR>>/build-full/vmlinux format c > /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h
42765 Error: failed to load BTF from /<<PKGBUILDDIR>>/build-full/vmlinux: No such file or directory
42766 
42767 Error: failed to load BTF from /<<PKGBUILDDIR>>/build-full/vmlinux: No such file or directory
42768 make[7]: *** [Makefile:157: /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h] Error 2
42769 
42770 make[7]: *** [Makefile:157: /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h] Error 2
42771 make[6]: *** [/<<PKGBUILDDIR>>/samples/bpf/Makefile:293: /<<PKGBUILDDIR>>/samples/bpf/bpftool/bpftool] Error 2
42772 
42773 make[6]: *** [/<<PKGBUILDDIR>>/samples/bpf/Makefile:293: /<<PKGBUILDDIR>>/samples/bpf/bpftool/bpftool] Error 2
42774 make[5]: *** [/<<PKGBUILDDIR>>/Makefile:1871: /<<PKGBUILDDIR>>/samples/bpf] Error 2
42775 
42776 make[5]: *** [/<<PKGBUILDDIR>>/Makefile:1871: /<<PKGBUILDDIR>>/samples/bpf] Error 2

 

 

   The problem is that I don't know which script calls this "bpftool btf dump file /<<PKGBUILDDIR>>/build-full/vmlinux format c > /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h" and why call this.

2、There is no "pahole" in the Docker container jammy-kas-isar:3.0.2. But when compiling the image, the link-vmlinux.sh can found the "pahole" with path "/usr/bin/pahole" which version is v1.25, how did this program come about, and how can its version be controlled?

3、By specifying this option --skip_encoding_btf_enum64 , the image will be created. But when it is running, the kernel reports an error:

 

[ 4.421228] BPF: [112814] ENUM netdev_tx
[ 4.421944] BPF: size=4 vlen=3
[ 4.422640] BPF:
[ 4.423317] BPF: Invalid btf_info kind_flag
[ 4.424014] BPF:

[ 4.424689] failed to validate module [nfnetlink] BTF: -22

 

0 Kudos
rangshaonan
Beginner
6,723 Views

Hi, Jesus 

Sorry so late replaying, because the chrome browse couldn't replay this post.

I've found that this is not an issue with the computer's specifications.  Please see this

https://devkernel.io/posts/pahole-error/ , this post has resolved my problem.


But I have some other questions again.

1、when I disabled the CONFIG_DEBUG_INFO_BTF configuration option, the build will report an error:

 

 

42762 /<<PKGBUILDDIR>>/samples/bpf/bpftool//bootstrap/bpftool btf dump file /<<PKGBUILDDIR>>/build-full/vmlinux format c > /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h
42763 
42764 /<<PKGBUILDDIR>>/samples/bpf/bpftool//bootstrap/bpftool btf dump file /<<PKGBUILDDIR>>/build-full/vmlinux format c > /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h
42765 Error: failed to load BTF from /<<PKGBUILDDIR>>/build-full/vmlinux: No such file or directory
42766 
42767 Error: failed to load BTF from /<<PKGBUILDDIR>>/build-full/vmlinux: No such file or directory
42768 make[7]: *** [Makefile:157: /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h] Error 2
42769 
42770 make[7]: *** [Makefile:157: /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h] Error 2
42771 make[6]: *** [/<<PKGBUILDDIR>>/samples/bpf/Makefile:293: /<<PKGBUILDDIR>>/samples/bpf/bpftool/bpftool] Error 2
42772 
42773 make[6]: *** [/<<PKGBUILDDIR>>/samples/bpf/Makefile:293: /<<PKGBUILDDIR>>/samples/bpf/bpftool/bpftool] Error 2
42774 make[5]: *** [/<<PKGBUILDDIR>>/Makefile:1871: /<<PKGBUILDDIR>>/samples/bpf] Error 2
42775 
42776 make[5]: *** [/<<PKGBUILDDIR>>/Makefile:1871: /<<PKGBUILDDIR>>/samples/bpf] Error 2

 

 

   The problem is that I don't know which script calls this "bpftool btf dump file /<<PKGBUILDDIR>>/build-full/vmlinux format c > /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h" and why call this.

2、There is no "pahole" in the Docker container jammy-kas-isar:3.0.2. But when compiling the image, the link-vmlinux.sh can found the "pahole" with path "/usr/bin/pahole" which version is v1.25, how did this program come about, and how can its version be controlled?

3、By specifying this option --skip_encoding_btf_enum64 , the image will be created. But when it is running, the kernel reports an error:

 

[ 4.421228] BPF: [112814] ENUM netdev_tx
[ 4.421944] BPF: size=4 vlen=3
[ 4.422640] BPF:
[ 4.423317] BPF: Invalid btf_info kind_flag
[ 4.424014] BPF:

[ 4.424689] failed to validate module [nfnetlink] BTF: -22

 

0 Kudos
rangshaonan
Beginner
6,723 Views

Hi, Jesus 

Sorry so late replaying, because the chrome browse couldn't replay this post.

I've found that this is not an issue with the computer's specifications.  Please see this

https://devkernel.io/posts/pahole-error/ , this post has resolved my problem.


But I have some other questions again.

1、when I disabled the CONFIG_DEBUG_INFO_BTF configuration option, the build will report an error:

 

42762 /<<PKGBUILDDIR>>/samples/bpf/bpftool//bootstrap/bpftool btf dump file /<<PKGBUILDDIR>>/build-full/vmlinux format c > /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h

42763 42764 /<<PKGBUILDDIR>>/samples/bpf/bpftool//bootstrap/bpftool btf dump file /<<PKGBUILDDIR>>/build-full/vmlinux format c > /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h

42765 Error: failed to load BTF from /<<PKGBUILDDIR>>/build-full/vmlinux: No such file or directory

42766 42767 Error: failed to load BTF from /<<PKGBUILDDIR>>/build-full/vmlinux: No such file or directory

42768 make[7]: *** [Makefile:157: /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h] Error 2

42769 42770 make[7]: *** [Makefile:157: /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h] Error 2

42771 make[6]: *** [/<<PKGBUILDDIR>>/samples/bpf/Makefile:293: /<<PKGBUILDDIR>>/samples/bpf/bpftool/bpftool] Error 2

42772 42773 make[6]: *** [/<<PKGBUILDDIR>>/samples/bpf/Makefile:293: /<<PKGBUILDDIR>>/samples/bpf/bpftool/bpftool] Error 2 42774 make[5]: *** [/<<PKGBUILDDIR>>/Makefile:1871: /<<PKGBUILDDIR>>/samples/bpf] Error 2

42775 42776 make[5]: *** [/<<PKGBUILDDIR>>/Makefile:1871: /<<PKGBUILDDIR>>/samples/bpf] Error 2

 

   The problem is that I don't know which script calls this "bpftool btf dump file /<<PKGBUILDDIR>>/build-full/vmlinux format c > /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h" and why call this.

2、There is no "pahole" in the Docker container jammy-kas-isar:3.0.2. But when compiling the image, the link-vmlinux.sh can found the "pahole" with path "/usr/bin/pahole" which version is v1.25, how did this program come about, and how can its version be controlled?

3、By specifying this option --skip_encoding_btf_enum64 , the image will be created. But when it is running, the kernel reports an error:

[ 4.421228] BPF: [112814] ENUM netdev_tx

[ 4.421944] BPF: size=4 vlen=3

[ 4.422640] BPF:

[ 4.423317] BPF: Invalid btf_info kind_flag

[ 4.424014] BPF:

[ 4.424689] failed to validate module [nfnetlink] BTF: -22

0 Kudos
rangshaonan
Beginner
6,738 Views

Hi, Jesus
Please read the content on the image.  !_!

Thanks

0 Kudos
rangshaonan
Beginner
6,723 Views

Hi, Jesus
Sorry so late replying, because chrome browser couldn't replay this post.

I've found  this is not an issue with the computer's specifications. Please see 

https://devkernel.io/posts/pahole-error/ This post resolved my problem.

But I have some other questions again:

1、When I disable the CONFIG_DEBUG_INFO_BTF configuration option, the kernel will output the following error:

 

42762 /<<PKGBUILDDIR>>/samples/bpf/bpftool//bootstrap/bpftool btf dump file /<<PKGBUILDDIR>>/build-full/vmlinux format c > /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h
42763 
42764 /<<PKGBUILDDIR>>/samples/bpf/bpftool//bootstrap/bpftool btf dump file /<<PKGBUILDDIR>>/build-full/vmlinux format c > /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h
42765 Error: failed to load BTF from /<<PKGBUILDDIR>>/build-full/vmlinux: No such file or directory
42766 
42767 Error: failed to load BTF from /<<PKGBUILDDIR>>/build-full/vmlinux: No such file or directory
42768 make[7]: *** [Makefile:157: /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h] Error 2
42769 
42770 make[7]: *** [Makefile:157: /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h] Error 2
42771 make[6]: *** [/<<PKGBUILDDIR>>/samples/bpf/Makefile:293: /<<PKGBUILDDIR>>/samples/bpf/bpftool/bpftool] Error 2
42772 
42773 make[6]: *** [/<<PKGBUILDDIR>>/samples/bpf/Makefile:293: /<<PKGBUILDDIR>>/samples/bpf/bpftool/bpftool] Error 2
42774 make[5]: *** [/<<PKGBUILDDIR>>/Makefile:1871: /<<PKGBUILDDIR>>/samples/bpf] Error 2
42775 
42776 make[5]: *** [/<<PKGBUILDDIR>>/Makefile:1871: /<<PKGBUILDDIR>>/samples/bpf] Error 2

 

    The problem is that I don't know which script calls this "bpftool btf dump file /<<PKGBUILDDIR>>/build-full/vmlinux format c > /<<PKGBUILDDIR>>/samples/bpf/bpftool/vmlinux.h"  and why call this.

2、There is no "pahole" in the Docker container, but when building core-jammy image , the link-vmlinux.sh can found "pahole" with path "/usr/bin/pahole" which version is v1.25,  how did this program come about, and how can its version be controlled?

3、By specifying this option --skip_encoding_btf_enum64, the core-jammy image will be created,buf when it is running, the kernel reports an error: 

 

0 Kudos
JesusE_Intel
Moderator
6,717 Views

Hi rangshaonan,


Let me check with the development team on these issues you are encountering. We will respond to you shortly.


Regards,

Jesus


0 Kudos
Lay
Employee
6,361 Views

Hi,

 

The issue can be solve with below:

 

Build core-jammy image manually following these steps:

----------------------
# cd /home/user/eci3/230912/edge_controls_industrial/Edge_Controls_for_Industrial_3.0.2/Edge_Controls_for_Industrial/release-eci_3.0.2/Edge-Controls-for-Industrial/eci-release
# export  KAS_BUILD_DIR=/home/user/eci3/230912/edge_controls_industrial/Edge_Controls_for_Industrial_3.0.2/Edge_Controls_for_Industrial/release-eci_3.0.2/Edge-Controls-for-Industrial/eci-release/build/eci-core-jammy
# [optional] $ sudo KAS_CONTAINER_IMAGE=jammy-kas-isar:3.0.2 ./kas-container --git-credential-store ${HOME}/.git-credentials clean

 

# vim build/eci-core-jammy/tmp/work/eci-jammy-amd64/linux-intel-rt/5.15.49-rt47-5/git/scripts/link-vmlinux.sh +233

 

The patch is https://github.com/intel/linux-intel-lts/commit/b775fbf532dc01ae53a6fc56168fd30cb4b0c658. Please add the lines in above file.

----------------------
if [ "${pahole_ver}" -ge "124" ]; then
         extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_enum64"
fi

 

# KAS_CONTAINER_IMAGE=jammy-kas-isar:3.0.2 ./kas-container --git-credential-store ${HOME}/.git-credentials build targets/kas/eci-core-jammy.yml

0 Kudos
JesusE_Intel
Moderator
6,185 Views

If you need any additional information, please submit a new question as this thread will no longer be monitored.


0 Kudos
Reply