Hello.
I have installed 21.02 rc1 on a Netgear 3700v4 and went into trouble. I tried to install a custom build with a few packages, size is > 8MB. I built a ligher custom build (< 8MB) and that one works. So there is some kind of 8MB limit size for build.
The device has a 128 MB nand flash. After install, there is about 100 MB available, which is big. So there is 28MB left for the partition layout.
I searched for this partition layout to confirm this, but was not able to fully understand (no rootfs partition). kernel partiton size is 4 MB. Firmware is supposed to be kernel + roofs according to doc, and its size is 6.9 MB. I can't find 8MB
Can someone expertize these data and enlighten me ?
Notice how the beginning and end of the firmware partition sit at 6c0000 and 1fc0000, respectively. The address ranges of the kernel and ubiconcat0 partition are squeezed right in there. Then notice the second ubiconcatX device:
The kernel and ubi-concat partition is what OpenWrt will write to. You can calculate the total size yourself.
Hello.
Thanks for the clue.
There are still unclear things : top memory adress for ubiconcat1 is 8000000, nevertheless top memory adress for the whole ubi-concat is 7500000. Weird concatenation as top is missing.
Kernel + ubiconcat is about 124MB. But I can't still figure out why is there a 8MB limit.
the factory firmware,recover interface, or older sysupgrade's with older or differing partition layouts
can restrict the size of the firmware file that is able to be uploaded
this is often a constraint of the original OEM firmware layout & keeping things compatible
but from what I see the image size restriction is "IMAGE_SIZE := 25600k"
it should be limited to the size of firmware 0x1900000 so in decimal 26214400
& divided by 1024 = 25600 * 1K
firmware is also allocated as kernel + ubiconcat0 this seems to be the limitation
I think we need more information
can you generate a file bigger then 8M ?
is that file able to be uploaded ?
do you have a serial interface setup to see the boot process for errors ?
Yes. I have generated a build with -ppp -wolfssl +openvpn, it was about 8.2 MB
is that file able to be uploaded ?
Yes, using luci upgrade
do you have a serial interface setup to see the boot process for errors ?
in short where is the 8M+ file failing ?
No
Furthermore I don't have physical access to the device anymore. It was lent by a friend for maintenance and update (to 21.02), and I gave it back. I plan to update it again only for the next rc or final. So, in the meantime, I'm trying to figure it out why I wasn't able to update with this >8M build.
Here is the history of the device : it has run original Netgear soft, than several Openwrt 19.07. I have always use web interface (netgear, luci) to upgrade. After bricking with the 8MB+ build, I used nmrpflash. I wasn't able to restore the original Netgear soft (>8M) but was able to restore the 21.02 squashfs-factory.bin wich has a 8MB size. Than I flashed a custom build (-ppp, -wolfssl , no openvpn <8M). That is why I'm suspecting a 8MB limit.
So far, one way to solve this issue is to flash a light build (<8MB), than manually add openvpn, that's what I have done. But it would be more efficient to directly include openvpn in the build (>8M).
This device previously runs 19.07 on ar71xx target, and default builds were about 4.6MB. Now with 21.02 on ath79 target, default build is about 7.2MB. I suspect important changes in the partition layout. I still have a way to work around this issue by manual installation.
Thanks for answering anyway.