[OpenWrt-Devel] [RFC 1/3] ath25: factor out Fonera 2.0g to subtarget

Sergey Ryazanov ryazanov.s.a at gmail.com
Thu May 31 20:36:43 EDT 2018


Add subtargets to the ath25 target. One is for generic firmware images
(including Ubnt), and another one is for Fonera 2.0g (FON2202) firmware
buid. Subtargets now are mostly identical due to identical configs.

This just a preparation for moving some uniq Fonera features (e.g. PCI &
USB support) to dedicated subtarget in order to debloat generic
firmware.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a at gmail.com>
---
 target/linux/ath25/Makefile                        |  5 +-
 target/linux/ath25/fon2202/profiles/00-default.mk  | 16 +++++
 target/linux/ath25/fon2202/target.mk               |  5 ++
 .../ath25/{ => generic}/profiles/00-default.mk     |  0
 target/linux/ath25/generic/target.mk               |  5 ++
 target/linux/ath25/image/Makefile                  | 71 ++-------------------
 target/linux/ath25/image/fon2202.mk                | 16 +++++
 target/linux/ath25/image/generic.mk                | 73 ++++++++++++++++++++++
 8 files changed, 122 insertions(+), 69 deletions(-)
 create mode 100644 target/linux/ath25/fon2202/profiles/00-default.mk
 create mode 100644 target/linux/ath25/fon2202/target.mk
 rename target/linux/ath25/{ => generic}/profiles/00-default.mk (100%)
 create mode 100644 target/linux/ath25/generic/target.mk
 create mode 100644 target/linux/ath25/image/fon2202.mk
 create mode 100644 target/linux/ath25/image/generic.mk

diff --git a/target/linux/ath25/Makefile b/target/linux/ath25/Makefile
index cb8b7ec1be..19e1c98ad4 100644
--- a/target/linux/ath25/Makefile
+++ b/target/linux/ath25/Makefile
@@ -10,14 +10,11 @@ ARCH:=mips
 BOARD:=ath25
 BOARDNAME:=Atheros AR231x/AR5312
 FEATURES:=squashfs low_mem small_flash
+SUBTARGETS:=generic fon2202
 MAINTAINER:=Sergey Ryazanov <ryazanov.s.a at gmail.com>
 
 KERNEL_PATCHVER:=4.14
 
-define Target/Description
-	Build firmware images for Atheros SoC boards
-endef
-
 include $(INCLUDE_DIR)/target.mk
 
 DEFAULT_PACKAGES += wpad-mini kmod-ath5k swconfig kmod-gpio-button-hotplug
diff --git a/target/linux/ath25/fon2202/profiles/00-default.mk b/target/linux/ath25/fon2202/profiles/00-default.mk
new file mode 100644
index 0000000000..130ecd50d0
--- /dev/null
+++ b/target/linux/ath25/fon2202/profiles/00-default.mk
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Default
+	NAME:=Default Profile
+	PRIORITY:=1
+endef
+
+define Profile/Default/Description
+	Default package set for Fonera 2.0g (FON2202).
+endef
+$(eval $(call Profile,Default))
diff --git a/target/linux/ath25/fon2202/target.mk b/target/linux/ath25/fon2202/target.mk
new file mode 100644
index 0000000000..0c83b0494e
--- /dev/null
+++ b/target/linux/ath25/fon2202/target.mk
@@ -0,0 +1,5 @@
+BOARDNAME:=Fonera 2.0g (FON2202)
+
+define Target/Description
+	Build firmware images for Fonera 2.0g (FON2202) wireless router.
+endef
diff --git a/target/linux/ath25/profiles/00-default.mk b/target/linux/ath25/generic/profiles/00-default.mk
similarity index 100%
rename from target/linux/ath25/profiles/00-default.mk
rename to target/linux/ath25/generic/profiles/00-default.mk
diff --git a/target/linux/ath25/generic/target.mk b/target/linux/ath25/generic/target.mk
new file mode 100644
index 0000000000..e534009efa
--- /dev/null
+++ b/target/linux/ath25/generic/target.mk
@@ -0,0 +1,5 @@
+BOARDNAME:=Generic
+
+define Target/Description
+	Build firmware images for generic Atheros AR231x/AR5312 based boards.
+endef
diff --git a/target/linux/ath25/image/Makefile b/target/linux/ath25/image/Makefile
index 5a20bdb644..0d8917944e 100644
--- a/target/linux/ath25/image/Makefile
+++ b/target/linux/ath25/image/Makefile
@@ -7,14 +7,12 @@
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
-define Build/mkfwimage
-	$(STAGING_DIR_HOST)/bin/mkfwimage \
-		-B $(1).$(VERSION_DIST).$(REVISION) \
-		-k $(IMAGE_KERNEL) \
-		-r $(IMAGE_ROOTFS) \
-		-o $@.new && \
-	mv $@.new $@
-endef
+ifeq ($(SUBTARGET),generic)
+include ./generic.mk
+endif
+ifeq ($(SUBTARGET),fon2202)
+include ./fon2202.mk
+endif
 
 define Build/combined-image
 	-sh $(TOPDIR)/scripts/combined-image.sh \
