ar71xx: seama: fix making factory images
authorYousong Zhou <yszhou4tech@gmail.com>
Thu, 30 Jun 2016 01:54:21 +0000 (09:54 +0800)
committerJohn Crispin <john@phrozen.org>
Thu, 30 Jun 2016 20:48:39 +0000 (22:48 +0200)
commit559a7d1177fcbb4e276f864f465fce9297624eaf
treeffb1a0ee7c988c154f511c8e758cc3c41e03ab2b
parentea284d704b34fd6222693be1382b31b5fd03b157
ar71xx: seama: fix making factory images

rootfs part needs to be aligned to erase block size which is passed as
the 6th argument to Image/Build/Seama  and is now 65536 since commit
commit 5119ee9 "ar71xx: fix bogus hardcoded kernel image size for Seama
images (fixes #20585)", but $(($(6) - 64)) still assumes that the
argument is a limit on kernel partition size, i.e. 1310720, so the
generated factory image is wrong in that the kernel will fail to find
the rootfs (FlySpray link at [1])

This patch will workaround it with the following steps

1. Calculate the required space for seama header and META data in step 5
2. Pre-padding 64 bytes to lzma-compressed loader
3. Generate correctly padded image-$(2).tmp
4. Strip out the padding
5. Seal it with seama utility

While at it convert seama to new build method

[1] FS#35 - mynet-n750 factory images don't find root partition,
    https://bugs.lede-project.org/index.php?do=details&task_id=35

Reported-by: Steven Haigh <netwiz@crc.id.au>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
target/linux/ar71xx/image/generic.mk
target/linux/ar71xx/image/legacy-devices.mk
target/linux/ar71xx/image/legacy.mk