All writable space is in RAM (Flash is bigger enough for additional packages)

I recently build a firmware using this fork for my Vizio XWR100. The final squashfs-xx.bin is less than the flash size (8 MB). But after flashing it from the original firmware's upgrade page, I found out that all of the writeable space is mounted in RAM, and I can't save any of my settings. After building a firmware with only basic packages and then tried a prebuild image from here, I've come to the conclusion that the issue is not related to how I make the image or the fork where the source codes are from.

   root@OpenWrt:~# df -h
    Filesystem  Size  Used Available Use% Mounted on
    /dev/root   4.3M  4.3M   0 100% /rom
    tmpfs  13.5M  536.0K   13.0M   4% /tmp
    tmpfs  13.5M   72.0K   13.4M   1% /tmp/root
    overlayfs:/tmp/root  13.5M   72.0K   13.4M   1% /
    tmpfs   512.0K   0  512.0K   0% /dev
    root@OpenWrt:~# cat /proc/mtd
    dev:  size   erasesize  name
    mtd0: 00030000 00010000 "uboot"
    mtd1: 00010000 00010000 "env"
    mtd2: 00160000 00010000 "linux"
    mtd3: 00600000 00010000 "rootfs"
    mtd4: 001c0000 00010000 "rootfs_data"
    mtd5: 00010000 00010000 "nvram"
    mtd6: 00010000 00010000 "factory"
    mtd7: 00020000 00010000 "language"
    mtd8: 00010000 00010000 "caldata"
    mtd9: 00770000 00010000 "firmware"
    root@OpenWrt:~# dmesg
    
    [    0.000000] Linux version 4.9.120 (ubuntu@ip-172-31-42-178) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7258-5eb055306f) ) #0 Thu Aug 16 07:51:15 2018
    
    [    0.000000] MyLoader: sysp=aaaa5554, boardp=aaaa5554, parts=aaaa5554
    
    [    0.000000] bootconsole [early0] enabled
    
    [    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
    
    [    0.000000] SoC: Atheros AR7161 rev 2
    
    [    0.000000] Determined physical RAM map:
    
    [    0.000000]  memory: 02000000 @ 00000000 (usable)
    
    [    0.000000] Initrd not found or empty - disabling initrd
    
    [    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
    
    [    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
    
    [    0.000000] Zone ranges:
    
    [    0.000000]   Normal   [mem 0x0000000000000000-0x0000000001ffffff]
    
    [    0.000000] Movable zone start for each node
    
    [    0.000000] Early memory node ranges
    
    [    0.000000]   node   0: [mem 0x0000000000000000-0x0000000001ffffff]
    
    [    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000001ffffff]
    
    [    0.000000] On node 0 totalpages: 8192
    
    [    0.000000] free_area_init_node: node 0, pgdat 804663f4, node_mem_map 81000020
    
    [    0.000000]   Normal zone: 64 pages used for memmap
    
    [    0.000000]   Normal zone: 0 pages reserved
    
    [    0.000000]   Normal zone: 8192 pages, LIFO batch:0
    
    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    
    [    0.000000] pcpu-alloc: [0] 0 
    
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
    
    [    0.000000] Kernel command line:  board=XWR100 console=ttyS0,115200 rootfstype=squashfs noinitrd
    
    [    0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
    
    [    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
    
    [    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
    
    [    0.000000] Writing ErrCtl register=00000000
    
    [    0.000000] Readback ErrCtl register=00000000
    
    [    0.000000] Memory: 27408K/32768K available (3158K kernel code, 169K rwdata, 796K rodata, 284K init, 213K bss, 5360K reserved, 0K cma-reserved)
    
    [    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    
    [    0.000000] NR_IRQS:51
    
    [    0.000000] Clocks: CPU:680.000MHz, DDR:340.000MHz, AHB:170.000MHz, Ref:40.000MHz
    
    [    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5621354254 ns
    
    [    0.000009] sched_clock: 32 bits at 340MHz, resolution 2ns, wraps every 6316128254ns
    
    [    0.007820] Calibrating delay loop... 452.19 BogoMIPS (lpj=2260992)
    
    [    0.070524] pid_max: default: 32768 minimum: 301
    
    [    0.075248] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    
    [    0.081857] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    
    [    0.091693] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    
    [    0.101575] futex hash table entries: 256 (order: -1, 3072 bytes)
    
    [    0.108262] NET: Registered protocol family 16
    
    [    0.114228] MIPS: machine is Vizio XWR100
    
    [    2.573943] random: fast init done
    
    [    2.796663] registering PCI controller with io_map_base unset
    
    [    2.816608] PCI host bridge to bus 0000:00
    
    [    2.820722] pci_bus 0000:00: root bus resource [mem 0x10000000-0x16ffffff]
    
    [    2.827643] pci_bus 0000:00: root bus resource [io  0x0000]
    
    [    2.833205] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
    
    [    2.839984] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
    
    [    2.847933] pci 0000:00:11.0: [168c:ff1d] type 00 class 0x020000
    
    [    2.847942] pci 0000:00:11.0: fixup device configuration
    
    [    2.854970] pci 0000:00:11.0: reg 0x10: [mem 0x00000000-0x0000ffff]
    
    [    2.855026] pci 0000:00:11.0: PME# supported from D0 D3hot
    
    [    2.855216] pci 0000:00:12.0: [168c:ff1d] type 00 class 0x020000
    
    [    2.855224] pci 0000:00:12.0: fixup device configuration
    
    [    2.861739] pci 0000:00:12.0: reg 0x10: [mem 0x00000000-0x0000ffff]
    
    [    2.861784] pci 0000:00:12.0: PME# supported from D0 D3hot
    
    [    2.861963] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
    
    [    2.861993] pci 0000:00:11.0: BAR 0: assigned [mem 0x10000000-0x1000ffff]
    
    [    2.868804] pci 0000:00:12.0: BAR 0: assigned [mem 0x10010000-0x1001ffff]
    
    [    2.875594] pci 0000:00:11.0: using irq 40 for pin 1
    
    [    2.880562] pci 0000:00:12.0: using irq 41 for pin 1
    
    [    2.886206] clocksource: Switched to clocksource MIPS
    
    [    2.892343] NET: Registered protocol family 2
    
    [    2.897540] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
    
    [    2.904512] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
    
    [    2.910930] TCP: Hash tables configured (established 1024 bind 1024)
    
    [    2.917400] UDP hash table entries: 256 (order: 0, 4096 bytes)
    
    [    2.923254] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    
    [    2.929810] NET: Registered protocol family 1
    
    [    2.934207] PCI: CLS 0 bytes, default 32
    
    [    2.939323] Crashlog allocated RAM at address 0x1f00000
    
    [    2.945716] workingset: timestamp_bits=30 max_order=13 bucket_order=0
    
    [    2.958812] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    
    [    2.964632] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
    
    [    2.984123] io scheduler noop registered
    
    [    2.988107] io scheduler deadline registered (default)
    
    [    2.993552] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
    
    [    3.000339] console [ttyS0] disabled
    
    [    3.023983] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 10625000) is a 16550A
    
    [    3.032698] console [ttyS0] enabled
    
    [    3.039666] bootconsole [early0] disabled
    
    [    3.051317] m25p80 spi0.0: found w25x64, expected m25p80
    
    [    3.065897] m25p80 spi0.0: w25x64 (8192 Kbytes)
    
    [    3.070779] Creating 9 MTD partitions on "spi0.0":
    
    [    3.075594] 0x000000000000-0x000000030000 : "uboot"
    
    [    3.082568] 0x000000030000-0x000000040000 : "env"
    
    [    3.089448] 0x000000040000-0x0000001a0000 : "linux"
    
    [    3.096495] 0x0000001b0000-0x0000007b0000 : "rootfs"
    
    [    3.103038] mtd: device 3 (rootfs) set to be root filesystem
    
    [    3.108815] 1 squashfs-split partitions found on MTD device rootfs
    
    [    3.114988] 0x0000005f0000-0x0000007b0000 : "rootfs_data"
    
    [    3.122604] 0x0000007b0000-0x0000007c0000 : "nvram"
    
    [    3.129691] 0x0000007c0000-0x0000007d0000 : "factory"
    
    [    3.136920] 0x0000007d0000-0x0000007f0000 : "language"
    
    [    3.144201] 0x0000007f0000-0x000000800000 : "caldata"
    
    [    3.151450] 0x000000040000-0x0000007b0000 : "firmware"
    
    [    3.159832] libphy: Fixed MDIO Bus: probed
    
    [    3.175178] switch0: Atheros AR8236 rev. 1 switch registered on ag71xx-mdio.0
    
    [    3.196388] libphy: ag71xx_mdio: probed
    
    [    3.538192] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:RMII
    
    [    3.877551] ag71xx ag71xx.1: connected to PHY at ag71xx-mdio.0:04 [uid=004dd043, driver=Atheros AR8216/AR8236/AR8316]
    
    [    3.888878] eth1: Atheros AG71xx at 0xba000000, irq 5, mode:RMII
    
    [    3.896562] NET: Registered protocol family 10
    
    [    3.904830] NET: Registered protocol family 17
    
    [    3.909502] 8021q: 802.1Q VLAN Support v1.8
    
    [    3.919432] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
    
    [    3.928330] Freeing unused kernel memory: 284K
    
    [    3.932767] This architecture does not have kernel memory protection.
    
    [    4.645254] init: Console is alive
    
    [    4.648988] init: - watchdog -
    
    [    5.751285] kmodloader: loading kernel modules from /etc/modules-boot.d/*
    
    [    5.929601] usbcore: registered new interface driver usbfs
    
    [    5.935156] usbcore: registered new interface driver hub
    
    [    5.940628] usbcore: registered new device driver usb
    
    [    5.951705] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    
    [    5.960031] ehci-platform: EHCI generic platform driver
    
    [    5.965335] ehci-platform ehci-platform: EHCI Host Controller
    
    [    5.971174] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1
    
    [    5.979263] ehci-platform ehci-platform: irq 3, io mem 0x1b000000
    
    [    6.006244] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00
    
    [    6.013405] hub 1-0:1.0: USB hub found
    
    [    6.017629] hub 1-0:1.0: 2 ports detected
    
    [    6.022596] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
    
    [    6.040346] init: - preinit -
    
    [    6.827370] ar71xx: pll_reg 0xb8050010: 0x1099
    
    [    6.827392] eth0: link up (100Mbps/Full duplex)
    
    [    6.853347] random: procd: uninitialized urandom read (4 bytes read)
    
    [   10.106743] mount_root: no usable overlay filesystem found, using tmpfs overlay
    
    [   10.147542] urandom-seed: Seed file not found (/etc/urandom.seed)
    
    [   10.340784] eth0: link down
    
    [   10.355177] procd: - early -
    
    [   10.358967] procd: - watchdog -
    
    [   10.976347] procd: - watchdog -
    
    [   10.979774] procd: - ubus -
    
    [   11.069927] random: ubusd: uninitialized urandom read (4 bytes read)
    
    [   11.165811] random: ubusd: uninitialized urandom read (4 bytes read)
    
    [   11.172702] random: ubusd: uninitialized urandom read (4 bytes read)
    
    [   11.179969] procd: - init -
    
    [   11.583871] kmodloader: loading kernel modules from /etc/modules.d/*
    
    [   11.604166] ip6_tables: (C) 2000-2006 Netfilter Core Team
    
    [   11.620046] Netfilter messages via NETLINK v0.30.
    
    [   11.627797] ip_set: protocol 6
    
    [   11.668370] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180
    
    [   11.676429] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d
    
    [   11.686705] ip_tables: (C) 2000-2006 Netfilter Core Team
    
    [   11.702411] nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
    
    [   11.711608] ctnetlink v0.93: registering with nfnetlink.
    
    [   11.786072] xt_time: kernel timezone is -0000
    
    [   11.852518] PPP generic driver version 2.4.2
    
    [   11.859502] NET: Registered protocol family 24
    
    [   11.901329] PCI: Enabling device 0000:00:11.0 (0000 -> 0002)
    
    [   11.911936] ath: phy0: Ignoring endianness difference in EEPROM magic bytes.
    
    [   11.920539] ath: EEPROM regdomain: 0x37
    
    [   11.920543] ath: EEPROM indicates we should expect a direct regpair map
    
    [   11.920550] ath: Country alpha2 being used: AW
    
    [   11.920553] ath: Regpair used: 0x37
    
    [   11.933079] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
    
    [   11.937662] ieee80211 phy0: Atheros AR9287 Rev:2 mem=0xb0000000, irq=40
    
    [   12.032901] PCI: Enabling device 0000:00:12.0 (0000 -> 0002)
    
    [   12.043510] ath: phy1: Ignoring endianness difference in EEPROM magic bytes.
    
    [   12.052133] ath: EEPROM regdomain: 0x13
    
    [   12.052138] ath: EEPROM indicates we should expect a direct regpair map
    
    [   12.052153] ath: Country alpha2 being used: 00
    
    [   12.052156] ath: Regpair used: 0x13
    
    [   12.067962] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
    
    [   12.072473] ieee80211 phy1: Atheros AR9280 Rev:2 mem=0xb0010000, irq=41
    
    [   12.136167] kmodloader: done loading kernel modules from /etc/modules.d/*
    
    [   13.382599] urandom_read: 5 callbacks suppressed
    
    [   13.382608] random: jshn: uninitialized urandom read (4 bytes read)
    
    [   25.872535] ar71xx: pll_reg 0xb8050010: 0x1099
    
    [   25.872580] eth0: link up (100Mbps/Full duplex)
    
    [   25.877289] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    
    [   25.936301] br-lan: port 1(eth0.1) entered blocking state
    
    [   25.941711] br-lan: port 1(eth0.1) entered disabled state
    
    [   25.947552] device eth0.1 entered promiscuous mode
    
    [   25.952338] device eth0 entered promiscuous mode
    
    [   26.052323] br-lan: port 1(eth0.1) entered blocking state
    
    [   26.057793] br-lan: port 1(eth0.1) entered forwarding state
    
    [   26.063543] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
    
    [   26.169019] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    
    [   26.916328] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    
    [   26.923112] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
    
    [   27.486736] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0x697c instead
    
    [   27.536272] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0xc8fe instead
    
    [   27.545752] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000008: 0xfafe instead
    
    [   27.636259] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000000c: 0x6ffc instead
    
    [   27.645736] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000010: 0xcd1f instead
    
    [   27.719176] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000014: 0xcced instead
    
    [   27.773378] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000018: 0xde46 instead
    
    [   27.816260] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000001c: 0xbffc instead
    
    [   27.825735] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000020: 0xffe9 instead
    
    [   27.881925] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000024: 0xfcfe instead
    
    [   27.891468] jffs2: Further such events for this erase block will not be printed
    
    [   27.935946] jffs2: Empty flash at 0x00000a2c ends at 0x00000a30
    
    [   27.980617] jffs2: Empty flash at 0x00002a2c ends at 0x00002a30
    
    [   28.007746] jffs2: Empty flash at 0x00003720 ends at 0x00003724
    
    [   28.015599] jffs2: Empty flash at 0x00003a2c ends at 0x00003a30
    
    [   28.068461] jffs2: Empty flash at 0x00004a2c ends at 0x00004a30
    
    [   28.096296] jffs2: Empty flash at 0x00005a2c ends at 0x00005a30
    
    [   28.104389] jffs2: Empty flash at 0x00006a2c ends at 0x00006a30
    
    [   28.132477] jffs2: Empty flash at 0x00008a2c ends at 0x00008a30
    
    [   28.172849] jffs2: Empty flash at 0x0000ba2c ends at 0x0000ba30
    ...
    [   38.855084] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0000: 0xffdd instead
    
    [   38.864798] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0004: 0xff5b instead
    
    [   38.874434] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0008: 0x7fe7 instead
    
    [   38.884090] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b000c: 0xfaff instead
    
    [   38.893735] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0010: 0xfffa instead
    
    [   38.903389] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0014: 0xf3fb instead
    
    [   38.913050] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0018: 0x3ff7 instead
    
    [   38.922720] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b001c: 0xfeff instead
    
    [   38.932365] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0020: 0x2fde instead
    
    [   38.942015] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0024: 0x9bbb instead
    
    [   38.951513] jffs2: Further such events for this erase block will not be printed
    
    [   38.993398] jffs2: Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
    
    
    [   39.001846] jffs2: empty_blocks 0, bad_blocks 0, c->nr_blocks 28

So does anyone know how to fix this?

Those images seem to have been configured to store the overlay partition on RAM, on purpose. You should contact whoever created them, and ask them why and to change the configuration.

However, chances are they made that decision because the device does not have enough flash memory to operate normally.

2 Likes

Oh, I thought I broke the uboot or something.

That project is no longer maintained, so I don't think they want me to bother them about this. But I found this file that seems to control how the flash layout is configured, but can you take a look and see if this is really the one you are talking about and maybe point me the way to the resource on how to change it back?

Sorry, but I have never done this.

Looking to your fork above, i see wrong flash partition size defined in file: target/linux/ar71xx/files/arch/mips/ath79/mach-xwr100.c

		.name		= "linux",
		.offset		= 0x040000,
		.size		= 0x160000,
	}, {
		.name		= "rootfs",
		.offset		= 0x1b0000,
		.size		= 0x600000,

Because 0x40000 + 160000 = 0x1a0000
Pls see the old thread for more infos

1 Like

I kind of thought this thread is dead, thanks for the reply.

To be honest, I don't know how to interpret this:

Because 0x40000 + 160000 = 0x1a0000

But, that old thread has

{
        .name        = "linux",
        .offset      = 0x040000,
        .size        = 0x170000,
    }, {
        .name        = "rootfs",
        .offset      = 0x1B0000,
        .size        = 0x630000,
    }

for the mach-device.c while the github has

{
		.name		= "linux",
		.offset		= 0x040000,
		.size		= 0x160000,
	}, {
		.name		= "rootfs",
		.offset		= 0x1b0000,
		.size		= 0x600000,
	}

and all the rest are the same, so will change the .size of linux and rootfs fix my problem (by directing upgrading to a new firmware with this modification) or is that not enough (since I tried one of the firmware posted in another thread from 2018 and I'm having the exact same problem after upgrading, but I guess it's around the same time as the last commit, so maybe it's the same issue)?

It's a hexadecimal calculation.

Just change .size = 0x170000 in "linux" partition, rebuild firmware & reflash.

2 Likes

For whatever reason, it's still using ram for any writable storage, so I guess it's not the wrong flash partition size that's causing this?

What does the kernel log say?
How do you define the image recipe in Makefile?

Ps. They have had the math / definitions wrong already in 2013.
Note that their rootfs_data seems to overlap factory, nvram and language. Based on below, it might be 04 / 17 and 1b / 60, so that total firmware area would be 04 / 77 ending to 7b where nvram area starts.

[    1.000000] Creating 9 MTD partitions on "spi0.0":
[    1.000000] 0x000000000000-0x000000030000 : "uboot"
[    1.010000] 0x000000030000-0x000000040000 : "env"
[    1.020000] 0x000000040000-0x0000001b0000 : "linux"
[    1.020000] 0x0000001b0000-0x0000007e0000 : "rootfs"
[    1.030000] mtd: partition "rootfs" set to be root filesystem
[    1.040000] mtd: partition "rootfs_data" created automatically, ofs=360000, len=480000 
[    1.040000] 0x000000360000-0x0000007e0000 : "rootfs_data"
[    1.050000] 0x0000007b0000-0x0000007c0000 : "nvram"
[    1.060000] 0x0000007c0000-0x0000007d0000 : "factory"
[    1.060000] 0x0000007d0000-0x0000007f0000 : "language"
[    1.070000] 0x0000007f0000-0x000000800000 : "caldata"
[    1.080000] 0x000000040000-0x0000007b0000 : "firmware"

1 Like
root@OpenWrt:~# dmesg
[    0.000000] Linux version 4.9.120 (ubuntu@ip-172-31-15-215) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7258-5eb055306f) ) #0 Thu Aug 16 07:51:15 2018
[    0.000000] MyLoader: sysp=aaaa5554, boardp=aaaa5554, parts=aaaa5554
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] SoC: Atheros AR7161 rev 2
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 02000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] On node 0 totalpages: 8192
[    0.000000] free_area_init_node: node 0, pgdat 804663b4, node_mem_map 81000020
[    0.000000]   Normal zone: 64 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 8192 pages, LIFO batch:0
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
[    0.000000] Kernel command line:  board=XWR100 console=ttyS0,115200 rootfstype=squashfs noinitrd
[    0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 27408K/32768K available (3158K kernel code, 169K rwdata, 796K rodata, 284K init, 213K bss, 5360K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:51
[    0.000000] Clocks: CPU:680.000MHz, DDR:340.000MHz, AHB:170.000MHz, Ref:40.000MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5621354254 ns
[    0.000009] sched_clock: 32 bits at 340MHz, resolution 2ns, wraps every 6316128254ns
[    0.007820] Calibrating delay loop... 452.19 BogoMIPS (lpj=2260992)
[    0.070523] pid_max: default: 32768 minimum: 301
[    0.075248] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.081857] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.091691] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.101575] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.108267] NET: Registered protocol family 16
[    0.114242] MIPS: machine is Vizio XWR100
[    2.573931] random: fast init done
[    2.796663] registering PCI controller with io_map_base unset
[    2.816542] PCI host bridge to bus 0000:00
[    2.820651] pci_bus 0000:00: root bus resource [mem 0x10000000-0x16ffffff]
[    2.827575] pci_bus 0000:00: root bus resource [io  0x0000]
[    2.833135] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    2.839914] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    2.847864] pci 0000:00:11.0: [168c:ff1d] type 00 class 0x020000
[    2.847874] pci 0000:00:11.0: fixup device configuration
[    2.854901] pci 0000:00:11.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[    2.854957] pci 0000:00:11.0: PME# supported from D0 D3hot
[    2.855147] pci 0000:00:12.0: [168c:ff1d] type 00 class 0x020000
[    2.855155] pci 0000:00:12.0: fixup device configuration
[    2.861670] pci 0000:00:12.0: reg 0x10: [mem 0x00000000-0x0000ffff]
[    2.861715] pci 0000:00:12.0: PME# supported from D0 D3hot
[    2.861894] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    2.861924] pci 0000:00:11.0: BAR 0: assigned [mem 0x10000000-0x1000ffff]
[    2.868734] pci 0000:00:12.0: BAR 0: assigned [mem 0x10010000-0x1001ffff]
[    2.875525] pci 0000:00:11.0: using irq 40 for pin 1
[    2.880492] pci 0000:00:12.0: using irq 41 for pin 1
[    2.886137] clocksource: Switched to clocksource MIPS
[    2.892270] NET: Registered protocol family 2
[    2.897472] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    2.904442] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    2.910860] TCP: Hash tables configured (established 1024 bind 1024)
[    2.917333] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    2.923185] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    2.929743] NET: Registered protocol family 1
[    2.934138] PCI: CLS 0 bytes, default 32
[    2.939204] Crashlog allocated RAM at address 0x1f00000
[    2.945597] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[    2.958729] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    2.964554] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    2.983943] io scheduler noop registered
[    2.987926] io scheduler deadline registered (default)
[    2.993371] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    3.000158] console [ttyS0] disabled
[    3.023801] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 10625000) is a 16550A
[    3.032515] console [ttyS0] enabled
[    3.039485] bootconsole [early0] disabled
[    3.051118] m25p80 spi0.0: found w25x64, expected m25p80
[    3.065632] m25p80 spi0.0: w25x64 (8192 Kbytes)
[    3.070514] Creating 9 MTD partitions on "spi0.0":
[    3.075326] 0x000000000000-0x000000030000 : "uboot"
[    3.082293] 0x000000030000-0x000000040000 : "env"
[    3.089170] 0x000000040000-0x0000001b0000 : "linux"
[    3.096197] 0x0000001b0000-0x0000007b0000 : "rootfs"
[    3.102744] mtd: device 3 (rootfs) set to be root filesystem
[    3.108528] 1 squashfs-split partitions found on MTD device rootfs
[    3.114703] 0x0000003e0000-0x0000007b0000 : "rootfs_data"
[    3.122310] 0x0000007b0000-0x0000007c0000 : "nvram"
[    3.129393] 0x0000007c0000-0x0000007d0000 : "factory"
[    3.136607] 0x0000007d0000-0x0000007f0000 : "language"
[    3.143881] 0x0000007f0000-0x000000800000 : "caldata"
[    3.151129] 0x000000040000-0x0000007b0000 : "firmware"
...
[   23.448418] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0xa145 instead
[   23.471377] br-lan: port 1(eth0.1) entered blocking state
[   23.476849] br-lan: port 1(eth0.1) entered disabled state
[   23.482641] device eth0.1 entered promiscuous mode
[   23.487478] device eth0 entered promiscuous mode
[   23.512439] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0x8190 instead
[   23.584863] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000008: 0x2bb1 instead
[   23.619600] br-lan: port 1(eth0.1) entered blocking state
[   23.625015] br-lan: port 1(eth0.1) entered forwarding state
[   23.630837] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   23.638760] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000000c: 0x46b2 instead
[   23.666210] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000010: 0xd537 instead
[   23.675691] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000014: 0x29ed instead
[   23.751314] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   23.757571] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000018: 0x9634 instead
[   23.811452] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000001c: 0x696e instead
[   23.900499] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000020: 0x3c1e instead
[   23.947094] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000024: 0x1ce3 instead
[   23.956632] jffs2: Further such events for this erase block will not be printed
[   24.120099] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010000: 0xfc01 instead
[   24.154235] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010004: 0x3bcc instead
[   24.182797] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010008: 0xefc2 instead
[   24.216222] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0001000c: 0x9676 instead
[   24.225701] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010010: 0xefc2 instead
[   24.274189] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010014: 0x60ce instead
[   24.298839] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010018: 0x6092 instead
[   24.335032] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0001001c: 0x79a0 instead
[   24.361454] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010020: 0x802f instead
[   24.396164] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00010024: 0x5104 instead
[   24.405633] jffs2: Further such events for this erase block will not be printed
[   24.436241] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   24.443049] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   24.567074] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020000: 0xe884 instead
[   24.596250] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020004: 0xea0d instead
[   24.605728] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020008: 0x3670 instead
[   24.649542] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0002000c: 0x2e70 instead
[   24.716282] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020010: 0x3679 instead
[   24.725765] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020014: 0xb5bb instead
[   24.794388] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020018: 0x2ccc instead
[   24.831848] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0002001c: 0x2148 instead
[   24.884426] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020020: 0x3b9b instead
[   24.936281] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00020024: 0xa4c1 instead
[   24.945753] jffs2: Further such events for this erase block will not be printed
...
[   26.712743] jffs2: Old JFFS2 bitmask found at 0x000679e8
[   26.718066] jffs2: You cannot use older JFFS2 filesystems with newer kernels
[   26.762947] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070000: 0xb770 instead
[   26.786225] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070004: 0x6aeb instead
[   26.795688] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070008: 0xa76c instead
[   26.826140] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0007000c: 0x5ce2 instead
[   26.835605] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070010: 0x74fa instead
[   26.866168] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070014: 0x0eee instead
[   26.875636] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070018: 0x5fd3 instead
[   26.906143] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0007001c: 0xfcb9 instead
[   26.915613] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070020: 0x71d0 instead
[   26.936147] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00070024: 0xde4a instead
[   26.945610] jffs2: Further such events for this erase block will not be printed
[   27.038645] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080000: 0x152c instead
[   27.066156] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080004: 0xf87d instead
[   27.075619] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080008: 0xbf17 instead
[   27.096144] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0008000c: 0x060e instead
[   27.105612] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080010: 0xb0a4 instead
[   27.136151] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080014: 0x252b instead
[   27.145616] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080018: 0xde00 instead
[   27.176159] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0008001c: 0xbf56 instead
[   27.185630] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080020: 0x04d1 instead
[   27.216140] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00080024: 0xc647 instead
[   27.225602] jffs2: Further such events for this erase block will not be printed
[   27.318714] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090000: 0xb7a3 instead
[   27.336333] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090004: 0xcc35 instead
[   27.345800] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090008: 0xe817 instead
[   27.376154] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0009000c: 0xa76c instead
[   27.385624] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090010: 0xbb9b instead
[   27.416146] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090014: 0x507b instead
[   27.425608] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090018: 0x84bd instead
[   27.446146] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0009001c: 0x8db1 instead
[   27.455612] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090020: 0xca89 instead
[   27.486161] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00090024: 0x7cc3 instead
[   27.495628] jffs2: Further such events for this erase block will not be printed
[   27.546177] jffs2: Old JFFS2 bitmask found at 0x00094310
[   27.551476] jffs2: You cannot use older JFFS2 filesystems with newer kernels
[   27.618651] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0000: 0xcc6d instead
[   27.636364] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0004: 0x3b22 instead
[   27.645828] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0008: 0xfaee instead
[   27.676150] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a000c: 0xf4df instead
[   27.685616] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0010: 0x5070 instead
[   27.716143] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0014: 0xff88 instead
[   27.725611] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0018: 0xf9c4 instead
[   27.746147] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a001c: 0xb7f5 instead
[   27.755614] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0020: 0xc2dd instead
[   27.786145] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0024: 0xc2fa instead
[   27.795611] jffs2: Further such events for this erase block will not be printed
...
[   32.558650] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0000: 0xa646 instead
[   32.586176] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0004: 0x315f instead
[   32.595644] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0008: 0xc4c2 instead
[   32.616158] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a000c: 0x2ad6 instead
[   32.625622] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0010: 0xdaa2 instead
[   32.656150] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0014: 0x5a33 instead
[   32.665618] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0018: 0x0f61 instead
[   32.696140] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a001c: 0x620a instead
[   32.705603] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0020: 0xf948 instead
[   32.736150] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0024: 0xb334 instead
[   32.745610] jffs2: Further such events for this erase block will not be printed
[   32.838653] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0000: 0xa79e instead
[   32.856356] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0004: 0x2721 instead
[   32.865818] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0008: 0x3ab3 instead
[   32.896151] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b000c: 0xf959 instead
[   32.905613] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0010: 0x23e1 instead
[   32.936161] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0014: 0xe241 instead
[   32.945627] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0018: 0x6ceb instead
[   32.966157] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b001c: 0x2a9a instead
[   32.975630] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0020: 0xcde4 instead
[   33.006152] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0024: 0x396c instead
[   33.015610] jffs2: Further such events for this erase block will not be printed
[   33.048216] jffs2: Old JFFS2 bitmask found at 0x001b0a88
[   33.053519] jffs2: You cannot use older JFFS2 filesystems with newer kernels
[   33.136571] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0000: 0xee33 instead
[   33.146044] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0004: 0x7c65 instead
[   33.176142] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0008: 0x80de instead
[   33.185605] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c000c: 0xe76e instead
[   33.216150] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0010: 0x58d7 instead
[   33.225618] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0014: 0x44d8 instead
[   33.246157] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0018: 0x3ee7 instead
[   33.255620] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c001c: 0x23f1 instead
[   33.286160] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0020: 0xe4e2 instead
[   33.295634] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0024: 0xb260 instead
[   33.305114] jffs2: Further such events for this erase block will not be printed
[   33.392641] jffs2: Old JFFS2 bitmask found at 0x001cc43c
[   33.397967] jffs2: You cannot use older JFFS2 filesystems with newer kernels
[   33.422911] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0000: 0x075a instead
[   33.446181] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0004: 0x0522 instead
[   33.455649] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0008: 0xc5a4 instead
[   33.486149] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d000c: 0x4ae9 instead
[   33.495617] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0010: 0x0a9f instead
[   33.526143] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0014: 0x2af9 instead
[   33.535612] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0018: 0x3041 instead
[   33.566143] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d001c: 0xe75d instead
[   33.575608] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0020: 0xc023 instead
[   33.596170] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0024: 0xfe8f instead
[   33.605631] jffs2: Further such events for this erase block will not be printed
[   33.698654] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0000: 0xb333 instead
[   33.716304] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0004: 0x1767 instead
[   33.725768] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0008: 0x854f instead
[   33.756189] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e000c: 0x3e54 instead
[   33.765662] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0010: 0xfa5b instead
[   33.796143] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0014: 0x504c instead
[   33.805612] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0018: 0xab8e instead
[   33.836145] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e001c: 0x3d3b instead
[   33.845608] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0020: 0xcf8d instead
[   33.876150] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0024: 0xab23 instead
[   33.885613] jffs2: Further such events for this erase block will not be printed
[   33.930504] jffs2: Old JFFS2 bitmask found at 0x001e6234
[   33.935809] jffs2: You cannot use older JFFS2 filesystems with newer kernels
[   33.995091] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0000: 0x08ed instead
[   34.016155] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0004: 0xe494 instead
[   34.025623] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0008: 0x0892 instead
[   34.056150] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f000c: 0x9ce7 instead
[   34.065619] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0010: 0xaf97 instead
[   34.096150] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0014: 0xf5e2 instead
[   34.105623] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0018: 0x9e78 instead
[   34.136140] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f001c: 0x44a2 instead
[   34.145608] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0020: 0x59c8 instead
[   34.176150] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0024: 0x1acb instead
[   34.185607] jffs2: Further such events for this erase block will not be printed
...
[   48.772482] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003b0000: 0xe97c instead
[   48.806151] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003b0004: 0xccfe instead
[   48.815613] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003b0008: 0xfaff instead
[   48.836158] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003b000c: 0x6ffc instead
[   48.845623] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003b0010: 0xcd2f instead
[   48.876150] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003b0014: 0xcced instead
[   48.885620] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003b0018: 0xce06 instead
[   48.916148] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003b001c: 0xbffc instead
[   48.925615] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003b0020: 0xffed instead
[   48.956151] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003b0024: 0xfdff instead
[   48.965612] jffs2: Further such events for this erase block will not be printed
[   48.990008] jffs2: Empty flash at 0x003b05bc ends at 0x003b05c0
[   48.997842] jffs2: Empty flash at 0x003b0720 ends at 0x003b0724
[   49.018196] jffs2: Empty flash at 0x003b0f30 ends at 0x003b0f34
[   49.025997] jffs2: Empty flash at 0x003b1048 ends at 0x003b104c
[   49.048124] jffs2: Empty flash at 0x003b15bc ends at 0x003b15c0
[   49.055936] jffs2: Empty flash at 0x003b1720 ends at 0x003b1724
[   49.078241] jffs2: Empty flash at 0x003b1f30 ends at 0x003b1f34
[   49.086161] jffs2: Empty flash at 0x003b25bc ends at 0x003b25c0
[   49.108068] jffs2: Empty flash at 0x003b2720 ends at 0x003b2724
[   49.116293] jffs2: Empty flash at 0x003b2f30 ends at 0x003b2f34
[   49.138074] jffs2: Empty flash at 0x003b3048 ends at 0x003b304c
[   49.145944] jffs2: Empty flash at 0x003b35bc ends at 0x003b35c0
[   49.168062] jffs2: Empty flash at 0x003b3720 ends at 0x003b3724
[   49.176279] jffs2: Empty flash at 0x003b3f30 ends at 0x003b3f34
[   49.208140] jffs2: Empty flash at 0x003b45bc ends at 0x003b45c0
[   49.215951] jffs2: Empty flash at 0x003b4720 ends at 0x003b4724
[   49.238199] jffs2: Empty flash at 0x003b4f30 ends at 0x003b4f34
[   49.246009] jffs2: Empty flash at 0x003b5048 ends at 0x003b504c
[   49.268155] jffs2: Empty flash at 0x003b55bc ends at 0x003b55c0
[   49.275967] jffs2: Empty flash at 0x003b5720 ends at 0x003b5724
[   49.298175] jffs2: Empty flash at 0x003b5f30 ends at 0x003b5f34
[   49.306065] jffs2: Empty flash at 0x003b65bc ends at 0x003b65c0
[   49.328051] jffs2: Empty flash at 0x003b6720 ends at 0x003b6724
[   49.335980] jffs2: Empty flash at 0x003b6f30 ends at 0x003b6f34
[   49.358050] jffs2: Empty flash at 0x003b7048 ends at 0x003b704c
[   49.365921] jffs2: Empty flash at 0x003b75bc ends at 0x003b75c0
[   49.398076] jffs2: Empty flash at 0x003b7720 ends at 0x003b7724
[   49.406014] jffs2: Empty flash at 0x003b7f30 ends at 0x003b7f34
[   49.428175] jffs2: Empty flash at 0x003b85bc ends at 0x003b85c0
[   49.435980] jffs2: Empty flash at 0x003b8720 ends at 0x003b8724
[   49.458171] jffs2: Empty flash at 0x003b8f30 ends at 0x003b8f34
[   49.465977] jffs2: Empty flash at 0x003b9048 ends at 0x003b904c
[   49.488109] jffs2: Empty flash at 0x003b95bc ends at 0x003b95c0
[   49.495917] jffs2: Empty flash at 0x003b9720 ends at 0x003b9724
[   49.518172] jffs2: Empty flash at 0x003b9f30 ends at 0x003b9f34
[   49.526100] jffs2: Empty flash at 0x003ba720 ends at 0x003ba724
[   49.548255] jffs2: Empty flash at 0x003bb048 ends at 0x003bb04c
[   49.556162] jffs2: Empty flash at 0x003bb5bc ends at 0x003bb5c0
[   49.578057] jffs2: Empty flash at 0x003bb720 ends at 0x003bb724
[   49.586092] jffs2: Empty flash at 0x003bc5bc ends at 0x003bc5c0
[   49.608049] jffs2: Empty flash at 0x003bc720 ends at 0x003bc724
[   49.615980] jffs2: Empty flash at 0x003bcf30 ends at 0x003bcf34
[   49.638045] jffs2: Empty flash at 0x003bd048 ends at 0x003bd04c
[   49.645913] jffs2: Empty flash at 0x003bd5bc ends at 0x003bd5c0
[   49.678064] jffs2: Empty flash at 0x003bd720 ends at 0x003bd724
[   49.685996] jffs2: Empty flash at 0x003bdf30 ends at 0x003bdf34
[   49.708241] jffs2: Empty flash at 0x003be720 ends at 0x003be724
[   49.716177] jffs2: Empty flash at 0x003bf048 ends at 0x003bf04c
[   49.727472] jffs2: Empty flash at 0x003bf5bc ends at 0x003bf5c0
[   49.747271] jffs2: Empty flash at 0x003bf720 ends at 0x003bf724
[   49.753437] jffs2: Empty flash at 0x003bff30 ends at 0x003bff34
[   49.818134] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c0000: 0xffdd instead
[   49.846187] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c0004: 0xff5b instead
[   49.855650] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c0008: 0x7fe7 instead
[   49.876165] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c000c: 0xfaff instead
[   49.885627] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c0010: 0xfffa instead
[   49.916143] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c0014: 0xf3fb instead
[   49.925605] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c0018: 0x3ff7 instead
[   50.036174] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c001c: 0xfeff instead
[   50.045653] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c0020: 0x2fde instead
[   50.076184] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c0024: 0x9bbb instead
[   50.085649] jffs2: Further such events for this erase block will not be printed
[   50.228546] jffs2: Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
[   50.236999] jffs2: empty_blocks 0, bad_blocks 0, c->nr_blocks 61

I'm not sure what you mean by image recipe (did you mean the Makefile at target/linux/ar71xx/image/Makefile?), but I just forked it on GitHub and changed the "linux" partition .size from 0x160000 to 0x170000 as above.

I didn't see any rootfs_data related entry in target/linux/ar71xx/files/arch/mips/ath79/mach-xwr100.c, so which should I look for (is this the image recipe you asked about)?

Rootfs_data is just the read/write overlay area split off at the end of the rootfs. ( From end of image to end of partition) the log extracts pretty much show that, quite normally.

Your problems come from something else, as the jffs2 magic id is not found at the start of the partition, as expected. All those errors.

[   23.448418] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0xa145 instead
1 Like

I mean this
https://github.com/cmtsij/openwrt_XWR100/commit/c118eed8c9fcb727acdd18b2ffa177ae98e215d4#diff-cf6be97ce76c0bd6620a3835e8c6fea9b7d83483dc04936311de639dea619853R826-R832

It is old code, but likely means that kernel size is 1507328 bytes before rootfs. 1507328 is 23 blocks of 64 kB. 23 is 16+7, so hexadecimal 170000 sounds as the right size for kernel.

Is it because target/linux/ar71xx/image/generic.mk (line 826) didn't specify the correct MTDPARTS (line 27) (based on this)?

One possible reason is that kernel has grown, and is now larger than 1,5 MB.
You should investigate the image with a hex editor to see if there is zero padding after kernel until 0x170000. If kernel is larger, the rootfs would start at an unexpected place. (You would need to try changing the defined partition sizes)

Edit:
But if your image actually boots ok, that theory does not hold water.

It looks like my issue is not related to this (I guess there is no point in changing the .size of linux):

01538d0 38 fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01538e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0170000 68 73 71 73 6e 04 00 00 f3 2c 75 5b 00 00 04 00

Forgive me for asking a stupid question, but what are .offset and .size representing? (I kind of thought that .size means the total size of partition size, and .offset is where the partition begins. By this logic, the rootfs should begin at 0x1b0000, which is not the case, I guess).

The image f

Yes.

In flash it should. So the math says.
But as the file does not get written to 0x0 in flash, but starting from 0x040000, inside the file the rootfs starts from position 0x170000.
So far it looks like expected (if that hexdump was from the image file).

1 Like