treewide: move mktplinkfw to tplink-v1-image in image-commands.mk
This move the slightly different target-specific implementations of mktplinkfw from the targets to include/image-commands.mk and renames it to tplink-v1-image. Having a common version will increase consistency between implementation and will complete the tplink build command already present in the new location. Due to the slight differences of the original implementations, this also does some adjustments to the device build commands/variables. This also moves rootfs_align as this is required as dependency. Tested on: - TL-WDR4300 v1 (ath79, factory) - TL-WDR4900 v1 (mpc85xx, sysupgrade) - RE210 v1 (ramips, see Tested-by) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Christoph Krapp <achterin@googlemail.com>
This commit is contained in:
parent
0c97f034c9
commit
9b0e8d0aa4
|
@ -3,6 +3,10 @@
|
|||
IMAGE_KERNEL = $(word 1,$^)
|
||||
IMAGE_ROOTFS = $(word 2,$^)
|
||||
|
||||
define rootfs_align
|
||||
$(patsubst %-256k,0x40000,$(patsubst %-128k,0x20000,$(patsubst %-64k,0x10000,$(patsubst squashfs%,0x4,$(patsubst root.%,%,$(1))))))
|
||||
endef
|
||||
|
||||
define Build/uImage
|
||||
mkimage -A $(LINUX_KARCH) \
|
||||
-O linux -T kernel \
|
||||
|
@ -335,6 +339,24 @@ define Build/tplink-v1-header
|
|||
@mv $@.new $@
|
||||
endef
|
||||
|
||||
# combine kernel and rootfs into one image
|
||||
# mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
|
||||
# <type> is "sysupgrade" or "factory"
|
||||
#
|
||||
# -a align the rootfs start on an <align> bytes boundary
|
||||
# -j add jffs2 end-of-filesystem markers
|
||||
# -s strip padding from end of the image
|
||||
# -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
|
||||
define Build/tplink-v1-image
|
||||
-$(STAGING_DIR_HOST)/bin/mktplinkfw \
|
||||
-H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) \
|
||||
-N "$(VERSION_DIST)" -V $(REVISION) -m $(TPLINK_HEADER_VERSION) \
|
||||
-k $(IMAGE_KERNEL) -r $(IMAGE_ROOTFS) -o $@.new -j -X 0x40000 \
|
||||
-a $(call rootfs_align,$(FILESYSTEM)) \
|
||||
$(wordlist 2,$(words $(1)),$(1)) \
|
||||
$(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@
|
||||
endef
|
||||
|
||||
define Build/tplink-v2-header
|
||||
$(STAGING_DIR_HOST)/bin/mktplinkfw2 \
|
||||
-c -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -L $(KERNEL_LOADADDR) \
|
||||
|
|
|
@ -1,28 +1,6 @@
|
|||
DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION
|
||||
DEVICE_VARS += TPLINK_BOARD_NAME TPLINK_BOARD_ID
|
||||
|
||||
define rootfs_align
|
||||
$(patsubst %-256k,0x40000,$(patsubst %-128k,0x20000,$(patsubst %-64k,0x10000,$(patsubst squashfs%,0x4,$(patsubst root.%,%,$(1))))))
|
||||
endef
|
||||
|
||||
# combine kernel and rootfs into one image
|
||||
# mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
|
||||
# <type> is "sysupgrade" or "factory"
|
||||
#
|
||||
# -a align the rootfs start on an <align> bytes boundary
|
||||
# -j add jffs2 end-of-filesystem markers
|
||||
# -s strip padding from end of the image
|
||||
# -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
|
||||
define Build/mktplinkfw
|
||||
-$(STAGING_DIR_HOST)/bin/mktplinkfw \
|
||||
-H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) \
|
||||
-N OpenWrt -V $(REVISION) -m $(TPLINK_HEADER_VERSION) \
|
||||
-k $(IMAGE_KERNEL) -r $@ -o $@.new -j -X 0x40000 \
|
||||
-a $(call rootfs_align,$(FILESYSTEM)) \
|
||||
$(wordlist 2,$(words $(1)),$(1)) \
|
||||
$(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@
|
||||
endef
|
||||
|
||||
# mktplinkfw-combined
|
||||
#
|
||||
# -c combined image
|
||||
|
@ -50,9 +28,8 @@ define Device/tplink
|
|||
KERNEL := kernel-bin | append-dtb | lzma
|
||||
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-v1-header
|
||||
IMAGES += factory.bin
|
||||
IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade | \
|
||||
append-metadata
|
||||
IMAGE/factory.bin := append-rootfs | mktplinkfw factory
|
||||
IMAGE/sysupgrade.bin := tplink-v1-image sysupgrade | append-metadata
|
||||
IMAGE/factory.bin := tplink-v1-image factory
|
||||
endef
|
||||
|
||||
define Device/tplink-nolzma
|
||||
|
|
|
@ -157,8 +157,8 @@ define Device/tplink_archer-c7-v2
|
|||
TPLINK_HWID := 0xc7000002
|
||||
SUPPORTED_DEVICES += archer-c7
|
||||
IMAGES += factory-us.bin factory-eu.bin
|
||||
IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
|
||||
IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
|
||||
IMAGE/factory-us.bin := tplink-v1-image factory -C US
|
||||
IMAGE/factory-eu.bin := tplink-v1-image factory -C EU
|
||||
endef
|
||||
TARGET_DEVICES += tplink_archer-c7-v2
|
||||
|
||||
|
@ -502,9 +502,9 @@ define Device/tplink_tl-wr2543-v1
|
|||
DEVICE_VARIANT := v1
|
||||
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
|
||||
TPLINK_HWID := 0x25430001
|
||||
IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99 | \
|
||||
IMAGE/sysupgrade.bin := tplink-v1-image sysupgrade -v 3.13.99 | \
|
||||
append-metadata | check-size $$$$(IMAGE_SIZE)
|
||||
IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
|
||||
IMAGE/factory.bin := tplink-v1-image factory -v 3.13.99
|
||||
SUPPORTED_DEVICES += tl-wr2543-v1
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wr2543-v1
|
||||
|
|
|
@ -198,8 +198,8 @@ define Device/tplink_tl-wr841-v11
|
|||
TPLINK_HWID := 0x08410011
|
||||
SUPPORTED_DEVICES += tl-wr841n-v11
|
||||
IMAGES += factory-us.bin factory-eu.bin
|
||||
IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
|
||||
IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
|
||||
IMAGE/factory-us.bin := tplink-v1-image factory -C US
|
||||
IMAGE/factory-eu.bin := tplink-v1-image factory -C EU
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wr841-v11
|
||||
|
||||
|
@ -211,8 +211,8 @@ define Device/tplink_tl-wr841-v12
|
|||
TPLINK_HWID := 0x08410012
|
||||
SUPPORTED_DEVICES += tl-wr841n-v11
|
||||
IMAGES += factory-us.bin factory-eu.bin
|
||||
IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
|
||||
IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
|
||||
IMAGE/factory-us.bin := tplink-v1-image factory -C US
|
||||
IMAGE/factory-eu.bin := tplink-v1-image factory -C EU
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wr841-v12
|
||||
|
||||
|
@ -234,9 +234,9 @@ define Device/tplink_tl-wr940n-v4
|
|||
TPLINK_HWID := 0x09400004
|
||||
SUPPORTED_DEVICES += tl-wr940n-v4
|
||||
IMAGES += factory-us.bin factory-eu.bin factory-br.bin
|
||||
IMAGE/factory-us.bin := append-rootfs | mktplinkfw factory -C US
|
||||
IMAGE/factory-eu.bin := append-rootfs | mktplinkfw factory -C EU
|
||||
IMAGE/factory-br.bin := append-rootfs | mktplinkfw factory -C BR
|
||||
IMAGE/factory-us.bin := tplink-v1-image factory -C US
|
||||
IMAGE/factory-eu.bin := tplink-v1-image factory -C EU
|
||||
IMAGE/factory-br.bin := tplink-v1-image factory -C BR
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wr940n-v4
|
||||
|
||||
|
|
|
@ -5,36 +5,12 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT
|
||||
|
||||
define rootfs_align
|
||||
$(patsubst %-256k,0x40000,$(patsubst %-128k,0x20000,$(patsubst %-64k,0x10000,$(patsubst squashfs%,0x4,$(patsubst root.%,%,$(1))))))
|
||||
endef
|
||||
DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION
|
||||
|
||||
define Build/copy-file
|
||||
cat "$(1)" > "$@"
|
||||
endef
|
||||
|
||||
# combine kernel and rootfs into one image
|
||||
# mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
|
||||
# <type> is "sysupgrade" or "factory"
|
||||
#
|
||||
# -a align the rootfs start on an <align> bytes boundary
|
||||
# -j add jffs2 end-of-filesystem markers
|
||||
# -s strip padding from end of the image
|
||||
# -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
|
||||
define Build/mktplinkfw
|
||||
-$(STAGING_DIR_HOST)/bin/mktplinkfw \
|
||||
-H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) \
|
||||
-k $(IMAGE_KERNEL) \
|
||||
-r $@ \
|
||||
-o $@.new \
|
||||
-j -X 0x40000 \
|
||||
-a $(call rootfs_align,$(FILESYSTEM)) \
|
||||
$(wordlist 2,$(words $(1)),$(1)) \
|
||||
$(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@
|
||||
endef
|
||||
|
||||
define Device/Default
|
||||
PROFILES := Default
|
||||
DEVICE_DTS := $(lastword $(subst _, ,$(1)))
|
||||
|
@ -51,6 +27,7 @@ define Device/tplink_tl-wdr4900-v1
|
|||
DEVICE_VENDOR := TP-Link
|
||||
DEVICE_MODEL := TL-WDR4900
|
||||
DEVICE_VARIANT := v1
|
||||
TPLINK_HEADER_VERSION := 1
|
||||
TPLINK_HWID := 0x49000001
|
||||
TPLINK_HWREV := 1
|
||||
TPLINK_FLASHLAYOUT := 16Mppc
|
||||
|
@ -64,8 +41,8 @@ define Device/tplink_tl-wdr4900-v1
|
|||
ARTIFACTS := fdt.bin
|
||||
ARTIFACT/fdt.bin := append-dtb
|
||||
IMAGES := fdt.bin factory.bin sysupgrade.bin
|
||||
IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade | append-metadata
|
||||
IMAGE/factory.bin := append-rootfs | mktplinkfw factory
|
||||
IMAGE/sysupgrade.bin := tplink-v1-image sysupgrade | append-metadata
|
||||
IMAGE/factory.bin := tplink-v1-image factory
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wdr4900-v1
|
||||
|
||||
|
|
|
@ -16,23 +16,6 @@ define Build/elecom-header
|
|||
--owner=0 --group=0 -f $@ -C $(KDIR) v_0.0.0.bin v_0.0.0.md5
|
||||
endef
|
||||
|
||||
# combine kernel and rootfs into one image
|
||||
# mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
|
||||
# <type> is "sysupgrade" or "factory"
|
||||
#
|
||||
# -a align the rootfs start on an <align> bytes boundary
|
||||
# -j add jffs2 end-of-filesystem markers
|
||||
# -s strip padding from end of the image
|
||||
# -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
|
||||
define Build/mktplinkfw
|
||||
-$(STAGING_DIR_HOST)/bin/mktplinkfw \
|
||||
-H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) \
|
||||
-N OpenWrt -V $(REVISION) -m $(TPLINK_HEADER_VERSION) \
|
||||
-k $(IMAGE_KERNEL) -r $(IMAGE_ROOTFS) -o $@.new -j -X 0x40000 -a 0x4 \
|
||||
$(wordlist 2,$(words $(1)),$(1)) \
|
||||
$(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@
|
||||
endef
|
||||
|
||||
define Device/aigale_ai-br100
|
||||
SOC := mt7620a
|
||||
IMAGE_SIZE := 7936k
|
||||
|
@ -962,8 +945,8 @@ define Device/tplink_re200-v1
|
|||
DEVICE_VARIANT := v1
|
||||
DEVICE_PACKAGES := kmod-mt76x0e
|
||||
IMAGES += factory.bin
|
||||
IMAGE/sysupgrade.bin := mktplinkfw sysupgrade -e -O | append-metadata
|
||||
IMAGE/factory.bin := mktplinkfw factory -e -O
|
||||
IMAGE/sysupgrade.bin := tplink-v1-image sysupgrade -e -O | append-metadata
|
||||
IMAGE/factory.bin := tplink-v1-image factory -e -O
|
||||
IMAGE_SIZE := 7936k
|
||||
KERNEL := $(KERNEL_DTB)
|
||||
KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-v1-header -e -O
|
||||
|
|
Loading…
Reference in New Issue