실패: vmlinux에서 BTF 로드 중: 해당 파일이나 디렉터리가 없습니다.

실패: vmlinux에서 BTF 로드 중: 해당 파일이나 디렉터리가 없습니다.

Ftrace 및 디버그 정보를 지원하는 커널(4.15)을 빌드하려고 하면 다음 오류가 발생합니다.

       FAILED: load BTF from vmlinux: No such file or directory
       Makefile:1160: recipe for target 'vmlinux' failed

이것이 내가 시도하는 것입니다:

       $ ./scripts/config -e CONFIG_FTRACE
       $ ./scripts/config -e CONFIG_DEBUG_INFO
       $ ./scripts/config -e CONFIG_DEBUG_INFO_DWARF5
       $ ./scripts/config -e CONFIG_BPF_SYSCALL
       $ ./scripts/config -e CONFIG_DEBUG_INFO_BTF
       $ ./scripts/config -d CONFIG_DEBUG_INFO_REDUCED
       $ yes "" | make oldconfig
       $ make -j$(nproc) Image dtbs modules

이 질문은 다음 질문과 다른 것 같습니다.

kernel-5.9.1을 컴파일할 때 "실패: vmlinux에서 BTF 로드: 알 수 없는 오류 -2make: ***[Makefile:1162:vmlinux] 오류 255"

답변1

2022년에 커널 4.15를 설치하려는 이유는 모르겠지만 그 외에는 실행하면 안 됩니다 yes "" | make oldconfig. 그러면 새 질문에 대해 "예"가 선택됩니다. 아마도 원하는 것은 make olddefconfig새 질문에 대한 기본값을 선택하는 것입니다("예"일 필요는 없음). 이것은 문제의 일부일 수 있습니다.

드워프가 설치되어 있는지도 확인해야 합니다.

답변2

실제 오류 원인은 오류 위의 열두 줄 정도 되는 것 같습니다 load BTF from vmlinux: No such file or directory.

내가 아는 한 그것은 경고다.(예, 이는 빌드를 중단하지 않으므로 경고입니다.):

           […]
           BTF     .btf.vmlinux.bin.o
         btf_encoder__encode: btf__dedup failed!
         Failed to encode BTF
           […]

...이 문제는 를 비활성화하여 비활성화한 개발 초기 단계의 회귀입니다 CONFIG_X86_KERNEL_IBT.

관련 정보