[PATCH] rtl838x: clean up build instructions

Adrian Schmutzler mail at adrianschmutzler.de
Tue Sep 29 13:44:54 EDT 2020


Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
> On Behalf Of Sander Vanheule
> Sent: Dienstag, 29. September 2020 18:20
> To: openwrt-devel at lists.openwrt.org
> Cc: Sander Vanheule <sander at svanheule.net>
> Subject: [PATCH] rtl838x: clean up build instructions
> 
> The Device/Default recipe was defined, but never used. Move definitions
> that are not device-specific to Device/Default, and use it for allnet_all-
> sg8208m. This should make it more straightforward to add new devices.
> 
> The modified uImage recipe can also be simplified, similar to how
> ath79/common-netgear.mk does it.
> 
> Signed-off-by: Sander Vanheule <sander at svanheule.net>
> ---
>  target/linux/rtl838x/image/Makefile | 24 ++++++++++--------------
>  1 file changed, 10 insertions(+), 14 deletions(-)
> 
> diff --git a/target/linux/rtl838x/image/Makefile
> b/target/linux/rtl838x/image/Makefile
> index eef1fe0a33..0174e47449 100644
> --- a/target/linux/rtl838x/image/Makefile
> +++ b/target/linux/rtl838x/image/Makefile
> @@ -7,36 +7,32 @@ include $(INCLUDE_DIR)/image.mk  KERNEL_LOADADDR
> = 0x80000000  KERNEL_ENTRY = 0x80000400
> 
> -define Build/custom-uimage
> -	mkimage -A $(LINUX_KARCH) \
> -		-O linux -T kernel \
> -		-C gzip -a $(KERNEL_LOADADDR) $(if $(UIMAGE_MAGIC),-M
> $(UIMAGE_MAGIC),) \
> -		-e $(if
> $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
> -		-n '$(1)' -d $@ $@.new
> -	mv $@.new $@
> -endef
> +DEVICE_VARS += UIMAGE_MAGIC
> 
> +define Build/realtek-uImage
> +	$(call Build/uImage,$(1) $(if $(UIMAGE_MAGIC),-M
> $(UIMAGE_MAGIC),))
> +endef

I like the idea, but don't like this hack with the argument.
Either we can move the if here into image-commands.mk (which won't work if we need UIMAGE_MAGIC only for certain recipes ...), or I'd keep the old one.

> 
>  define Device/Default
>    PROFILES = Default
> -  KERNEL := kernel-bin | append-dtb | gzip | uImage gzip
> -  KERNEL_INITRAMFS := kernel-bin | append-dtb | gzip | uImage gzip
> +  KERNEL := kernel-bin | append-dtb | gzip | realtek-uImage gzip

So, can we assume that we always need the magic for this target?

> + KERNEL_INITRAMFS := $$(KERNEL)
>    DEVICE_DTS_DIR := ../dts
>    DEVICE_DTS = $$(SOC)_$(1)
>    SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
>    IMAGES := sysupgrade.bin
> -  IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-rootfs |
> pad-rootfs | \
> -	append-metadata | check-size
> +  IMAGE/sysupgrade.bin := append-kernel | append-rootfs | \
> +      append-metadata | check-size

I'm not sure whether this is correct, but it should be a separate change anyway.

>  endef
> 
>  define Device/allnet_all-sg8208m
> +  $(Device/Default)

Device/Default is added to all devices by default (if it's defined) automatically!

https://github.com/openwrt/openwrt/blob/master/include/image.mk#L696

So, this would actually add it a second time.

Best

Adrian

>    SOC := rtl8382
>    IMAGE_SIZE := 7168k
>    DEVICE_VENDOR := ALLNET
>    DEVICE_MODEL := ALL-SG8208M
>    UIMAGE_MAGIC := 0x00000006
> -  KERNEL := kernel-bin | append-dtb | gzip | custom-uimage 2.2.2.0
> -  KERNEL_INITRAMFS := kernel-bin | append-dtb | gzip | custom-uimage
> 2.2.2.0
> +  UIMAGE_NAME := 2.2.2.0
>    DEVICE_PACKAGES := ip-full ip-bridge kmod-gpio-button-hotplug tc  endef
> TARGET_DEVICES += allnet_all-sg8208m
> --
> 2.26.2
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.openwrt.org/pipermail/openwrt-devel/attachments/20200929/2e822078/attachment.sig>


More information about the openwrt-devel mailing list