在 yocto 中找不到 dtc 命令

dtc command not found in yocto

我是 yocto 的新手,我正在尝试为 nanopi-neo-air 硬件构建一个基本图像,我遇到了一个我在这里分享的错误,请解决它。 提前谢谢你。

nano/poky/build/tmp/work/nanopi_neo_air-poky-linux-gnueabi/u-boot/1_friendlyarm-r0/git/scripts/Makefile.build obj=scripts/basic

|   GEN     ./Makefile

| /nano/poky/build/tmp/work/nanopi_neo_air-poky-linux-gnueabi/u-boot/1_friendlyarm-r0/git/scripts/dtc-version.sh: line 17:
dtc: command not found
| /nano/poky/build/tmp/work/nanopi_neo_air-poky-linux-gnueabi/u-boot/1_friendlyarm-r0/git/scripts/dtc-version.sh: line 18: 
dtc: command not found

| rm -f .tmp_quiet_recordmcount

| *** Your dtc is too old, please upgrade to dtc 1.4 or newer
| /nano/poky/build/tmp/work/nanopi_neo_air-poky-linux-gnueabi/u-boot/1_friendlyarm-r0/git/Makefile:1411: recipe for target 'checkdtc' failed

| make[1]: *** [checkdtc] Error 1
| make[1]: *** Waiting for unfinished jobs....
| make[1]: Leaving directory 

'/nano/poky/build/tmp/work/nanopi_neo_air-poky-linux-gnueabi/u-boot/1_friendlyarm-r0/build'

| Makefile:150: recipe for target 'sub-make' failed
| make: *** [sub-make] Error 2
| make: Leaving directory '

/nano/poky/build/tmp/work/nanopi_neo_air-poky-linux-gnueabi/u-boot/1_friendlyarm-r0/git'

| ERROR: oe_runmake failed

| WARNING: exit code 1 from a shell command.

| ERROR: Function failed: do_compile (log file is located at /home/harris/nano/poky/build/tmp/work/nanopi_neo_air-poky-linux-gnueabi/u-boot/1_friendlyarm-r0/temp/log.do_compile.10821)
ERROR: Task (/home/harris/nano/poky/meta-nanopi-neo-air/recipes-bsp/u-boot/u-boot_friendlyarm.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3253 tasks of which 3242 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/harris/nano/poky/meta-nanopi-neo-air/recipes-bsp/u-boot/u-boot_friendlyarm.bb:do_compile
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

错误很明显,你至少需要dtc 1.4,所以检查poky/meta/recipes-kernel/dtc当前版本。

在 yocto 中,您可能错过了对设备树编译器的依赖。将此添加到配方中即可解决。

DEPENDS_append = " dtc-native"