immortalwrt/target/linux
David Woodhouse 6eb63019af mediatek: mt7623: fix sysupgrade from vendor OpenWrt on UniElec U7623
This board ships with an ancient 14.07-based OpenWrt using block2mtd, and
the MBR partition table contains nonsense.

It is possible to sysupgrade to an upstream OpenWrt image, but the
legacy layout of the OpenWrt images start at 0xA00 in the eMMC, with
a raw uImage. The legacy OpenWrt image doesn't "own" the beginning
of the device, including the MBR and U-Boot.

This means that when a user upgrades to upstream OpenWrt, it doesn't
boot because it can't find the right partitions. So hard-code them on
the kernel's command line using CONFIG_CMDLINE_PARTITION (for block).

Additionally, the vendor firmware doesn't cope with images larger than
about 36MiB, because it only overwrites the contents of its "firmware"
MTD partition. The current layout of the legacy image wastes a lot of
space, allowing over 32MiB for the kernel and another 10MiB for the FAT
recovery file system which is only created as 3MiB. So pull those in
to allow 4¾ MiB for the kernel, 3MiB for recovery, and then we have over
20MiB for the root file system.

This doesn't affect the new images which ship with a full eMMC image
including a different MBR layout and a partition for U-Boot, because
our modern U-Boot can actually pass the command line to the kernel, and
the built-in one doesn't get used anyway.

Tested by upgrading from vendor OpenWrt to the current legacy image,
from legacy to itself, to the previous legacy layout, and then to
finally the full-system image.

This commit probably wants backporting to 19.07, which also doesn't
install over the vendor OpenWrt and doesn't even have a full-system
installation option.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2020-07-26 16:42:35 +08:00
..
apm821xx apm821xx: derive DEVICE_DTS from device name 2020-07-21 11:56:35 +02:00
ar71xx ar71xx: Fix mikrotik NAND compile problem 2020-07-07 23:38:10 +02:00
arc770 arc770: use generic 02_sysinfo 2020-07-22 18:28:09 +02:00
archs38 archs38: use generic 02_sysinfo 2020-07-22 18:28:09 +02:00
armvirt armvirt,x86: fix build breakage of crypto ccp module 2020-06-23 09:29:00 +02:00
at91 treewide: drop shebang from non-executable target files 2020-06-16 14:26:33 +02:00
ath25 treewide: drop shebang from non-executable target files 2020-06-16 14:26:33 +02:00
ath79 ath79: add support for Compex WPJ563 2020-07-26 02:14:45 +02:00
bcm27xx kernel: bump 5.4 to 5.4.52 2020-07-17 11:00:33 +02:00
bcm47xx bcm47xx: fix switch setup for Linksys WRT610N v2 2020-07-21 11:55:31 +02:00
bcm53xx kernel: Update kernel 4.19 to version 4.19.131 2020-07-04 21:12:42 +02:00
bcm63xx bcm63xx: R5010UNv2: fix flash partitions for 16MB flash 2020-07-11 15:47:46 +02:00
cns3xxx kernel: Update kernel 4.19 to version 4.19.131 2020-07-04 21:12:42 +02:00
gemini treewide: drop shebang from non-executable target files 2020-06-16 14:26:33 +02:00
generic treewide: rename POWER_ON_STRIP register 2020-07-25 21:50:50 +02:00
imx6 treewide: drop shebang from non-executable target files 2020-06-16 14:26:33 +02:00
ipq40xx ipq40xx: support reset button for WPJ419 2020-07-23 12:56:58 +02:00
ipq806x ipq806x: really fix aliases node for Qualcomm IPQ8064/DB149 2020-07-14 17:02:40 +02:00
ipq807x treewide: remove maintainer variable from targets 2020-03-16 22:21:45 +01:00
kirkwood kernel: bump 5.4 to 5.4.52 2020-07-17 11:00:33 +02:00
lantiq lantiq: xrx200: disable unused switch and phy 2020-07-26 02:14:38 +02:00
layerscape layerscape: fix indent 2020-07-21 11:51:51 +02:00
malta malta: add missing symbols for kernel 5.4 2020-06-03 10:50:01 +01:00
mediatek mediatek: mt7623: fix sysupgrade from vendor OpenWrt on UniElec U7623 2020-07-26 16:42:35 +08:00
mpc85xx treewide: rename POWER_ON_STRIP register 2020-07-25 21:50:50 +02:00
mvebu kernel: bump 5.4 to 5.4.52 2020-07-17 11:00:33 +02:00
mxs kernel: bump 5.4 to 5.4.28 2020-03-28 13:03:02 +01:00
octeon treewide: drop shebang from non-executable target files 2020-06-16 14:26:33 +02:00
octeontx treewide: kernel: drop redundant USB_EHCI_HCD=n config symbol 2020-07-09 10:28:40 +02:00
omap omap: derive DEVICE_DTS from device name 2020-07-21 11:57:22 +02:00
oxnas oxnas: use vendor_model scheme for ox810se 2020-07-25 21:04:11 +02:00
pistachio kernel: Update kernel 4.14 to version 4.14.187 2020-07-04 21:12:42 +02:00
ramips ramips: remove non-existant poe_passthrough for RouterBOARD 750Gr3 2020-07-25 21:41:07 +02:00
rb532 treewide: remove maintainer variable from targets 2020-03-16 22:21:45 +01:00
rockchip rockchip: don't disable timer LED trigger 2020-07-13 17:50:53 +02:00
samsung kernel: Update kernel 4.14 to version 4.14.187 2020-07-04 21:12:42 +02:00
sunxi sunxi: add text referencing Allwinner H3 and H5 CPUs 2020-06-27 00:19:13 +02:00
tegra tegra: correct cpu subtype 2020-03-28 22:58:36 +01:00
uml treewide: Remove self from MAINTAINER entries 2019-12-23 13:18:04 -08:00
x86 kernel/pcengines-apu2: detect apuv4 board 2020-07-06 17:57:33 +02:00
zynq zynq: switch to kernel 5.4 2020-03-17 00:51:48 +01:00
Makefile build: add 'make kernel_xconfig' command 2020-07-08 16:07:05 +02:00