[LEDE-DEV] [RFC] at91: fix build of legacy target
Mathias Kresin
dev at kresin.me
Mon Oct 16 01:03:10 PDT 2017
16.10.2017 00:44, Hauke Mehrtens:
> Changing the order of the devices fixes the build problem seen by the
> build bot. I do not understand why this is making any difference at all,
> this is probably only hiding a different bug.
>
> Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
> ---
>
> Without this patch I am getting the following error message:
>
> cat /home/hauke/openwrt/lede/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_legacy/tmp/lede-at91-legacy-tny_a9260-squashfs-factory.bin.dtb >> /home/hauke/openwrt/lede/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_legacy/tmp/lede-at91-legacy-tny_a9260-squashfs-factory.bin
> dd if=/home/hauke/openwrt/lede/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_legacy/tmp/lede-at91-legacy-tny_a9260-squashfs-factory.bin of=/home/hauke/openwrt/lede/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_legacy/tmp/lede-at91-legacy-tny_a9260-squashfs-factory.bin.new bs= conv=sync
> dd: invalid number: ''
> Makefile:74: recipe for target '/home/hauke/openwrt/lede/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_legacy/tmp/lede-at91-legacy-tny_a9260-squashfs-factory.bin' failed
> make[5]: *** [/home/hauke/openwrt/lede/build_dir/target-arm_arm926ej-s_musl_eabi/linux-at91_legacy/tmp/lede-at91-legacy-tny_a9260-squashfs-factory.bin] Error 1
> make[5]: Leaving directory '/home/hauke/openwrt/lede/target/linux/at91/image'
> Makefile:24: recipe for target 'install' failed
Hey Hauke,
your issue is:
define Device/Default
DTB_SIZE :=
endef
define Device/production-dtb
$(Device/production)
$(Device/dtb)
DTB_SIZE := 128k
IMAGE/factory.bin := append-dtb | pad-to $$$$(DTB_SIZE) \
| append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
endef
The pad-to $$$$(DTB_SIZE) references the DTB_SIZE variable from
Device/Default instead of Device/production-dtb.
The best would be to move DTB_SIZE := 128k to Device/Default (which is
safe since we don't have different DTB_SIZE values). Another way to fix
the issue is to change the pad-to parameter to pad-to $$(DTB_SIZE).
But I've to admit, I fail to see why it works as intended if you change
the order of the build code and it's most likely the reason why I didn't
noticed the issue at the time I merged
c2f052acaeb480e89d3ce39c47f49ad16b3464ac.
Mathias
More information about the Lede-dev
mailing list