首页 > 解决方案 > 无法编译linux内核版本3.16

问题描述

我正在尝试编译 linux 内核版本 3.16,但它给了我链接器错误。

我尝试单独运行make menuconfigmake defconfig然后make -no-pie(此内核不支持与位置无关的代码,因此我必须附加此标志)我也尝试过make mrpropermake clean以不同的变体重做所有这些步骤,但每次在这个问题上都失败。

我从不同来源获取内核代码只是为了确保我没有运行错误的源代码,并最终尝试

但无论我使用哪个来源,它总是会因这个问题而失败。

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

标签: linuxmakefilebuildlinux-kernellinker

解决方案


推荐阅读