우분투 16.10에서 최신 Linux v4.8.9 커널을 컴파일하려고 시도했지만 기본 .config를 만들고 menuconfig로 수정하고 자체적으로 실행 한 후에도이 오류가 계속 나타납니다. 또한 파일의 압축을 해제하자마자 make mrproper를 실행했습니다. 이것은 make를 실행 한 직후의 결과입니다.
scripts/kconfig/conf --silentoldconfig Kconfig
SYSTBL arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h
SYSHDR arch/x86/entry/syscalls/../../include/generated/asm/unistd_32_ia32.h
SYSHDR arch/x86/entry/syscalls/../../include/generated/asm/unistd_64_x32.h
SYSTBL arch/x86/entry/syscalls/../../include/generated/asm/syscalls_64.h
SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h
SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_64.h
SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC arch/x86/tools/relocs_common.o
HOSTLD arch/x86/tools/relocs
CHK include/config/kernel.release
UPD include/config/kernel.release
WRAP arch/x86/include/generated/asm/clkdev.h
WRAP arch/x86/include/generated/asm/cputime.h
WRAP arch/x86/include/generated/asm/dma-contiguous.h
WRAP arch/x86/include/generated/asm/early_ioremap.h
WRAP arch/x86/include/generated/asm/mcs_spinlock.h
WRAP arch/x86/include/generated/asm/mm-arch-hooks.h
CHK include/generated/uapi/linux/version.h
UPD include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
UPD include/generated/utsrelease.h
CC kernel/bounds.s
kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
/*
Kbuild:45: recipe for target 'kernel/bounds.s' failed
make[1]: *** [kernel/bounds.s] Error 1
Makefile:1015: recipe for target 'prepare0' failed
make: *** [prepare0] Error 2
또한 make 명령 후에 -no-pie 옵션을 사용하여 컴파일을 시도했지만 "누락 된 대상"이 있다고 지속적으로 알려주는 일련의 새로운 오류가 발생합니다. gcc 버전 6.2.0이 있습니다. 처음에 gcc가 너무 새로워졌지만 gcc-5에서도 같은 문제가 지속될 것이라고 가정했기 때문에 gcc-5도 설치했습니다. 메일 링리스트 또는 다른 포럼의 누군가가 git에서 직접 복제하여 문제가 해결되었지만 내 시나리오에서도 도움이되지 않는다고 언급했습니다.
다른 사람 이이 문제에 부딪쳤다면 궁금합니다. 그렇다면 가능한 해결책은 무엇입니까?
참고 : Mac의 Virtualbox에서 Ubuntu를 실행 중일 수 있습니다. 문제의 원인 일 수 있습니다.