Я пытаюсь скомпилировать linux версию ядра 3.16, но это дает мне ошибки компоновщика.
Я пробовал запускать make menuconfig
, make defconfig
индивидуально, а затем make -no-pie
(это ядро не поддерживает код, независимый от позиции, поэтому я должен добавить этот флаг) Я также пробовал make mrproper
, make clean
, повторяя все эти шаги в разных вариантах, каждый раз с этой проблемой не работает.
Я взял код ядра из разных источников, чтобы убедиться, что у меня нет ошибочного исходного кода, и в итоге я попытался
- получить код из linux -stable git и проверить его на моем желаемая версия
- скачать tarball с kernel.org для этой спецификации c версия
- получить исходный код из репозиториев Debian
но независимо от того, какой источник я использовать, с этой проблемой всегда не получается.
set -e; echo ' LINK vmlinux'; /bin/sh scripts/link-vmlinux.sh ld -m elf_x86_64 --build-id -X; echo 'cmd_vmlinux := /bin/sh scripts/link-vmlinux.sh ld -m elf_x86_64 --build-id -X' > ./.vmlinux.cmd
LINK vmlinux
LD vmlinux.o
ld: cannot find arch/x86/kernel/head_64.o: No such file or directory
ld: cannot find arch/x86/kernel/head64.o: No such file or directory
ld: cannot find arch/x86/kernel/head.o: No such file or directory
ld: cannot find init/built-in.o: No such file or directory
ld: cannot find usr/built-in.o: No such file or directory
ld: cannot find arch/x86/built-in.o: No such file or directory
ld: cannot find kernel/built-in.o: No such file or directory
ld: cannot find mm/built-in.o: No such file or directory
ld: cannot find fs/built-in.o: No such file or directory
ld: cannot find ipc/built-in.o: No such file or directory
ld: cannot find security/built-in.o: No such file or directory
ld: cannot find crypto/built-in.o: No such file or directory
ld: cannot find block/built-in.o: No such file or directory
ld: cannot find lib/lib.a: No such file or directory
ld: cannot find arch/x86/lib/lib.a: No such file or directory
ld: cannot find lib/built-in.o: No such file or directory
ld: cannot find arch/x86/lib/built-in.o: No such file or directory
ld: cannot find drivers/built-in.o: No such file or directory
ld: cannot find sound/built-in.o: No such file or directory
ld: cannot find arch/x86/pci/built-in.o: No such file or directory
ld: cannot find arch/x86/power/built-in.o: No such file or directory
ld: cannot find arch/x86/video/built-in.o: No such file or directory
ld: cannot find net/built-in.o: No such file or directory
make: *** [Makefile:893: vmlinux] Error 1