@@ -24,19 +22,6 @@ define Build/combined-image
 	mv $@.new $@
 endef
 
-define Build/mkmylofw
-	$(STAGING_DIR_HOST)/bin/mkmylofw -B $(1) \
-		-p0x020000:0x130000:ah:0x80041000:linux:$(IMAGE_KERNEL) \
-		-p0x150000:0x2a0000:::rootfs:$(IMAGE_ROOTFS) \
-		$@.new && \
-	mv $@.new $@
-endef
-
-define Build/gzip-kernel
-	gzip -9n -c $@ > $@.gz
-	dd if=$@.gz of=$@ bs=65536 conv=sync
-endef
-
 define Build/lzma-kernel
 	$(STAGING_DIR_HOST)/bin/lzma e $@ $@.l7
 	dd if=$@.l7 of=$@ bs=65536 conv=sync
@@ -60,48 +45,4 @@ define Device/Default
   FILESYSTEMS := squashfs
 endef
 
-define Device/generic
-  DEVICE_TITLE := Generic Images
-  IMAGES := kernel.lzma kernel.elf kernel.gz rootfs.bin sysupgrade.bin
-  IMAGE/kernel.gz := elf-kernel | gzip-kernel
-  IMAGE/kernel.elf := elf-kernel
-  IMAGE/kernel.lzma := elf-kernel | lzma-kernel
-  IMAGE/rootfs.bin := append-rootfs | pad-rootfs | pad-to 128k
-  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | combined-image
-  IMAGE_NAME = $$(IMAGE_PREFIX)-$$(if $$(findstring kernel,$$(2)),,$$(1)-)$$(2)
-endef
-TARGET_DEVICES += generic
-
-define Device/ubnt2-pico2
-  DEVICE_TITLE := Ubiquiti XS2-8
-  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkfwimage XS2-8 -v XS2.ar2316
-endef
-TARGET_DEVICES += ubnt2-pico2
-
-define Device/ubnt2
-  DEVICE_TITLE := Ubiquiti XS2
-  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkfwimage XS2 -v XS2.ar2316
-endef
-TARGET_DEVICES += ubnt2
-
-define Device/ubnt5
-  DEVICE_TITLE := Ubiquiti XS5
-  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkfwimage XS5 -v XS5.ar2313
-endef
-TARGET_DEVICES += ubnt5
-
-define Device/np25g
-  DEVICE_TITLE := np25g
-  KERNEL := kernel-bin | gzip-kernel
-  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkmylofw np25g
-endef
-#TARGET_DEVICES += np25g
-
-define Device/wpe53g
-  DEVICE_TITLE := wpe53g
-  KERNEL := kernel-bin | gzip-kernel
-  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkmylofw wpe53g
-endef
-#TARGET_DEVICES += wpe53g
-
 $(eval $(call BuildImage))
