kiddin9 il y a 1 an
Parent
commit
8322949764

+ 1 - 3
.github/workflows/Openwrt-AutoBuild.yml

@@ -69,7 +69,7 @@ jobs:
         elif [ ${{matrix.target}} == "x86_generic" ]; then
             echo "ARCH=linux/amd32" >> $GITHUB_ENV
             echo "MTARGET=x86_generic" >> $GITHUB_ENV
-        elif [[ ${{matrix.target}} =~ (armsr_armv8|ipq807x_generic|mediatek_mt7622|mediatek_mt7981|mediatek_filogic|bcm27xx_bcm2710|qualcommax_ipq60xx|bcm4908_generic|sunxi_cortexa53) ]]; then
+        elif [[ ${{matrix.target}} =~ (armsr_armv8|qualcommax_ipq807x|mediatek_mt7622|mediatek_mt7981|mediatek_filogic|bcm27xx_bcm2710|qualcommax_ipq60xx|bcm4908_generic|sunxi_cortexa53) ]]; then
             echo "MTARGET=aarch64_cortex-a53" >> $GITHUB_ENV
         elif [[ ${{matrix.target}} =~ (ramips_mt7621|ramips_mt7620|ramips_mt76x8) ]]; then
             echo "MTARGET=mipsel_24kc" >> $GITHUB_ENV
@@ -89,8 +89,6 @@ jobs:
             echo "MTARGET=arm_cortex-a15_neon-vfpv4" >> $GITHUB_ENV
         elif [[ ${{matrix.target}} == "bcm27xx_bcm2708" ]]; then
             echo "MTARGET=arm_arm1176jzf-s_vfp" >> $GITHUB_ENV
-        elif [[ ${{matrix.target}} == "kirkwood_generic" ]]; then
-            echo "MTARGET=arm_xscale" >> $GITHUB_ENV
         else
           echo "ARCH=linux/arm64" >> $GITHUB_ENV
           if [[ ${{matrix.target}} == "bcm27xx_bcm2711" ]]; then

+ 0 - 5
.github/workflows/repo-dispatcher.yml

@@ -157,11 +157,6 @@ jobs:
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
           -H "Accept: application/vnd.github.everest-preview+json" \
           -H "Authorization: token ${{ secrets.TOKEN_KIDDIN9 }}" \
-          -d '{"event_type": "kirkwood_generic ${{ github.event.inputs.param }}", "client_payload": {"target": "kirkwood_generic"}}'
-          curl \
-          -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \
-          -H "Accept: application/vnd.github.everest-preview+json" \
-          -H "Authorization: token ${{ secrets.TOKEN_KIDDIN9 }}" \
           -d '{"event_type": "ipq806x_generic ${{ github.event.inputs.param }}", "client_payload": {"target": "ipq806x_generic"}}'
           curl \
           -X POST https://api.github.com/repos/${{ github.repository }}/dispatches \

+ 0 - 18
devices/kirkwood_generic/.config

@@ -1,18 +0,0 @@
-
-CONFIG_TARGET_kirkwood=y
-CONFIG_TARGET_kirkwood_generic=y
-CONFIG_TARGET_MULTI_PROFILE=y
-
-CONFIG_TARGET_DEVICE_kirkwood_generic_DEVICE_linksys_e4200-v2=y
-CONFIG_TARGET_DEVICE_kirkwood_generic_DEVICE_linksys_ea3500=y
-CONFIG_TARGET_DEVICE_kirkwood_generic_DEVICE_linksys_ea4500=y
-CONFIG_TARGET_DEVICE_kirkwood_generic_DEVICE_netgear_readynas-duo-v2=y
-CONFIG_TARGET_DEVICE_kirkwood_generic_DEVICE_seagate_blackarmor-nas220=y
-CONFIG_TARGET_DEVICE_kirkwood_generic_DEVICE_seagate_dockstar=y
-CONFIG_TARGET_DEVICE_kirkwood_generic_DEVICE_seagate_goflexhome=y
-CONFIG_TARGET_DEVICE_kirkwood_generic_DEVICE_seagate_goflexnet=y
-
-CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
-
-
-

+ 0 - 8
devices/kirkwood_generic/diy.sh

@@ -1,8 +0,0 @@
-#!/bin/bash
-
-shopt -s extglob
-
-SHELL_FOLDER=$(dirname $(readlink -f "$0"))
-
-
-

