hope this is the right place (category) to post this issue...
I'm using imagebuilder with success since 21.x.x release but I'm now struggling to get my 23.05.2 custom image (dumb AP) for profile="tplink_tdw8970" as I get the following error:
make[3]: *** No rule to make target '/home/upaoron/bin/openwrt-imagebuilder-23.05.2-lantiq-xrx200.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/arcadyan_arv7519rw22-kernel.bin', needed by '/home/upaoron/bin/openwrt-imagebuilder-23.05.2-lantiq-xrx200.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/tmp/openwrt-23.05.2-lantiq-xrx200-arcadyan_arv7519rw22-squashfs-sysupgrade.bin'. Stop.
make[2]: *** [Makefile:208: build_image] Error 2
make[1]: *** [Makefile:146: _call_image] Error 2
make: *** [Makefile:262: image] Error 2
(Why arcadyan_arv7519rw22-kernel.bin? )
The error appears even if, for test purposes only, the make image command contains as single package only, e.g.:
make image profile="tplink_tdw8970" packages="base-files " files="files" bin_dir="/home/PR-IMAGE/23.05.2"
Disclaimer: the build system is not my area of expertise.
Check to see if the arcadyan device profile was activated in the make files in general. Or, maybe grab a fresh copy of the image builder in case you can't find it. Or try it using the firmware-selector.
It doesn’t look like that is the actual build error that cause the error.
As usual when these kind of forum treads are done with the error message and the line above, they give to little info.
When the building process runs in to a error it say error and stops the build process. But this is a freight train in full speed so you have a couple of 100lines with stop log messages between the error reason and the error message.
You have only given the error message and the last break log.
You have to scroll up in the log and find the actual error.
As far as I can see (understand), there are no other errors in the log; anyway, here follows the last 53 lines...:
Building images...
Parallel mksquashfs: Using 8 processors
Creating 4.0 filesystem on /home/upaoron/bin/openwrt-imagebuilder-23.05.2-lantiq-xrx200.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/root.squashfs, block size 262144.
Pseudo file "dev" exists in source filesystem "/home/upaoron/bin/openwrt-imagebuilder-23.05.2-lantiq-xrx200.Linux-x86_64/build_dir/target-mips_24kc_musl/root-lantiq/dev".
Ignoring, exclude it (-e/-ef) to override.
[=============================================================================================================================================================================================================================/] 695/695 100%
Exportable Squashfs 4.0 filesystem, xz compressed, data block size 262144
compressed data, compressed metadata, compressed fragments,
no xattrs, compressed ids
duplicates are removed
Filesystem size 3113.46 Kbytes (3.04 Mbytes)
26.99% of uncompressed filesystem size (11533.71 Kbytes)
Inode table size 6372 bytes (6.22 Kbytes)
19.86% of uncompressed inode table size (32092 bytes)
Directory table size 9434 bytes (9.21 Kbytes)
45.99% of uncompressed directory table size (20514 bytes)
Number of duplicate files found 109
Number of inodes 962
Number of files 691
Number of fragments 40
Number of symbolic links 193
Number of device nodes 1
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 77
Number of hard-links 0
Number of ids (unique uids + gids) 1
Number of uids 1
unknown (0)
Number of gids 1
unknown (0)
[mktplinkfw2] rootfs offset aligned to 0x2816952
[mktplinkfw2] firmware file "/home/upaoron/bin/openwrt-imagebuilder-23.05.2-lantiq-xrx200.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/tmp/openwrt-23.05.2-lantiq-xrx200-tplink_tdw8970-squashfs-sysupgrade.bin.new" completed
[mktplinkfw2] rootfs offset aligned to 0x2816984
[mktplinkfw2] firmware file "/home/upaoron/bin/openwrt-imagebuilder-23.05.2-lantiq-xrx200.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/tmp/openwrt-23.05.2-lantiq-xrx200-tplink_tdw8980-squashfs-sysupgrade.bin.new" completed
[mktplinkfw2] rootfs offset aligned to 0x2817020
[mktplinkfw2] firmware file "/home/upaoron/bin/openwrt-imagebuilder-23.05.2-lantiq-xrx200.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/tmp/openwrt-23.05.2-lantiq-xrx200-tplink_vr200-squashfs-sysupgrade.bin.new" completed
[mktplinkfw2] rootfs offset aligned to 0x2817100
[mktplinkfw2] firmware file "/home/upaoron/bin/openwrt-imagebuilder-23.05.2-lantiq-xrx200.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/tmp/openwrt-23.05.2-lantiq-xrx200-tplink_vr200v-squashfs-sysupgrade.bin.new" completed
5500+1 records in
5500+1 records out
2816160 bytes (2.8 MB, 2.7 MiB) copied, 0.00540844 s, 521 MB/s
6226+1 records in
6226+1 records out
3188184 bytes (3.2 MB, 3.0 MiB) copied, 0.00652036 s, 489 MB/s
padding image to 005ba000
padding image to 005bc000
padding image to 005c0000
make[3]: *** No rule to make target '/home/upaoron/bin/openwrt-imagebuilder-23.05.2-lantiq-xrx200.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/arcadyan_arv7519rw22-kernel.bin', needed by '/home/upaoron/bin/openwrt-imagebuilder-23.05.2-lantiq-xrx200.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-lantiq_xrx200/tmp/openwrt-23.05.2-lantiq-xrx200-arcadyan_arv7519rw22-squashfs-sysupgrade.bin'. Stop.
make[2]: *** [Makefile:208: build_image] Error 2
make[1]: *** [Makefile:146: _call_image] Error 2
make: *** [Makefile:262: image] Error 2
Unfortunately the normal image is not suitable because to "save space" I need to remove some packages (e.g. vdsl, ppp, dnsmasq etc) and add others (e.g. kmod-usb-storage kmod-usb2 kmod-usb-uhci etc.) to use my old tdw8970 as dumb AP with extroot and other things...
Given that your goal is to remove some packages to save enough space to install a few others, the firmware-selector build process would certainly work for that part.
What other control do you need in your situation? While you can't easily add additional general "files," you can do UCI scripts for firstboot that will setup the desired default state for a lot of the configs in the firmware... are there other things you need to do that can't be achieved with the UCI scripts?
Are you sure that your build command is right, PROFILE with uppercase etc. ?
Looking at the error you got,
makes me to think that the build system does not see the PROFILE and tries build all devices, and fails with the alphabetically first (as it happens to be disabled, without buildbot having built it).
Given that your goal is to remove some packages to save enough space to install a few others, the firmware-selector build process would certainly work for that part.
Yes, it would, but I'd like to find out what's wrong with imagebuilder to play an active small part by helping imagebuilder guys. Using firmware-selector is my contingency plan.
makes me to think that the build system does not see the PROFILE and tries build all devices, and fails with the alphabetically first (as it happens to be disabled, without buildbot having built it).
I do think you're right. To check that, I erase everything, run
make image profile="avm_fritz3370-rev2-hynix" packages="base-files " files="files" bin_dir="/home/upaoron/Dropbox/DOCS/HARDWARE/TP-Link_TD-W8970/openWRT/Firmware/PR-IMAGE/23.05.2"
in a new and clean "environment" and got exactly the same messages (arcadyan_arv7519rw22-kernel.bin).
It could be a problem in Makefile or .config or .targetinfo or elsewhere, but I'm not able to debug imagebuilder by myself; so I'm willing to help who wants to investigate and solve.
Gosh......'cause yesterday I had another error running make which disappeared when lowercase; so I wrongly thought something was changed in imagebulder...
Anyway, running make with PROFILE, PACKAGES, FILES and BIN_DIR in uppercase all works fine as usual: sorry, my big mistake, but lesson learned.
I must thank you and the other guys who tried to help me.