[openwrt/openwrt] ipq40xx: re-enable EA6350v3, EA8300, MR8300 builds

LEDE Commits lede-commits at lists.infradead.org
Sat Dec 31 09:57:30 PST 2022


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/cda6f1c832f96bd24e5398e156a0e8d639c691a0

commit cda6f1c832f96bd24e5398e156a0e8d639c691a0
Author: Tony Ambardar <itugrok at yahoo.com>
AuthorDate: Wed Nov 30 20:10:59 2022 -0800

    ipq40xx: re-enable EA6350v3, EA8300, MR8300 builds
    
    Raise the kernel size from 3 MB to 5 MB for EA6350v3, EA8300 and MR8300,
    and correspondingly reduce the rootfs size by 2 MB:
      * modify partition definitions in related .dts files
      * modify device kernel/image sizes in generic.mk
    
    Update to compat-version 2.0 to force factory image usage on sysupgrade,
    noting the current version 1.1 is an unreleased update for DSA migration.
    
    Also update the compat-version message, explaining the need to run one of
    the following console commands to update U-Boot's kernel-size variable
    before flashing the OpenWrt factory image.
    
        fw_setenv kernsize 500000          # (OpenWrt command line)
    
        setenv kernsize 500000 ; saveenv   # (U-Boot serial console)
    
    Finally, re-enable the 3 devices.
    
    Reviewed-by: Robert Marko <robimarko at gmail.com>
    Tested-by: Nicolas TORMO <badulesia.granieri at gmail.com> # MR8300
    Tested-by: Tony Ambardar <itugrok at yahoo.com> # EA6350v3
    Signed-off-by: Tony Ambardar <itugrok at yahoo.com>
---
 .../etc/uci-defaults/05_fix-compat-version         |  3 ++
 .../arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts    |  8 ++---
 .../arch/arm/boot/dts/qcom-ipq4019-xx8300.dtsi     |  8 ++---
 target/linux/ipq40xx/image/generic.mk              | 42 ++++++++++++++--------
 4 files changed, 38 insertions(+), 23 deletions(-)

diff --git a/target/linux/ipq40xx/base-files/etc/uci-defaults/05_fix-compat-version b/target/linux/ipq40xx/base-files/etc/uci-defaults/05_fix-compat-version
index 44873b9df4..c011920897 100644
--- a/target/linux/ipq40xx/base-files/etc/uci-defaults/05_fix-compat-version
+++ b/target/linux/ipq40xx/base-files/etc/uci-defaults/05_fix-compat-version
@@ -1,6 +1,9 @@
 . /lib/functions.sh
 
 case "$(board_name)" in
+linksys,ea6350v3|\
+linksys,ea8300|\
+linksys,mr8300|\
 ezviz,cs-w3-wd1200g-eup)
 	uci set system. at system[0].compat_version="2.0"
 	uci commit system
diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts
index 75b556a7f9..cd5b4c6ccc 100644
--- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts
+++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts
@@ -269,17 +269,17 @@
 				label = "kernel";
 				reg = <0x00000000 0x02800000>;
 			};
