aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtarget/linux/mediatek/image/gen_mt7623_emmc_img.sh22
-rw-r--r--target/linux/mediatek/mt7623/config-4.141
-rw-r--r--target/linux/mediatek/patches-4.14/0227-arm-dts-Add-Unielec-U7623-DTS.patch2
3 files changed, 19 insertions, 6 deletions
diff --git a/target/linux/mediatek/image/gen_mt7623_emmc_img.sh b/target/linux/mediatek/image/gen_mt7623_emmc_img.sh
index 1cb0883fb0..5b3aa175c8 100755
--- a/target/linux/mediatek/image/gen_mt7623_emmc_img.sh
+++ b/target/linux/mediatek/image/gen_mt7623_emmc_img.sh
@@ -1,5 +1,8 @@
#!/usr/bin/env bash
-
+#
+# This script is used only to create the "legacy" image for UniElec U7623,
+# suitable for upgrading from the vendor OpenWrt or from OpenWrt 19.07.
+#
OUTPUT_FILE=$1
KERNEL_FILE=$2
RECOVERY_FILE=$3
@@ -7,10 +10,19 @@ ROOTFS_FILE=$4
BS=512
-#These to offsets are relative to the absolute location of the kernel on the mmc
-#(0xA00), so their position in the image is -2560 blocks
-RECOVERY_OFFSET=67072
-ROOTFS_OFFSET=87552
+# These two offsets are relative to the absolute location of the kernel on the mmc
+# (0xA00), so their position in the image is -2560 blocks
+#
+# They must be kept in sync with the default command line for U7623.
+# blkdevparts=mmcblk0:3M@6M(recovery),256M@9M(root)"
+#
+# For upgrading from the vendor firmware, the total image must fit in its
+# MTD 'firmware' partition, which is typically 36MiB.
+
+# In the legacy image, the uImage starts at block 0xa00. Allow 4864 KiB (9728) blocks.
+RECOVERY_OFFSET=9728
+# The recovery image is 3MiB, or 6144 blocks.
+ROOTFS_OFFSET=15872
dd bs="$BS" of="$OUTPUT_FILE" if="$KERNEL_FILE"
dd bs="$BS" of="$OUTPUT_FILE" if="$RECOVERY_FILE" seek="$RECOVERY_OFFSET"
diff --git a/target/linux/mediatek/mt7623/config-4.14 b/target/linux/mediatek/mt7623/config-4.14
index 35c738a940..c2133d026f 100644
--- a/target/linux/mediatek/mt7623/config-4.14
+++ b/target/linux/mediatek/mt7623/config-4.14
@@ -64,6 +64,7 @@ CONFIG_CLKSRC_MMIO=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_CMDLINE="earlyprintk console=ttyS0,115200 rootfstype=squashfs,jffs2"
CONFIG_CMDLINE_FROM_BOOTLOADER=y
+CONFIG_CMDLINE_PARTITION=y
CONFIG_COMMON_CLK=y
CONFIG_COMMON_CLK_MEDIATEK=y
CONFIG_COMMON_CLK_MT2701=y
diff --git a/target/linux/mediatek/patches-4.14/0227-arm-dts-Add-Unielec-U7623-DTS.patch b/target/linux/mediatek/patches-4.14/0227-arm-dts-Add-Unielec-U7623-DTS.patch
index f0aa1fdbfb..d2b5b1ee7e 100644
--- a/target/linux/mediatek/patches-4.14/0227-arm-dts-Add-Unielec-U7623-DTS.patch
+++ b/target/linux/mediatek/patches-4.14/0227-arm-dts-Add-Unielec-U7623-DTS.patch
@@ -63,7 +63,7 @@ Subject: [PATCH] arm: dts: Add Unielec U7623 DTS
+ };
+
+ chosen {
-+ bootargs = "root=/dev/mmcblk0p2 rootfstype=squashfs,f2fs console=ttyS0,115200";
++ bootargs = "root=/dev/mmcblk0p2 rootfstype=squashfs,f2fs console=ttyS0,115200 blkdevparts=mmcblk0:3M@6M(recovery),256M@9M(root)";
+ stdout-path = "serial2:115200n8";
+ };
+