What is the difference between openwrt 6.6 and 5.4 source code?

What is the difference between openwrt 6.6 and 5.4 source code? I can start the system normally with 5.4 source code, but it gets stuck here and cannot start after changing to 6.6 source code? Does anyone know what the reason is? Thank you

^MF0: 102B 0000
^MFA: 1040 0000
^MFA: 1040 0000 [0200]
^MF9: 0000 0000
^MV0: 0000 0000 [0001]
^M00: 0000 0000
^MBP: 2400 0041 [0000]
^MG0: 1190 0000
^MEC: 0000 0000 [1000]
^MT0: 0000 0244 [010F]
^MJump to BL

^MSoftware reset (reboot)


U-Boot 2023.07 (Jan 31 2025 - 18:26:39 +0800)

CPU:   MediaTek MT7981
Model: OpenWrt One
DRAM:  1 GiB
Core:  44 devices, 21 uclasses, devicetree: separate
spi-nand: spi_nand spi_nand@0: Macronix SPI NAND was found.
spi-nand: spi_nand spi_nand@0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
Loading Environment from UBI... jedec_spi_nor spi_nor@0: unrecognized JEDEC id bytes: ff, ff, ff
mtd: partition "ubi" extends beyond the end of device "spi-nand0" -- size truncated to 0x7f00000
Read 126976 bytes from volume ubootenv to 000000007f7bf100
Read 126976 bytes from volume ubootenv2 to 000000007f7de140
OK
In:    serial@11002000
Out:   serial@11002000
Err:   serial@11002000
reset button found
Loading Environment from UBI... UBI partition 'ubi' already selected
Read 126976 bytes from volume ubootenv to 000000007f7bf100
Read 126976 bytes from volume ubootenv2 to 000000007f7de140
OK
Net:   eth0: ethernet@15100000
*** U-Boot Boot Menu ***Press UP/DOWN to move, ENTER to select, ESC to quit1. Startup system (Default)2. Upgrade firmware3. Upgrade ATF BL24. Upgrade ATF FIP5. Upgrade single image6. Load image7. Start We
...skipping...
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x460000e8
     Data Size:    4407522 Bytes = 4.2 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x44000000
     Entry Point:  0x44000000
     Hash algo:    crc32
     Hash value:   55d90f12
     Hash algo:    sha1
     Hash value:   154b5566e78041482b7688338738471cbe9f764a
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading ramdisk from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'initrd-1' ramdisk subimage
     Description:  ARM64 OpenWrt openwrt_one initrd
     Type:         RAMDisk Image
     Compression:  uncompressed
     Data Start:   0x46434304
     Data Size:    4379320 Bytes = 4.2 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    crc32
     Hash value:   8b074b78
     Hash algo:    sha1
     Hash value:   d39a8eca57e79fd2df58bbf3a4f193f5f8951c2f
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt openwrt_one device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x468616c4
     Data Size:    29860 Bytes = 29.2 KiB
     Architecture: AArch64
     Load Address: 0x43f00000
     Hash algo:    crc32
     Hash value:   679d6e39
     Hash algo:    sha1
     Hash algo:    sha1
     Hash value:   ce5351a5bab3d6e368d53719ef68fa64b548da9d
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Loading fdt from 0x468616c4 to 0x43f00000
   Booting using the fdt blob at 0x43f00000
Working FDT set to 43f00000
   Uncompressing Kernel Image to 44000000
   Loading Ramdisk to 7e3cb000, end 7e7f82b8 ... OK
   Loading Device Tree to 000000007e3c0000, end 000000007e3ca4a3 ... OK
Working FDT set to 7e3c0000
Add 'ramoops@42ff0000' node failed: FDT_ERR_EXISTS

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.6.74 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r28801-1ee44825ad) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 SMP Tue Feb 11 17:28:45 2025
[    0.000000] Machine model: OpenWrt One
[    0.000000] earlycon: uart8250 at MMIO32 0x0000000011002000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] Memory limited to 512MB
[    0.000000] OF: reserved mem: 0x0000000042ff0000..0x0000000042ffffff (64 KiB) map non-reusable ramoops@42ff0000
[    0.000000] OF: reserved mem: 0x0000000043000000..0x000000004302ffff (192 KiB) nomap non-reusable secmon@43000000
[    0.000000] OF: reserved mem: 0x0000000047c80000..0x0000000047d7ffff (1024 KiB) nomap non-reusable wmcpu-reserved@47c80000
[    0.000000] OF: reserved mem: 0x0000000047d80000..0x0000000047dbffff (256 KiB) nomap non-reusable wo-emi@47d80000
[    0.000000] OF: reserved mem: 0x0000000047dc0000..0x0000000047ffffff (2304 KiB) nomap non-reusable wo-data@47dc0000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000007e7f8fff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000042ffffff]
[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004302ffff]
[    0.000000]   node   0: [mem 0x0000000043030000-0x0000000047c7ffff]
[    0.000000]   node   0: [mem 0x0000000047c80000-0x0000000047ffffff]
[    0.000000]   node   0: [mem 0x0000000048000000-0x000000005fffffff]
[    0.000000]   node   0: [mem 0x000000007e3cb000-0x000000007e7f8fff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007e7f8fff]

You can't just "change the kernel".
If you look at the openwrt source code, there are 100+ generic patches for kernel plus 30-100 per target patches for each target. You need to adjust all of those to the changes in upstream Linux between 5.4 and 6.6

1 Like

On top of that, the OO is just a few months old by now, it never was supported on v5.4 in the first place.