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@gmail.com>
Tested-by: Nicolas TORMO <badulesia.granieri@gmail.com> # MR8300
Tested-by: Tony Ambardar <itugrok@yahoo.com> # EA6350v3
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
This commit is contained in:
Tony Ambardar 2022-11-30 20:10:59 -08:00
parent af3c9b74e1
commit cda6f1c832
4 changed files with 38 additions and 23 deletions

View File

@ -1,6 +1,9 @@
. /lib/functions.sh . /lib/functions.sh
case "$(board_name)" in case "$(board_name)" in
linksys,ea6350v3|\
linksys,ea8300|\
linksys,mr8300|\
ezviz,cs-w3-wd1200g-eup) ezviz,cs-w3-wd1200g-eup)
uci set system.@system[0].compat_version="2.0" uci set system.@system[0].compat_version="2.0"
uci commit system uci commit system

View File

@ -269,17 +269,17 @@
label = "kernel"; label = "kernel";
reg = <0x00000000 0x02800000>; reg = <0x00000000 0x02800000>;
}; };
rootfs@300000 { rootfs@500000 {
label = "rootfs"; label = "rootfs";
reg = <0x00300000 0x02500000>; reg = <0x00500000 0x02300000>;
}; };
alt_kernel@2800000 { alt_kernel@2800000 {
label = "alt_kernel"; label = "alt_kernel";
reg = <0x02800000 0x02800000>; reg = <0x02800000 0x02800000>;
}; };
alt_rootfs@2b00000 { alt_rootfs@2d00000 {
label = "alt_rootfs"; label = "alt_rootfs";
reg = <0x02b00000 0x02500000>; reg = <0x02d00000 0x02300000>;
}; };
sysdiag@5000000 { sysdiag@5000000 {
label = "sysdiag"; label = "sysdiag";

View File

@ -195,9 +195,9 @@
reg = <0x780000 0x5800000>; reg = <0x780000 0x5800000>;
}; };
partition@a80000 { partition@c80000 {
label = "rootfs"; label = "rootfs";
reg = <0xa80000 0x5500000>; reg = <0xc80000 0x5300000>;
}; };
partition@5f80000 { partition@5f80000 {
@ -205,9 +205,9 @@
reg = <0x5f80000 0x5800000>; reg = <0x5f80000 0x5800000>;
}; };
partition@6280000 { partition@6480000 {
label = "alt_rootfs"; label = "alt_rootfs";
reg = <0x6280000 0x5500000>; reg = <0x6480000 0x5300000>;
}; };
partition@b780000 { partition@b780000 {

View File

@ -637,74 +637,86 @@ endef
# Missing DSA Setup # Missing DSA Setup
#TARGET_DEVICES += glinet_gl-s1300 #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 define Device/linksys_ea6350v3
# The Linksys EA6350v3 has a uboot bootloader that does not # The Linksys EA6350v3 has a uboot bootloader that does not
# support either booting lzma kernel images nor booting UBI # support either booting lzma kernel images nor booting UBI
# partitions. This uboot, however, supports raw kernel images and # partitions. This uboot, however, supports raw kernel images and
# gzipped images. # gzipped images.
# #
# As for the time of writing this, the device will boot the kernel # As configured by the OEM factory, the device will boot the kernel
# from a fixed address with a fixed length of 3MiB. Also, the # from a fixed address with a fixed length of 3 MiB. Also, the
# device has a hard-coded kernel command line that requieres the # device has a hard-coded kernel command line that requires the
# rootfs and alt_rootfs to be in mtd11 and mtd13 respectively. # rootfs and alt_rootfs to be in mtd11 and mtd13 respectively.
# Oh... and the kernel partition overlaps with the rootfs # Oh... and the kernel partition overlaps with the rootfs
# partition (the same for alt_kernel and alt_rootfs). # partition (the same for alt_kernel and alt_rootfs).
# #
# If you are planing re-partitioning the device, you may want to # If you are planing re-partitioning the device, you may want to
# keep those details in mind: # keep these details in mind:
# 1. The kernel adresses you should honor are 0x00000000 and # 1. The kernel addresses you should honor are 0x00000000 and
# 0x02800000 respectively. # 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. # 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 # 4. The kernel command line from uboot is harcoded to boot with
# rootfs either in mtd11 or mtd13. # rootfs either in mtd11 or mtd13.
$(call Device/FitzImage) $(call Device/FitzImage)
$(call Device/kernel-size-6350-8300)
DEVICE_VENDOR := Linksys DEVICE_VENDOR := Linksys
DEVICE_MODEL := EA6350 DEVICE_MODEL := EA6350
DEVICE_VARIANT := v3 DEVICE_VARIANT := v3
SOC := qcom-ipq4018 SOC := qcom-ipq4018
BLOCKSIZE := 128k BLOCKSIZE := 128k
PAGESIZE := 2048 PAGESIZE := 2048
KERNEL_SIZE := 3072k KERNEL_SIZE := 5120k
IMAGE_SIZE := 37888k IMAGE_SIZE := 35840k
UBINIZE_OPTS := -E 5 UBINIZE_OPTS := -E 5
IMAGES += factory.bin IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA6350v3 IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA6350v3
DEFAULT := n
endef endef
TARGET_DEVICES += linksys_ea6350v3 TARGET_DEVICES += linksys_ea6350v3
define Device/linksys_ea8300 define Device/linksys_ea8300
$(call Device/FitzImage) $(call Device/FitzImage)
$(call Device/kernel-size-6350-8300)
DEVICE_VENDOR := Linksys DEVICE_VENDOR := Linksys
DEVICE_MODEL := EA8300 DEVICE_MODEL := EA8300
SOC := qcom-ipq4019 SOC := qcom-ipq4019
KERNEL_SIZE := 3072k KERNEL_SIZE := 5120k
IMAGE_SIZE := 87040k IMAGE_SIZE := 84992k
BLOCKSIZE := 128k BLOCKSIZE := 128k
PAGESIZE := 2048 PAGESIZE := 2048
UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
IMAGES += factory.bin IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=EA8300 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 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct ipq-wifi-linksys_ea8300 kmod-usb-ledtrig-usbport
DEFAULT := n
endef endef
TARGET_DEVICES += linksys_ea8300 TARGET_DEVICES += linksys_ea8300
define Device/linksys_mr8300 define Device/linksys_mr8300
$(call Device/FitzImage) $(call Device/FitzImage)
$(call Device/kernel-size-6350-8300)
DEVICE_VENDOR := Linksys DEVICE_VENDOR := Linksys
DEVICE_MODEL := MR8300 DEVICE_MODEL := MR8300
SOC := qcom-ipq4019 SOC := qcom-ipq4019
KERNEL_SIZE := 3072k KERNEL_SIZE := 5120k
IMAGE_SIZE := 87040k IMAGE_SIZE := 84992k
BLOCKSIZE := 128k BLOCKSIZE := 128k
PAGESIZE := 2048 PAGESIZE := 2048
UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF UBINIZE_OPTS := -E 5 # EOD marks to "hide" factory sig at EOF
IMAGES += factory.bin IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | linksys-image type=MR8300 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 DEVICE_PACKAGES := ath10k-firmware-qca9888-ct kmod-usb-ledtrig-usbport
DEFAULT := n
endef endef
TARGET_DEVICES += linksys_mr8300 TARGET_DEVICES += linksys_mr8300