No rule to make target using imagebuilder for WDR4900

Hi all,

Using imagebuilder I get this make error while creating an image 22.03-rc1 for the WDR4900:

make[3]: *** No rule to make target '/home/user/openwrt-imagebuilder-22.03.0-rc1-mpc85xx-p1010.Linux-x86_64/build_dir/target-powerpc_8540_musl/linux-mpc85xx_p1010/tplink_tl-wdr4900-v1-kernel.bin', needed by '/home/user/openwrt-imagebuilder-22.03.0-rc1-mpc85xx-p1010.Linux-x86_64/build_dir/target-powerpc_8540_musl/linux-mpc85xx_p1010/tmp/openwrt-22.03.0-rc1-mpc85xx-p1010-tplink_tl-wdr4900-v1-squashfs-factory.bin'.  Stop.
make[2]: *** [Makefile:188: build_image] Error 2
make[1]: *** [Makefile:126: _call_image] Error 2
make: *** [Makefile:242: image] Error 2

The same happens using the latest snapshot.

Creating an image using 21.02.3 works fine.

How do I get rid of the make error?

Peter

You'll need the buildroot, the WDR4900 v1 images are still disabled.

define Device/tplink_tl-wdr4900-v1
  DEVICE_VENDOR := TP-Link
  DEVICE_MODEL := TL-WDR4900
  DEVICE_VARIANT := v1
  TPLINK_HEADER_VERSION := 1
  TPLINK_HWID := 0x49000001
  TPLINK_HWREV := 1
  TPLINK_FLASHLAYOUT := 16Mppc
  KERNEL_SIZE := 2684k
  KERNEL_NAME := simpleImage.tl-wdr4900-v1
  KERNEL_INITRAMFS :=
  KERNEL := kernel-bin | uImage none
  KERNEL_ENTRY := 0x1000000
  KERNEL_LOADADDR := 0x1000000
  SUPPORTED_DEVICES += tl-wdr4900-v1
  ARTIFACTS := fdt.bin
  ARTIFACT/fdt.bin := append-dtb
  IMAGES := factory.bin sysupgrade.bin
  IMAGE/sysupgrade.bin := tplink-v1-image sysupgrade | append-metadata
  IMAGE/factory.bin := tplink-v1-image factory
  DEFAULT := n
endef
TARGET_DEVICES += tplink_tl-wdr4900-v1

DEFAULT := n means no images get built.

OK, that part is clear. Thanks.

How do I know, except for trying, that I can use imagebuilder for the WDR4900?
Why is the imagebuilder tar.gz file present when it can't be used yet?

By looking at the binary images OpenWrt provides. If you look through the downloads, you'll see the WDR4900 v1 has none. The imagebuilder is not device specific, but (sub)target specific.

That is easy to spot.
Thanks. All clear now.

1 Like

FYI, seems it was disabled because the kernel was too big. This can be worked around but you need to fix u-boot for that. See the commit message.

They seem to be working on it since 2019. I hope a solution will be found as I have 5 of these WDR4900v1 devices. It would be a shame if they get stuck on the 21.02.3 version.

21.02.3 has kernel 5.4.188 which works fine on the WDR4900v1. Isn't this kernel too large? So maybe a solution already has been found?

There's a solution as outlined in the commit. Kernel grows with every release, unfortunately, and between 5.4 and 5.10 there's more than a year of commits.

That part I understand.
In 2019 work was done with kernel 4.14 so I assume that kernel was too large.
Is the kernel 5.4.188 in OpenWrt 21.02.3 smaller so that it fits?

I'm not sure why you think 4.14 was too large? Every OpenWrt release has a new kernel and newer kernels tend to be bigger.

I'm not familiar with your device, it might have been the kernel partition used to be smaller before, has been enlarged, and is now at the upper limit of what the bootloader can handle by default.

https://github.com/openwrt/openwrt/pull/1773#issuecomment-480612690

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.