ramips: extend and rename wr1201-factory-header
authorINAGAKI Hiroshi <musashino.open@gmail.com>
Tue, 24 Sep 2019 18:02:04 +0000 (03:02 +0900)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Wed, 5 Feb 2020 16:03:21 +0000 (17:03 +0100)
This commit adds the ability to set custom uImage magic to
Build/wr1201-factory-header and renames it to
"Build/custom-initramfs-uimage".

Custom uImage header in initramfs image is required on following
devices:

- I-O DATA WN-AX1167GR2
- I-O DATA WN-AX2033GR
- I-O DATA WN-AX2033GR2
- I-O DATA WN-DX1167R

While at it, fix typo in comment.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Reviewed-by: Sungbo Eo <mans0n@gorani.run>
[shorten commit title, minor commit message adjustments]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ramips/image/mt7621.mk

index 6d0af9d9948090013f74a140a0f2f9df6d54cebe..ae83501c9d058287780e7af3a7c38ea5722014a6 100644 (file)
@@ -7,6 +7,21 @@ include ./common-tp-link.mk
 DEFAULT_SOC := mt7621
 
 KERNEL_DTB += -d21
+DEVICE_VARS += UIMAGE_MAGIC
+
+# The OEM webinterface expects an kernel with initramfs which has the uImage
+# header field ih_name.
+# We don't want to set the header name field for the kernel include in the
+# sysupgrade image as well, as this image shouldn't be accepted by the OEM
+# webinterface. It will soft-brick the board.
+define Build/custom-initramfs-uimage
+       mkimage -A $(LINUX_KARCH) \
+               -O linux -T kernel \
+               -C lzma -a $(KERNEL_LOADADDR) $(if $(UIMAGE_MAGIC),-M $(UIMAGE_MAGIC),) \
+               -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
+               -n '$(1)' -d $@ $@.new
+       mv $@.new $@
+endef
 
 define Build/elecom-gst-factory
   $(eval product=$(word 1,$(1)))
@@ -74,19 +89,6 @@ define Build/ubnt-erx-factory-image
        fi
 endef
 
-# The OEM webinterface expects an kernel with initramfs which has the uImage
-# header field ih_name.
-# We don't wan't to set the header name field for the kernel include in the
-# sysupgrade image as well, as this image shouldn't be accepted by the OEM
-# webinterface. It will soft-brick the board.
-define Build/wr1201-factory-header
-       mkimage -A $(LINUX_KARCH) \
-               -O linux -T kernel \
-               -C lzma -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
-               -n 'WR1201_8_128' -d $@ $@.new
-       mv $@.new $@
-endef
-
 define Device/afoundry_ew1200
   IMAGE_SIZE := 16064k
   DEVICE_VENDOR := AFOUNDRY
@@ -466,7 +468,7 @@ define Device/mtc_wr1201
   IMAGE_SIZE := 16000k
   DEVICE_VENDOR := MTC
   DEVICE_MODEL := Wireless Router WR1201
-  KERNEL_INITRAMFS := $(KERNEL_DTB) | wr1201-factory-header
+  KERNEL_INITRAMFS := $(KERNEL_DTB) | custom-initramfs-uimage WR1201_8_128
   DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
        kmod-usb-ledtrig-usbport wpad-basic
 endef