首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用buildroot工具链编译linux内核时出错

使用buildroot工具链编译linux内核时出错
EN

Stack Overflow用户
提问于 2020-12-08 12:54:08
回答 1查看 234关注 1票数 0

我试图使用我的buildroot工具链(2020.08.2)编译linux内核v5.9.12,但我一直收到一个与libfdt相关的错误。我想不出该怎么解决这个问题,我已经用头撞墙好几个小时了。

代码语言:javascript
复制
username@local:~/linux-stable$ make ARCH=arm CROSS_COMPILE=arm-linux- -j64 
  CALL    scripts/atomic/check-atomics.sh
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  Kernel: arch/arm/boot/Image is ready
  AS      arch/arm/boot/compressed/piggy.o
  CC      arch/arm/boot/compressed/fdt_ro.o
In file included from arch/arm/boot/compressed/../../../../lib/fdt_ro.c:2,
                 from arch/arm/boot/compressed/fdt_ro.c:2:
arch/arm/boot/compressed/../../../../lib/../scripts/dtc/libfdt/fdt_ro.c: In function ‘fdt_generate_phandle’:
arch/arm/boot/compressed/../../../../lib/../scripts/dtc/libfdt/fdt_ro.c:149:13: error: ‘FDT_MAX_PHANDLE’ undeclared (first use in this function)
  149 |  if (max == FDT_MAX_PHANDLE)
      |             ^~~~~~~~~~~~~~~
arch/arm/boot/compressed/../../../../lib/../scripts/dtc/libfdt/fdt_ro.c:149:13: note: each undeclared identifier is reported only once for each function it appears in
arch/arm/boot/compressed/../../../../lib/../scripts/dtc/libfdt/fdt_ro.c: In function ‘fdt_get_mem_rsv’:
arch/arm/boot/compressed/../../../../lib/../scripts/dtc/libfdt/fdt_ro.c:182:13: error: implicit declaration of function ‘fdt64_ld’ [-Werror=implicit-function-declaration]
  182 |  *address = fdt64_ld(&re->address);
      |             ^~~~~~~~
arch/arm/boot/compressed/../../../../lib/../scripts/dtc/libfdt/fdt_ro.c: In function ‘fdt_get_property_by_offset_’:
arch/arm/boot/compressed/../../../../lib/../scripts/dtc/libfdt/fdt_ro.c:371:11: error: implicit declaration of function ‘fdt32_ld’ [-Werror=implicit-function-declaration]
  371 |   *lenp = fdt32_ld(&prop->len);
      |           ^~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:283: arch/arm/boot/compressed/fdt_ro.o] Error 1
make[1]: *** [arch/arm/boot/Makefile:64: arch/arm/boot/compressed/vmlinux] Error 2
make: *** [arch/arm/Makefile:330: zImage] Error 2
make: *** Waiting for unfinished jobs....

我已经将output/host/usr/bin添加到我的PATH环境变量中,这样make就可以找到工具链。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-12-08 23:48:29

事实证明,在arch/arm/boot/压缩文件中,有一堆旧的libfdt相关的头文件仍然存在,因此通过删除这些文件,我能够构建内核。我用git status找到了这些文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65193291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档