Saya sudah mencoba mengkompilasi kernel Linux v4.8.9 terbaru di Ubuntu 16.10 dan kesalahan ini terus muncul setelah saya membuat default .config, memodifikasinya dengan menuconfig dan menjalankannya dengan sendirinya. Saya juga menjalankan make mrproper segera setelah saya membatalkan pengarsipan file. Ini adalah output tepat setelah saya menjalankan 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
Saya juga telah mencoba mengkompilasi dengan opsi -no-pie setelah perintah make tetapi membuat serangkaian kesalahan baru, terus-menerus mengatakan bahwa ada "target yang hilang". Saya punya gcc versi 6.2.0. Saya juga sudah menginstal gcc-5 karena saya berasumsi pada awalnya mungkin karena gcc terlalu baru tetapi masalah yang sama masih ada di gcc-5. Seseorang di milis atau forum lain menyebutkan bahwa masalah diselesaikan dengan langsung mengkloning dari git tetapi itu tidak membantu dalam skenario saya juga.
Saya ingin tahu apakah ada orang lain yang mengalami masalah ini dan jika demikian, perbaikan apa yang mungkin dilakukan?
CATATAN: Saya menjalankan Ubuntu di Virtualbox pada Mac jika itu mungkin menjadi sumber masalah.
Buka Makefile, cari CFLAGS_EXTRA dan tambahkan opsi berikut ini
-fno-pie
Saya memiliki garis:
Saya mengubahnya untuk:
Untuk membangun kernel 4, bendera di atas adalah:
KBUILD_CFLAGS
.Dan itu mulai mengkompilasi lagi.
sumber