Kernel panic on arv752dpw -> bug in LEDE 17.01.2


after the sysupgrade from an earlier version of OpenWRT to LEDE 17.01.2 failed, I decided to make a clean start. I rolled back to the OEM's firmware and started over, using:

  • U-Boot 2014.01-openwrt4
  • ARV752DPW-squashfs-sysupgrade.bin from LEDE 17.01.2

The kernel loads but does not find the rootfs. It only finds 4 mtd block devices but fails to discover the sub-devices "kernel" and "rootfs" which AFAIK should be wrapped into mtdblock2 ("firmware").

A closer look reveals that the file
has the wrong partition definitions with 64k u-boot and firmware starting at 0x20000.
It should have the same partitioning as the ARV752DPW22 (firmware starting at 0x40000).

There is no recent u-boot that would actually fit into 64kb. The last one I saw was from AA and combined broken network with lack of load*, so that it was completely useless (Well, someone wrote a python script to upload files via mm...).

--- ARV752DPW.dts-new	2017-08-22 16:52:12.806344981 +0200
+++ ARV752DPW.dts-old	2017-08-22 16:46:55.000000000 +0200
@@ -48,19 +48,19 @@
 					partition@0 {
 						label = "uboot";
-						reg = <0x00000 0x30000>;
+						reg = <0x00000 0x10000>;
 					partition@10000 {
 						label = "uboot_env";
-						reg = <0x30000 0x10000>;
+						reg = <0x10000 0x10000>;
 					partition@20000 {
 						label = "firmware";
-						reg = <0x40000 0x7b0000>;
+						reg = <0x20000 0x7d0000>;
 					boardconfig: partition@7f0000 {