[OpenWrt-Devel] [PATCH] apm821xx: switch MR24's initramfs to multi-image method

Hauke Mehrtens hauke at hauke-m.de
Tue Mar 20 18:19:06 EDT 2018


On 03/18/2018 10:51 PM, Christian Lamparter wrote:
> The recent change to switch to gcc 7.3 broke the image
> generation code, as the kernel would no longer fit into
> KERNEL_SIZE.
> 
> This patch fixes the issue by reworking the initramfs
> creation and packaging, which will get rid of the
> KERNEL_SIZE check in the process.
> 
> This new initramfs can be loaded through the MR24 U-boot
> in the following way:
> 
> => setenv ipaddr 192.168.1.1
> => setenv bootargs console=ttyS0,$baudrate
> => tftpboot c00000 192.168.1.2:meraki_mr24-initramfs-kernel.bin
> [...]
> Load address: 0xc00000
> Loading: ################################################ [...]
> done
>     Bytes transferred = 5952544 (5ad420 hex)
>     => bootm $fileaddr
>     \## Booting kernel from Legacy Image at 00c00000 ...
>     ...
> 
> For more information and the latest flashing guide:
> please visit the OpenWrt Wiki Page for the MR24:
> <https://openwrt.org/toh/meraki/mr24#flashing>
> 
> Cc: Hauke Mehrtens <hauke at hauke-m.de>
> Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
> Signed-off-by: Chris Blake <chrisrblake93 at gmail.com>
> ---
>  target/linux/apm821xx/image/Makefile | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/target/linux/apm821xx/image/Makefile b/target/linux/apm821xx/image/Makefile
> index 82a857a4d0..4e6b6e4995 100644
> --- a/target/linux/apm821xx/image/Makefile
> +++ b/target/linux/apm821xx/image/Makefile
> @@ -75,13 +75,9 @@ define Device/meraki_mr24
>    BLOCKSIZE := 63k
>    IMAGES := sysupgrade.tar
>    DTB_SIZE := 64512
> -  KERNEL_SIZE := 1984k
>    IMAGE_SIZE := 8191k
>    KERNEL := kernel-bin | lzma | uImage lzma | MerakiAdd-dtb | MerakiNAND
> -  KERNEL_INITRAMFS := copy-file $(KDIR)/vmlinux | lzma | uImage lzma | \
> -		      check-size $$(KERNEL_SIZE) | \
> -		      MerakiAdd-dtb | pad-to 2047k | MerakiAdd-initramfs | \
> -		      MerakiNAND
> +  KERNEL_INITRAMFS := kernel-bin | lzma | dtb | MuImage-initramfs lzma
>    IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
>    UBINIZE_OPTS := -E 5
>    SUPPORTED_DEVICES += mr24
> @@ -123,7 +119,7 @@ define Build/create-uImage-dtb
>  	@mv $@.new $@
>  endef
>  
> -define Build/wndr4700-specialImage
> +define Build/MuImage-initramfs
>  	rm -rf $@.fakerd $@.new
>  
>  	dd if=/dev/zero of=$@.fakerd bs=32 count=1 conv=sync
> @@ -170,7 +166,7 @@ define Device/netgear_wndr4700
>    KERNEL_SIZE := 1920k
>    KERNEL := dtb | kernel-bin | lzma | uImage lzma | pad-offset $$(BLOCKSIZE) 64 | \
>  	  append-uImage-fakeroot-hdr
> -  KERNEL_INITRAMFS := kernel-bin | gzip | dtb | wndr4700-specialImage gzip
> +  KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip
>    IMAGE/factory.img := create-uImage-dtb | append-kernel | pad-to 2M | append-ubi | \
>  		       netgear-dni | check-size $$$$(IMAGE_SIZE)
>    IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
> 

I test compiled this, but now I have the same problem on the wndr4700,
the meraki_mr24 seams to be fine.

WARNING: Image file
/home/hauke/openwrt/lede/build_dir/target-powerpc_464fp_musl/linux-apm821xx_nand/netgear_wndr4700-kernel.bin
is too big


later on it failes becasue
/home/hauke/openwrt/lede/build_dir/target-powerpc_464fp_musl/linux-apm821xx_nand/netgear_wndr4700-kernel.bin
does not exists.

Hauke
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list