diff --git a/target/linux/ath25/image/fon2202.mk b/target/linux/ath25/image/fon2202.mk
new file mode 100644
index 0000000000..af97ac536a
--- /dev/null
+++ b/target/linux/ath25/image/fon2202.mk
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2006-2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Device/fon2202
+  DEVICE_TITLE := Fonera 2.0g (FON2202)
+  IMAGES := kernel.lzma rootfs.bin sysupgrade.bin
+  IMAGE/kernel.lzma := elf-kernel | lzma-kernel
+  IMAGE/rootfs.bin := append-rootfs | pad-rootfs | pad-to 128k
+  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | combined-image
+  IMAGE_NAME = $$(IMAGE_PREFIX)-$$(if $$(findstring kernel,$$(2)),,$$(1)-)$$(2)
+endef
+TARGET_DEVICES += fon2202
diff --git a/target/linux/ath25/image/generic.mk b/target/linux/ath25/image/generic.mk
new file mode 100644
index 0000000000..523e217231
--- /dev/null
+++ b/target/linux/ath25/image/generic.mk
@@ -0,0 +1,73 @@
+#
+# Copyright (C) 2006-2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Build/mkfwimage
+	$(STAGING_DIR_HOST)/bin/mkfwimage \
+		-B $(1).$(VERSION_DIST).$(REVISION) \
+		-k $(IMAGE_KERNEL) \
+		-r $(IMAGE_ROOTFS) \
+		-o $@.new && \
+	mv $@.new $@
+endef
+
+define Build/mkmylofw
+	$(STAGING_DIR_HOST)/bin/mkmylofw -B $(1) \
+		-p0x020000:0x130000:ah:0x80041000:linux:$(IMAGE_KERNEL) \
+		-p0x150000:0x2a0000:::rootfs:$(IMAGE_ROOTFS) \
+		$@.new && \
+	mv $@.new $@
+endef
+
+define Build/gzip-kernel
+	gzip -9n -c $@ > $@.gz
+	dd if=$@.gz of=$@ bs=65536 conv=sync
+endef
+
+
+define Device/generic
+  DEVICE_TITLE := Generic Images
+  IMAGES := kernel.lzma kernel.elf kernel.gz rootfs.bin sysupgrade.bin
+  IMAGE/kernel.gz := elf-kernel | gzip-kernel
+  IMAGE/kernel.elf := elf-kernel
+  IMAGE/kernel.lzma := elf-kernel | lzma-kernel
+  IMAGE/rootfs.bin := append-rootfs | pad-rootfs | pad-to 128k
+  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | combined-image
+  IMAGE_NAME = $$(IMAGE_PREFIX)-$$(if $$(findstring kernel,$$(2)),,$$(1)-)$$(2)
+endef
+TARGET_DEVICES += generic
+
+define Device/ubnt2-pico2
+  DEVICE_TITLE := Ubiquiti XS2-8
+  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkfwimage XS2-8 -v XS2.ar2316
+endef
+TARGET_DEVICES += ubnt2-pico2
+
+define Device/ubnt2
+  DEVICE_TITLE := Ubiquiti XS2
+  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkfwimage XS2 -v XS2.ar2316
+endef
+TARGET_DEVICES += ubnt2
+
+define Device/ubnt5
+  DEVICE_TITLE := Ubiquiti XS5
+  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkfwimage XS5 -v XS5.ar2313
+endef
+TARGET_DEVICES += ubnt5
+
+define Device/np25g
+  DEVICE_TITLE := np25g
+  KERNEL := kernel-bin | gzip-kernel
+  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkmylofw np25g
+endef
+#TARGET_DEVICES += np25g
+
+define Device/wpe53g
+  DEVICE_TITLE := wpe53g
+  KERNEL := kernel-bin | gzip-kernel
+  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkmylofw wpe53g
+endef
+#TARGET_DEVICES += wpe53g
-- 
2.16.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/listinfo/openwrt-devel



More information about the openwrt-devel mailing list