-			rootfs at 300000 {
+			rootfs at 500000 {
 				label = "rootfs";
-				reg = <0x00300000 0x02500000>;
+				reg = <0x00500000 0x02300000>;
 			};
 			alt_kernel at 2800000 {
 				label = "alt_kernel";
 				reg = <0x02800000 0x02800000>;
 			};
-			alt_rootfs at 2b00000 {
+			alt_rootfs at 2d00000 {
 				label = "alt_rootfs";
-				reg = <0x02b00000 0x02500000>;
+				reg = <0x02d00000 0x02300000>;
 			};
 			sysdiag at 5000000 {
 				label = "sysdiag";
diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-xx8300.dtsi b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-xx8300.dtsi
index 4f2cf1f516..51a37290a0 100644
--- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-xx8300.dtsi
+++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-xx8300.dtsi
@@ -195,9 +195,9 @@
 				reg = <0x780000 0x5800000>;
 			};
 
-			partition at a80000 {
+			partition at c80000 {
 				label = "rootfs";
-				reg = <0xa80000 0x5500000>;
+				reg = <0xc80000 0x5300000>;
 			};
 
 			partition at 5f80000 {
@@ -205,9 +205,9 @@
 				reg = <0x5f80000 0x5800000>;
 			};
 
-			partition at 6280000 {
+			partition at 6480000 {
 				label = "alt_rootfs";
-				reg = <0x6280000 0x5500000>;
+				reg = <0x6480000 0x5300000>;
 			};
 
 			partition at b780000 {
diff --git a/target/linux/ipq40xx/image/generic.mk b/target/linux/ipq40xx/image/generic.mk
index 5dae52ff0e..e17db37d82 100644
--- a/target/linux/ipq40xx/image/generic.mk
+++ b/target/linux/ipq40xx/image/generic.mk
@@ -637,74 +637,86 @@ endef
 # Missing DSA Setup
 #TARGET_DEVICES += glinet_gl-s1300
 
+define Device/kernel-size-6350-8300
+	DEVICE_COMPAT_VERSION := 2.0
+	DEVICE_COMPAT_MESSAGE := Kernel partition size must be increased for \
+	this OpenWrt version. Before continuing, you MUST issue either the \
+	command "fw_setenv kernsize 500000" from the OpenWrt command line, \
+	or "setenv kernsize 500000 ; saveenv" from the U-Boot serial console. \
+	Instead of the sysupgrade image, you must then install the OpenWrt \
+	factory image, setting the force flag and wiping the configuration. \
+	(e.g. "sysupgrade -n -F openwrt-squashfs-factory.bin" on command line)
+endef
+
 define Device/linksys_ea6350v3
 	# The Linksys EA6350v3 has a uboot bootloader that does not
 	# support either booting lzma kernel images nor booting UBI
 	# partitions. This uboot, however, supports raw kernel images and
 	# gzipped images.
 	#
-	# As for the time of writing this, the device will boot the kernel
-	# from a fixed address with a fixed length of 3MiB. Also, the
-	# device has a hard-coded kernel command line that requieres the
+	# As configured by the OEM factory, the device will boot the kernel
+	# from a fixed address with a fixed length of 3 MiB. Also, the
+	# device has a hard-coded kernel command line that requires the
 	# rootfs and alt_rootfs to be in mtd11 and mtd13 respectively.
 	# Oh... and the kernel partition overlaps with the rootfs
 	# partition (the same for alt_kernel and alt_rootfs).
 	#
 	# If you are planing re-partitioning the device, you may want to
-	# keep those details in mind:
-	# 1. The kernel adresses you should honor are 0x00000000 and
+	# keep these details in mind:
+	# 1. The kernel addresses you should honor are 0x00000000 and
 	#    0x02800000 respectively.
-	# 2. The kernel size (plus the dtb) cannot exceed 3.00MiB in size.
+	# 2. The kernel size (plus the dtb) cannot exceed 3 MiB in size
+	#    unless the uboot environment variable "kernsize" is increased.
 	# 3. You can use 'zImage', but not a raw 'Image' packed with lzma.
 	# 4. The kernel command line from uboot is harcoded to boot with
 	#    rootfs either in mtd11 or mtd13.
 	$(call Device/FitzImage)
+	$(call Device/kernel-size-6350-8300)
 	DEVICE_VENDOR := Linksys
 	DEVICE_MODEL := EA6350
 	DEVICE_VARIANT := v3
 	SOC := qcom-ipq4018
 	BLOCKSIZE := 128k
 	PAGESIZE := 2048
-	KERNEL_SIZE := 3072k
-	IMAGE_SIZE := 37888k
+	KERNEL_SIZE := 5120k
+	IMAGE_SIZE := 35840k
 	UBINIZE_OPTS := -E 5
 	IMAGES += factory.bin
 	IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA6350v3
-	DEFAULT := n
 endef
 TARGET_DEVICES += linksys_ea6350v3
 
 define Device/linksys_ea8300
 	$(call Device/FitzImage)
+	$(call Device/kernel-size-6350-8300)
 	DEVICE_VENDOR := Linksys
 	DEVICE_MODEL := EA8300
 	SOC := qcom-ipq4019
-	KERNEL_SIZE := 3072k
-	IMAGE_SIZE := 87040k
+	KERNEL_SIZE := 5120k
+	IMAGE_SIZE := 84992k
 	BLOCKSIZE := 128k
 	PAGESIZE := 2048
 	UBINIZE_OPTS := -E 5    # EOD marks to "hide" factory sig at EOF
 	IMAGES += factory.bin
 	IMAGE/factory.bin  := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA8300
 	DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-linksys_ea8300 kmod-usb-ledtrig-usbport
-	DEFAULT := n
 endef
 TARGET_DEVICES += linksys_ea8300
 
 define Device/linksys_mr8300
 	$(call Device/FitzImage)
+	$(call Device/kernel-size-6350-8300)
 	DEVICE_VENDOR := Linksys
 	DEVICE_MODEL := MR8300
 	SOC := qcom-ipq4019
-	KERNEL_SIZE := 3072k
-	IMAGE_SIZE := 87040k
+	KERNEL_SIZE := 5120k
+	IMAGE_SIZE := 84992k
 	BLOCKSIZE := 128k
 	PAGESIZE := 2048
 	UBINIZE_OPTS := -E 5    # EOD marks to "hide" factory sig at EOF
 	IMAGES += factory.bin
 	IMAGE/factory.bin  := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=MR8300
 	DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-usb-ledtrig-usbport
-	DEFAULT := n
 endef
 TARGET_DEVICES += linksys_mr8300
 




More information about the lede-commits mailing list