The right image builder for TP-Link C7

I am trying to build a custom image (firmware) for my TP-Link (AC1750) C7 version 5.

Which of the following image builders should I use?

https://downloads.openwrt.org/snapshots/targets/ath79/generic/openwrt-imagebuilder-ath79-generic.Linux-x86_64.tar.xz

http://downloads.openwrt.org/releases/19.07.8/targets/ath79/generic/openwrt-19.07.8-ath79-generic-tplink_archer-c7-v5-squashfs-sysupgrade.bin

Let me explain how I got to those candidates.

What told me that I needed an "image builder" was the following bit from this user guide:

You can download an archive that contains the Image Builder, it is usually located in the same download page where you find the firmware image for your device.

For example, this is the page where you can download all firmware images for ath79/generic devices: https://downloads.openwrt.org/snapshots/targets/ath79/generic/ and you will find a openwrt-imagebuilder-ath79-generic.Linux-x86_64.tar.xz archive with the image builder in it. Also, it is always created by the build system because it is needed to create the image file. If the option “Build the OpenWrt Image Builder” is enabled, the image builder will be generated in the same folder you find firmware images (source/bin/targets/xxx) and you can use it to create more images from the packages you obtained during compilation.

For me, the "the same download page where you find the firmware image for your device" was this page: https://openwrt.org/toh/tp-link/archer_c7

That page didn't have anything like a file named "tar.xz"; but it did say (for my version of the router model):

Target: ar71xx-ath79

If I ignore the bit about "ar71xx", the "ath79" was exactly the thing the user guide used as example! So maybe the image builder mentioned in the example is the one I should use?

But I have the following bit from this post to confuse me:

I don't use the image builder as I build from source, but given that the Archer C7v5 appears to be supported on the ar71xx target for 18.06.4

http://downloads.openwrt.org/releases/18.06.4/targets/ar71xx/generic/openwrt-18.06.4-ar71xx-generic-archer-c7-v5-squashfs-sysupgrade.bin

that appears to be a correct image builder to use.

So an image builder could be either a generic "tar.xz" file or a highly specific "bin" file for the model and version? If so, I should rather use the latter?

I realize that, at the top of this post, I linked items on a "snapshots" and a "releases" page. I see that either of those pages have generic "tar.xz" files and bin files for C7 version 5. I believe my question is about the tar.xz vs. bin distinction (which should be my image builder), not about snapshots vs. release.

I have created a long post to show what sort of newbie I am.

You can also see this post on my motivation for building an image.

SNAPSHOT DOWNLOAD PAGE: https://downloads.openwrt.org/snapshots/targets/ath79/generic/ openwrt-imagebuilder-ath79-generic.Linux-x86_64.tar.xz

19.07.8 DOWNLOAD PAGE: https://downloads.openwrt.org/releases/19.07.8/targets/ath79/generic/ imagebuilder-19.07.8-ath79-generic.Linux-x86_64.tar.xz

This is the ToH ( table of hardware ) page... not the download page...

Great. Supposing I wanted to go with "releases," do you know whether, for the "image builder," I need to use the "tar.xz" or the "bin" file?

you already answered this...

But I am trying to resolve what appears to be a contradicting statement also quoted above. So the idea of using the "bin" file is wrong?

I see no contradicting statement.

The .bin file is a pre-built image ready to install. the ones in the target directory contain a basic set of packages that suit most users.

The output of Image Builder is a custom .bin file containing more or fewer packages.

NOTE: I have turned this comment into a separate post.

Thanks. If I start with the image builder ("tar.xz") from a particular download page (e.g. https://downloads.openwrt.org/releases/19.07.8/targets/ath79/generic/), set PROFILE to a particular model (e.g. TP-Link C7 v5), add or subtract no packages, add no config file, and run make image, then do I get an output that is identical to the bin file found on that download page for that particular model?

If yes, which of the bin files, factory or sysupgrade? (That is to say, could I use output for either purpose?)

If no, how could I start from an image builder and get an output identical to the bin file?

The reason for this question is this. I would be building a custom firmware thinking, "It is just like the factory bin; only I have added, subtracted or modified thus and thus." If the "just like the factory bin" part is not satisfied, I wouldn't know what I was getting.

Image Builder will create multiple files under bin/targets/... in the Image Builder directory. If a model has a factory and a sysupgrade, you will get both files. These files should be functionally identical to the ones on the image server. They probably won't be bit-for-bit identical due to upgrades of packages and different ordering of files.

1 Like

Why do you want to use an image builder if there are already built images ready to download?

Just a guess: Because non ct drivers are needed.

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