]> git.ipfire.org Git - thirdparty/openwrt.git/commit
ipq40xx: mikrotik: kernel: pet watchdog during kernel uncompress 20305/head
authorJohn Thomson <git@johnthomson.fastmail.com.au>
Sun, 5 Oct 2025 03:45:41 +0000 (13:45 +1000)
committerRobert Marko <robimarko@gmail.com>
Sat, 18 Oct 2025 14:41:53 +0000 (16:41 +0200)
commit9d531c0c5b4aeda92d711d373c96385325de04ce
tree62b6975de595fce63e7d33aab1cc9881721d3e6d
parent010c08ceb553af2ef18c13cd4412b056a87de4cd
ipq40xx: mikrotik: kernel: pet watchdog during kernel uncompress

kernel 6.9 removed the KConfig entry our RouterBOOT watchdog pet hack was relying on:
Linux df59427a1122 ("ARM: qcom: merge remaining subplatforms into sensible Kconfig entry")

Introduce a new specific KConfig entry for this hack,
and enable it for Mikrotik ipq40xx kernel.
CONFIG_ARCH_QCOM_IPQ40XX_BOOT_COMPRESSED_PET_WATCHDOG_EARLY

With appropriate DEBUG_LL and DEBUG_UNCOMPRESS, this watchdog reset
can be typically seen on console as a reset before "Uncompressing Linux..."
reaches " done, booting the kernel."

RouterBOOT

loading kernel... OK
setting up elf image... OK
jumping to kernel code
Jumping to kernel
DTB:0x80381A60 (0x000048C4)
C:0x800000E0-0x80386420->0x80FAB500-0x81331840
DTB:0x8132CE80 (0x000049B8)
Uncompressing Linux...
Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.BF.3.1.1-00096

versus:

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0

On Mikrotik RouterBOOT devices, this is complicated by some RouterBOOT
versions successfully loading the same kernel that other RouterBOOT versions fail. Example:
RouterBOOT backup booter 6.45.9 fine, RouterBOOT booter 7.16 fail

Fixes: openwrt#19841
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
Link: https://github.com/openwrt/openwrt/pull/20305
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/ipq40xx/config-6.12
target/linux/ipq40xx/mikrotik/config-default
target/linux/ipq40xx/patches-6.12/302-arm-compressed-set-ipq40xx-watchdog-to-allow-boot.patch