lantiq: enlarge ZyXEL P-2812HNU-F1 kernel partition (FS#2124)
authorChristian Lamparter <chunkeey@gmail.com>
Sat, 2 Mar 2019 21:33:42 +0000 (22:33 +0100)
committerChristian Lamparter <chunkeey@gmail.com>
Wed, 6 Mar 2019 20:58:59 +0000 (21:58 +0100)
The current snapshot release kernel with it's 2119245 Byte
size is too big to fit into the 2097152 (2MiB) area that
was set aside for the kernel. Which causes the device to
fail to boot (after an update or even during a fresh install)

 NAND read: device 0 offset 0x60000, size 0x200000
  2097152 bytes read: OK
 ## Booting kernel from Legacy Image at 80800000 ...
    Image Name:   MIPS OpenWrt Linux-4.14.98
    Created:      2019-02-13   9:37:36 UTC
    Image Type:   MIPS Linux Kernel Image (lzma compressed)
    Data Size:    2119245 Bytes = 2 MiB
    Load Address: 80002000
    Entry Point:  80002000
    Verifying Checksum ... Bad Data CRC
 ERROR: can't get kernel image!

This patch fixes the problem by enlarging the kernel partition
at the cost of the ubi/data partition behind it. The patch
also adds a KERNEL_SIZE variable to the image Makefile to
prevent silent corruptions from happening in the future.

Please note: The u-boot environment for the router also
needs to be updated. So please attach an appropriate
serial converter cable and enter the following commands
into the u-boot prompt:

 setenv nboot 'nand read 0x80800000 0x60000 0x300000; bootm 0x80800000'
 saveenv

The wiki has been updated accordingly:
<https://openwrt.org/toh/zyxel/p2812hnu-f1>

Fixes: FS#2124
Suggested-by: Mafketel (User on bugs.openwrt.org)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUF1.dts
target/linux/lantiq/image/Makefile

index 911a2d6afee0ef878d4ec9b8ea8e775b6b7ffcad..d907d64c8cbdbd2da8d08e8099598860f7dc0821 100644 (file)
                        };
                        partition@60000 {
                                label = "kernel";
-                               reg = <0x60000 0x200000>;
+                               reg = <0x60000 0x300000>;
                        };
-                       partition@260000 {
+                       partition@360000 {
                                label = "ubi";
-                               reg = <0x260000 0x7da0000>;
+                               reg = <0x360000 0x7ca0000>;
                        };
                };
        };
index b59acf4ddcb6abc06b00909932b6a262aaf9c7ef..7e328bf2be897d2791d55085defe8df981a193ef 100644 (file)
@@ -553,6 +553,7 @@ define Device/zyxel_p-2812hnu-f1
   DEVICE_DTS := P2812HNUF1
   DEVICE_TITLE := ZyXEL P-2812HNU-F1
   DEVICE_PACKAGES := kmod-rt2800-pci wpad-basic kmod-usb-dwc2 kmod-usb-ledtrig-usbport
+  KERNEL_SIZE := 3072k
   SUPPORTED_DEVICES += P2812HNUF1
 endef
 TARGET_DEVICES += zyxel_p-2812hnu-f1