+ 1 - 0
devices/mediatek_mt7622/.config

@@ -6,6 +6,7 @@ CONFIG_TARGET_DEVICE_mediatek_mt7622_DEVICE_xiaomi_redmi-router-ax6s=y
 CONFIG_TARGET_DEVICE_mediatek_mt7622_DEVICE_linksys_e8450=y
 CONFIG_TARGET_DEVICE_mediatek_mt7622_DEVICE_linksys_e8450-ubi=y
 CONFIG_TARGET_DEVICE_mediatek_mt7622_DEVICE_ruijie_rg-ew3200gx-pro=y
+CONFIG_TARGET_DEVICE_mediatek_mt7622_DEVICE_bananapi_bpi-r64=y
 
 CONFIG_PACKAGE_luci-ssl=y # uhttpd服务
 

+ 0 - 2
devices/rockchip_armv8/diy.sh

@@ -29,8 +29,6 @@ sed -i -e 's,kmod-r8168,kmod-r8169,g' target/linux/rockchip/image/armv8.mk
 
 sed -i 's/DEFAULT_PACKAGES +=/DEFAULT_PACKAGES += fdisk lsblk kmod-drm-rockchip/' target/linux/rockchip/Makefile
 
-sed -i 's/Ariaboard/光影猫/' target/linux/rockchip/image/armv8.mk
-
 cp -Rf $SHELL_FOLDER/diy/* ./
 
 echo '

+ 1 - 1
devices/sunxi_cortexa53/.config

@@ -8,7 +8,7 @@ CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_friendlyarm_nanopi-r1s-h5=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-one-plus=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-pc2=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-zero-plus=y
-#CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-zero2=y
+CONFIG_TARGET_DEVICE_sunxi_cortexa53_DEVICE_xunlong_orangepi-zero2=y
 
 CONFIG_PACKAGE_kmod-rtl8189es=y
 CONFIG_PACKAGE_kmod-rtl8821cu=m

+ 9 - 1
devices/sunxi_cortexa53/diy.sh

@@ -4,6 +4,14 @@ shopt -s extglob
 
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
-sed -i 's/DEFAULT_PACKAGES +=/DEFAULT_PACKAGES += fdisk lsblk/' target/linux/sunxi/Makefile
+git_clone_path master https://github.com/coolsnowwolf/lede target/linux/generic/hack-6.1
+
+rm -rf package/feeds/kiddin9/quectel_Gobinet devices/common/patches/kernel_version.patch devices/common/patches/rootfstargz.patch target/linux/generic/hack-6.1/{410-block-fit-partition-parser.patch,724-net-phy-aquantia*,720-net-phy-add-aqr-phys.patch}
+
+curl -sfL https://raw.githubusercontent.com/coolsnowwolf/lede/master/target/linux/generic/pending-6.1/613-netfilter_optional_tcp_window_check.patch -o target/linux/generic/pending-6.1/613-netfilter_optional_tcp_window_check.patch
+
+sed -i 's/DEFAULT_PACKAGES +=/DEFAULT_PACKAGES += fdisk lsblk kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8152 kmod-rtl8189es/' target/linux/sunxi/Makefile
+
+
 
 

+ 30 - 0
devices/sunxi_cortexa53/patches/kernel_version.patch

@@ -0,0 +1,30 @@
+--- a/scripts/json_overview_image_info.py
++++ b/scripts/json_overview_image_info.py
+@@ -47,7 +47,7 @@ def get_initial_output(image_info):
+ 
+ 
+ if output:
+-    default_packages, output["arch_packages"] = run(
++    default_packages, output["arch_packages"], output["kernel_version"] = run(
+         [
+             "make",
+             "--no-print-directory",
+@@ -55,6 +55,7 @@ def get_initial_output(image_info):
+             "target/linux/",
+             "val.DEFAULT_PACKAGES",
+             "val.ARCH_PACKAGES",
++            "val.LINUX_VERSION",
+             "V=s",
+         ],
+         stdout=PIPE,
+
+--- a/scripts/json_add_image_info.py
++++ b/scripts/json_add_image_info.py
+@@ -55,6 +55,7 @@ def get_titles():
+     "profiles": {
+         device_id: {
+             "image_prefix": getenv("DEVICE_IMG_PREFIX"),
++            "image_initramfs": getenv("KERNEL_INITRAMFS_IMAGE"),
+             "images": [
+                 {
+                     "type": getenv("FILE_TYPE"),

+ 0 - 11
devices/sunxi_cortexa53/patches/r1s-h5.patch

@@ -1,11 +0,0 @@
---- a/target/linux/sunxi/image/cortexa53.mk
-+++ b/target/linux/sunxi/image/cortexa53.mk
-@@ -43,7 +43,7 @@ TARGET_DEVICES += friendlyarm_nanopi-neo2
- define Device/friendlyarm_nanopi-r1s-h5
-   DEVICE_VENDOR := FriendlyARM
-   DEVICE_MODEL := Nanopi R1S H5
--  DEVICE_PACKAGES := kmod-gpio-button-hotplug kmod-usb-net-rtl8152
-+  DEVICE_PACKAGES := kmod-gpio-button-hotplug kmod-usb-net-rtl8152 kmod-rtl8189es
-   SUPPORTED_DEVICES:=nanopi-r1s-h5
-   $(Device/sun50i-h5)
- endef

+ 92 - 0
devices/sunxi_cortexa53/patches/rootfstargz.patch

@@ -0,0 +1,92 @@
+From 467ef0219a65a3dd63ce27f41e54f09bf1f2ad64 Mon Sep 17 00:00:00 2001
+From: kiddin9 <[email protected]>
+Date: Mon, 4 Mar 2024 08:01:42 +0800
+Subject: [PATCH] Update image.mk
+
+Signed-off-by: kiddin9 <[email protected]>
+---
+ include/image.mk | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+
+diff --git a/include/image.mk b/include/image.mk
+index 4b6acbe1aad6a..f307dea1ca9a3 100644
+--- a/include/image.mk
++++ b/include/image.mk
+@@ -313,6 +313,44 @@ ifdef CONFIG_TARGET_ROOTFS_TARGZ
+   endef
+ endif
+ 
++define Device/Build/targz
++  $$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
++	  $(BUILD_DIR)/json_info_files/$$(ROOTFSTZ).json, \
++	  $(BIN_DIR)/$$(ROOTFSTZ))
++
++  $(call Device/Export,$(BUILD_DIR)/json_info_files/$$(ROOTFSTZ).json,$(1))
++
++  $(BUILD_DIR)/json_info_files/$$(ROOTFSTZ).json: $(BIN_DIR)/$$(ROOTFSTZ)
++	@mkdir -p $$(shell dirname $$@)
++	DEVICE_ID="$(1)" \
++	SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \
++	FILE_NAME="$$(notdir $$^)" \
++	FILE_DIR="$(BIN_DIR)" \
++	FILE_TYPE="rootfs" \
++	FILE_FILESYSTEM="rootfs" \
++	DEVICE_IMG_PREFIX="$$(DEVICE_IMG_PREFIX)" \
++	DEVICE_VENDOR="$$(DEVICE_VENDOR)" \
++	DEVICE_MODEL="$$(DEVICE_MODEL)" \
++	DEVICE_VARIANT="$$(DEVICE_VARIANT)" \
++	DEVICE_ALT0_VENDOR="$$(DEVICE_ALT0_VENDOR)" \
++	DEVICE_ALT0_MODEL="$$(DEVICE_ALT0_MODEL)" \
++	DEVICE_ALT0_VARIANT="$$(DEVICE_ALT0_VARIANT)" \
++	DEVICE_ALT1_VENDOR="$$(DEVICE_ALT1_VENDOR)" \
++	DEVICE_ALT1_MODEL="$$(DEVICE_ALT1_MODEL)" \
++	DEVICE_ALT1_VARIANT="$$(DEVICE_ALT1_VARIANT)" \
++	DEVICE_ALT2_VENDOR="$$(DEVICE_ALT2_VENDOR)" \
++	DEVICE_ALT2_MODEL="$$(DEVICE_ALT2_MODEL)" \
++	DEVICE_ALT2_VARIANT="$$(DEVICE_ALT2_VARIANT)" \
++	DEVICE_TITLE="$$(DEVICE_TITLE)" \
++	DEVICE_PACKAGES="$$(DEVICE_PACKAGES)" \
++	TARGET="$(BOARD)" \
++	SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \
++	VERSION_NUMBER="$(VERSION_NUMBER)" \
++	VERSION_CODE="$(VERSION_CODE)" \
++	SUPPORTED_DEVICES="$$(SUPPORTED_DEVICES)" \
++	$(TOPDIR)/scripts/json_add_image_info.py $$@
++endef
++
+ ifdef CONFIG_TARGET_ROOTFS_CPIOGZ
+   define Image/Build/cpiogz
+ 	( cd $(TARGET_DIR); find . | $(STAGING_DIR_HOST)/bin/cpio -o -H newc -R 0:0 | gzip -9n >$(BIN_DIR)/$(IMG_ROOTFS).cpio.gz )
+@@ -394,6 +432,7 @@ define Device/Init
+   FACTORY_IMG_NAME :=
+   IMAGE_SIZE :=
+   NAND_SIZE :=
++  ROOTFSTZ = $$(DEVICE_IMG_PREFIX)-rootfs.tar.gz
+   KERNEL_PREFIX = $$(DEVICE_IMG_PREFIX)
+   KERNEL_SUFFIX := -kernel.bin
+   KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX)
+@@ -631,6 +670,7 @@ endef
+ 
+ define Device/Build/image
+   GZ_SUFFIX := $(if $(filter %dtb %gz,$(2)),,$(if $(and $(findstring ext4,$(1)),$(CONFIG_TARGET_IMAGES_GZIP)),.gz))
++  GZ_SUFFIX := $(if $(filter %dtb %gz,$(2)),,$(if $(and $(findstring ext4,$(1)),$(findstring img,$(2)),$(CONFIG_TARGET_IMAGES_GZIP)),.gz))
+   $$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
+ 	  $(BUILD_DIR)/json_info_files/$(call DEVICE_IMG_NAME,$(1),$(2)).json, \
+ 	  $(BIN_DIR)/$(call DEVICE_IMG_NAME,$(1),$(2))$$(GZ_SUFFIX))
+@@ -667,6 +707,7 @@ define Device/Build/image
+ 	FILE_DIR="$(KDIR)/tmp" \
+ 	FILE_TYPE=$(word 1,$(subst ., ,$(2))) \
+ 	FILE_FILESYSTEM="$(1)" \
++	KERNEL_INITRAMFS_IMAGE="$(subst $(IMG_PREFIX_EXTRA),,$(KERNEL_INITRAMFS_IMAGE))" \
+ 	DEVICE_IMG_PREFIX="$(DEVICE_IMG_PREFIX)" \
+ 	DEVICE_VENDOR="$(DEVICE_VENDOR)" \
+ 	DEVICE_MODEL="$(DEVICE_MODEL)" \
+@@ -758,6 +799,8 @@ define Device/Build
+   $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1)))
+   $(call Device/Build/kernel,$(1))
+ 
++  $(if $(CONFIG_TARGET_ROOTFS_TARGZ),$(call Device/Build/targz,$(PROFILE_SANITIZED)))
++
+   $$(eval $$(foreach compile,$$(COMPILE), \
+     $$(call Device/Build/compile,$$(compile),$(1))))
+ 

+ 2 - 0
devices/sunxi_cortexa53/settings.ini

@@ -0,0 +1,2 @@
+REPO_URL="https://github.com/openwrt/openwrt"
+REPO_BRANCH="main"

+ 5 - 0
devices/sunxi_cortexa7/.config

@@ -14,6 +14,11 @@ CONFIG_TARGET_DEVICE_sunxi_cortexa7_DEVICE_xunlong_orangepi-pc-plus=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa7_DEVICE_xunlong_orangepi-plus=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa7_DEVICE_xunlong_orangepi-r1=y
 CONFIG_TARGET_DEVICE_sunxi_cortexa7_DEVICE_xunlong_orangepi-zero=y
+CONFIG_TARGET_DEVICE_sunxi_cortexa7_DEVICE_sinovoip_bananapi-p2-zero=y
+CONFIG_TARGET_DEVICE_sunxi_cortexa7_DEVICE_sinovoip_bananapi-m3=y
+CONFIG_TARGET_DEVICE_sunxi_cortexa7_DEVICE_sinovoip_bananapi-m2-berry=y
+CONFIG_TARGET_DEVICE_sunxi_cortexa7_DEVICE_sinovoip_bananapi-m2-ultra=y
+CONFIG_TARGET_DEVICE_sunxi_cortexa7_DEVICE_mele_m9=y
 
 CONFIG_PACKAGE_kmod-rtl8189es=y
 CONFIG_PACKAGE_kmod-rtl8821cu=m

+ 6 - 0
devices/sunxi_cortexa7/diy.sh

@@ -4,8 +4,14 @@ shopt -s extglob
 
 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
 
+git_clone_path master https://github.com/coolsnowwolf/lede target/linux/generic/hack-6.1
 
+rm -rf package/feeds/kiddin9/quectel_Gobinet devices/common/patches/kernel_version.patch devices/common/patches/rootfstargz.patch target/linux/generic/hack-6.1/{410-block-fit-partition-parser.patch,724-net-phy-aquantia*,720-net-phy-add-aqr-phys.patch}
+
+curl -sfL https://raw.githubusercontent.com/coolsnowwolf/lede/master/target/linux/generic/pending-6.1/613-netfilter_optional_tcp_window_check.patch -o target/linux/generic/pending-6.1/613-netfilter_optional_tcp_window_check.patch
 
 sed -i 's/DEFAULT_PACKAGES +=/DEFAULT_PACKAGES += fdisk lsblk kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8152 kmod-rtl8189es/' target/linux/sunxi/Makefile
 
 
+
+

+ 30 - 0
devices/sunxi_cortexa7/patches/kernel_version.patch

@@ -0,0 +1,30 @@
+--- a/scripts/json_overview_image_info.py
++++ b/scripts/json_overview_image_info.py
+@@ -47,7 +47,7 @@ def get_initial_output(image_info):
+ 
+ 
+ if output:
+-    default_packages, output["arch_packages"] = run(
++    default_packages, output["arch_packages"], output["kernel_version"] = run(
+         [
+             "make",
+             "--no-print-directory",
+@@ -55,6 +55,7 @@ def get_initial_output(image_info):
+             "target/linux/",
+             "val.DEFAULT_PACKAGES",
+             "val.ARCH_PACKAGES",
++            "val.LINUX_VERSION",
+             "V=s",
+         ],
+         stdout=PIPE,
+
+--- a/scripts/json_add_image_info.py
++++ b/scripts/json_add_image_info.py
+@@ -55,6 +55,7 @@ def get_titles():
+     "profiles": {
+         device_id: {
+             "image_prefix": getenv("DEVICE_IMG_PREFIX"),
++            "image_initramfs": getenv("KERNEL_INITRAMFS_IMAGE"),
+             "images": [
+                 {
+                     "type": getenv("FILE_TYPE"),

+ 92 - 0
devices/sunxi_cortexa7/patches/rootfstargz.patch

@@ -0,0 +1,92 @@
+From 467ef0219a65a3dd63ce27f41e54f09bf1f2ad64 Mon Sep 17 00:00:00 2001
+From: kiddin9 <[email protected]>
+Date: Mon, 4 Mar 2024 08:01:42 +0800
+Subject: [PATCH] Update image.mk
+
+Signed-off-by: kiddin9 <[email protected]>
+---
+ include/image.mk | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+
+diff --git a/include/image.mk b/include/image.mk
+index 4b6acbe1aad6a..f307dea1ca9a3 100644
+--- a/include/image.mk
++++ b/include/image.mk
+@@ -313,6 +313,44 @@ ifdef CONFIG_TARGET_ROOTFS_TARGZ
+   endef
+ endif
+ 
++define Device/Build/targz
++  $$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
++	  $(BUILD_DIR)/json_info_files/$$(ROOTFSTZ).json, \
++	  $(BIN_DIR)/$$(ROOTFSTZ))
++
++  $(call Device/Export,$(BUILD_DIR)/json_info_files/$$(ROOTFSTZ).json,$(1))
++
++  $(BUILD_DIR)/json_info_files/$$(ROOTFSTZ).json: $(BIN_DIR)/$$(ROOTFSTZ)
++	@mkdir -p $$(shell dirname $$@)
++	DEVICE_ID="$(1)" \
++	SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \
++	FILE_NAME="$$(notdir $$^)" \
++	FILE_DIR="$(BIN_DIR)" \
++	FILE_TYPE="rootfs" \
++	FILE_FILESYSTEM="rootfs" \
++	DEVICE_IMG_PREFIX="$$(DEVICE_IMG_PREFIX)" \
++	DEVICE_VENDOR="$$(DEVICE_VENDOR)" \
++	DEVICE_MODEL="$$(DEVICE_MODEL)" \
++	DEVICE_VARIANT="$$(DEVICE_VARIANT)" \
++	DEVICE_ALT0_VENDOR="$$(DEVICE_ALT0_VENDOR)" \
++	DEVICE_ALT0_MODEL="$$(DEVICE_ALT0_MODEL)" \
++	DEVICE_ALT0_VARIANT="$$(DEVICE_ALT0_VARIANT)" \
++	DEVICE_ALT1_VENDOR="$$(DEVICE_ALT1_VENDOR)" \
++	DEVICE_ALT1_MODEL="$$(DEVICE_ALT1_MODEL)" \
++	DEVICE_ALT1_VARIANT="$$(DEVICE_ALT1_VARIANT)" \
++	DEVICE_ALT2_VENDOR="$$(DEVICE_ALT2_VENDOR)" \
++	DEVICE_ALT2_MODEL="$$(DEVICE_ALT2_MODEL)" \
++	DEVICE_ALT2_VARIANT="$$(DEVICE_ALT2_VARIANT)" \
++	DEVICE_TITLE="$$(DEVICE_TITLE)" \
++	DEVICE_PACKAGES="$$(DEVICE_PACKAGES)" \
++	TARGET="$(BOARD)" \
++	SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \
++	VERSION_NUMBER="$(VERSION_NUMBER)" \
++	VERSION_CODE="$(VERSION_CODE)" \
++	SUPPORTED_DEVICES="$$(SUPPORTED_DEVICES)" \
++	$(TOPDIR)/scripts/json_add_image_info.py $$@
++endef
++
+ ifdef CONFIG_TARGET_ROOTFS_CPIOGZ
+   define Image/Build/cpiogz
+ 	( cd $(TARGET_DIR); find . | $(STAGING_DIR_HOST)/bin/cpio -o -H newc -R 0:0 | gzip -9n >$(BIN_DIR)/$(IMG_ROOTFS).cpio.gz )
+@@ -394,6 +432,7 @@ define Device/Init
+   FACTORY_IMG_NAME :=
+   IMAGE_SIZE :=
+   NAND_SIZE :=
++  ROOTFSTZ = $$(DEVICE_IMG_PREFIX)-rootfs.tar.gz
+   KERNEL_PREFIX = $$(DEVICE_IMG_PREFIX)
+   KERNEL_SUFFIX := -kernel.bin
+   KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX)
+@@ -631,6 +670,7 @@ endef
+ 
+ define Device/Build/image
+   GZ_SUFFIX := $(if $(filter %dtb %gz,$(2)),,$(if $(and $(findstring ext4,$(1)),$(CONFIG_TARGET_IMAGES_GZIP)),.gz))
++  GZ_SUFFIX := $(if $(filter %dtb %gz,$(2)),,$(if $(and $(findstring ext4,$(1)),$(findstring img,$(2)),$(CONFIG_TARGET_IMAGES_GZIP)),.gz))
+   $$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
+ 	  $(BUILD_DIR)/json_info_files/$(call DEVICE_IMG_NAME,$(1),$(2)).json, \
+ 	  $(BIN_DIR)/$(call DEVICE_IMG_NAME,$(1),$(2))$$(GZ_SUFFIX))
+@@ -667,6 +707,7 @@ define Device/Build/image
+ 	FILE_DIR="$(KDIR)/tmp" \
+ 	FILE_TYPE=$(word 1,$(subst ., ,$(2))) \
+ 	FILE_FILESYSTEM="$(1)" \
++	KERNEL_INITRAMFS_IMAGE="$(subst $(IMG_PREFIX_EXTRA),,$(KERNEL_INITRAMFS_IMAGE))" \
+ 	DEVICE_IMG_PREFIX="$(DEVICE_IMG_PREFIX)" \
+ 	DEVICE_VENDOR="$(DEVICE_VENDOR)" \
+ 	DEVICE_MODEL="$(DEVICE_MODEL)" \
+@@ -758,6 +799,8 @@ define Device/Build
+   $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1)))
+   $(call Device/Build/kernel,$(1))
+ 
++  $(if $(CONFIG_TARGET_ROOTFS_TARGZ),$(call Device/Build/targz,$(PROFILE_SANITIZED)))
++
+   $$(eval $$(foreach compile,$$(COMPILE), \
+     $$(call Device/Build/compile,$$(compile),$(1))))
+ 

+ 2 - 0
devices/sunxi_cortexa7/settings.ini

@@ -0,0 +1,2 @@
+REPO_URL="https://github.com/openwrt/openwrt"
+REPO_BRANCH="main"