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
.