On Sun, Sep 11, 2016 at 10:40 AM, Chris Blake <chrisrblak...@gmail.com> wrote:
> It appears that $$$$(KERNEL_SIZE) was not passing to append-kernel,
> causing sysupgrade images to brick units due to the invalid rootfs
> offset. This is fixed by removing the 2 extra $$'s in front of the
> variables. Additionally, check-size was added to ensure that we don't
> have a kernel larger than our partition.
>
> Before: kernel@0x0,rootfs@0x13EDF8
> After: kernel@0x0,rootfs@0x200000
>
> Signed-off-by: Chris Blake <chrisrblak...@gmail.com>
> ---
>  target/linux/ar71xx/image/generic.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target/linux/ar71xx/image/generic.mk 
> b/target/linux/ar71xx/image/generic.mk
> index bd92a84..5144334 100644
> --- a/target/linux/ar71xx/image/generic.mk
> +++ b/target/linux/ar71xx/image/generic.mk
> @@ -443,7 +443,7 @@ define Device/c-55
>    KERNEL_SIZE = 2048k
>    IMAGE_SIZE = 15872k
>    MTDPARTS = 
> spi0.0:256k(u-boot)ro,128k(u-boot-env)ro,2048k(kernel),13824k(rootfs),13824k(opt)ro,2624k(failsafe)ro,64k(art)ro,15872k@0x60000(firmware)
> -  IMAGE/sysupgrade.bin = append-kernel $$$$(KERNEL_SIZE) | append-rootfs | 
> pad-rootfs | check-size $$$$(IMAGE_SIZE)
> +  IMAGE/sysupgrade.bin = append-kernel $$(KERNEL_SIZE) | check-size 
> $$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$(IMAGE_SIZE)
>  endef
>
>  TARGET_DEVICES += c-55
> --
> 2.7.4
>

Additionally, it appears that other devices like the ZyXEL NBG6616 may
be affected by this.

- Chris Blake

_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to