make[1]: *** 没有规则来制作 `firmware/am335x-pm-firmware.bin.gen.o' 需要的目标 `firmware/am335x-pm-firmware.bin'

Posted

技术标签:

【中文标题】make[1]: *** 没有规则来制作 `firmware/am335x-pm-firmware.bin.gen.o\' 需要的目标 `firmware/am335x-pm-firmware.bin\'。停止【英文标题】:make[1]: *** No rule to make target `firmware/am335x-pm-firmware.bin', needed by `firmware/am335x-pm-firmware.bin.gen.o'. Stopmake[1]: *** 没有规则来制作 `firmware/am335x-pm-firmware.bin.gen.o' 需要的目标 `firmware/am335x-pm-firmware.bin'。停止 【发布时间】:2013-11-30 03:33:11 【问题描述】:

我有一个 Ti Sitara AM335x 入门套件,我想在上面使用 USB 3G 调制解调器。 我正在关注这些文件:

http://processors.wiki.ti.com/index.php/android-USB-3G-Modem-Integration & http://processors.wiki.ti.com/index.php/TI-Android-JB-4.1.2-DevKit-4.0.1_DeveloperGuide#Build_Procedure

我没有通过 repo 获得资源。我用的是预包装的。 我无法构建 android linux kernel 并收到此错误 在这个命令之后

$ make ARCH=arm CROSS_COMPILE=arm-eabi- uImage

我已经尝试了很多事情,包括将pm-firmware.bin更改为pm-firmware.bin.gen.o,下载准备好的内核uImage并尝试继续执行步骤。

我该如何解决这个错误?

【问题讨论】:

【参考方案1】:

很惊讶没有人回答这个问题。

从这里开始:

http://elinux.org/Building_BBB_Kernel

从内核源文件夹上方执行此操作:

wget http://arago-project.org/git/projects/?p=am33x-cm3.git\;a=blob_plain\;f=bin/am335x-pm-firmware.bin\;hb=HEAD -O kernel/firmware/am335x-pm-firmware.bin

-J

【讨论】:

谢谢,我也遇到了同样的问题。但是文件消失不是很奇怪吗?或者从一开始就根本不存在,但突然变成了一种需要:/我正在编译我的内核就好了..无论如何这有帮助:-) ]> «但是文件消失不是很奇怪吗?或者从一开始就根本不存在»。很可能 .gitignore 有一行阻止签入此类文件。就我而言,它是 am335x-pm-firmware.elf 文件。 使用 GCC 7.x “am335x-pm-firmware.bin” 被忽略,编译器停止并显示“无规则”消息。我不确定那个固件是干什么用的。没有它,BBB 工作正常。例如,虽然我不使用 PRU。【参考方案2】:

该文件可能在内核构建时位于内核源代码树中,并且是 链接到内核映像。这就是为什么您在发行版文件系统中看不到它的原因。

该文件也不是官方 Linux 固件的一部分,所以你必须把它拿到外面 如上所述。

如果您出于某种原因不想使用它,可以在 .config 文件中禁用此设置: CONFIG_EXTRA_FIRMWARE="am335x-pm-firmware.bin" -> CONFIG_EXTRA_FIRMWARE 未设置

【讨论】:

以上是关于make[1]: *** 没有规则来制作 `firmware/am335x-pm-firmware.bin.gen.o' 需要的目标 `firmware/am335x-pm-firmware.bin'的主要内容,如果未能解决你的问题,请参考以下文章

make: *** 没有规则可以创建目标“menuconfig”

制作 ROS 工作区时,没有规则制作目标 libopencv_calib3d.so.3.2.0 但安装了 opencv 3.4.1

GNU make:规则专题

autotools -- make[1]: *** 没有将目标设为“全部”的规则。停止

没有规则来制作 .o 文件

debian 2.6.26内核,make时提示 make[1]: *** 没有规则可以创建目标“modules”。 停止