[BPI-R3 Mini] How to extend eMMC overlayfs?

But it’s not possible… OpenWet build it using UBIFS :frowning: What’s the other method to use all other space without resize fitrw?

What’s the issue with the other 5+ solutions that got provided to you? Plus, the ones from the OpenWrt forums that frank didn’t link to.

so just to recap if I’ve understood correctly:

in the eMMC, instead of using UBI stuff, you have created partition manually and extracted all stuff on it, then you have changed rootfs into cmdline for the kernel, right?

In that case… a sysupgrade retains configuration?

so i’ve tried your approach but the BPI crash, this is the boot log:

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.82 (lynx@openwrt-buildroot) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 13.2.0 r25869-12b2cb2ec3f1) 13.2.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Tue Apr  9 17:30:41 2024
[    0.000000] Machine model: Bananapi BPi-R3 Mini
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000bfffffff]
[    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-0x000000004fbfffff]
[    0.000000]   node   0: [mem 0x000000004fc00000-0x000000004ffbffff]
[    0.000000]   node   0: [mem 0x000000004ffc0000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.4
[    0.000000] percpu: Embedded 18 pages/cpu s33384 r8192 d32152 u73728
[    0.000000] pcpu-alloc: s33384 r8192 d32152 u73728 alloc=18*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Kernel command line: root=/dev/mmcblk0p6 rw
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 2040232K/2097152K available (8256K kernel code, 886K rwdata, 2412K rodata, 448K init, 289K bss, 56920K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 640 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 13.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
[    0.000000] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
[    0.000140] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
[    0.000147] pid_max: default: 32768 minimum: 301
[    0.000366] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.000377] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.001054] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.001352] cblist_init_generic: Setting adjustable number of callback queues.
[    0.001355] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.001447] rcu: Hierarchical SRCU implementation.
[    0.001449] rcu:     Max phase no-delay instances is 1000.
[    0.001763] smp: Bringing up secondary CPUs ...
[    0.002020] Detected VIPT I-cache on CPU1
[    0.002069] cacheinfo: Unable to detect cache hierarchy for CPU 1
[    0.002076] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000
[    0.002104] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.002377] Detected VIPT I-cache on CPU2
[    0.002410] cacheinfo: Unable to detect cache hierarchy for CPU 2
[    0.002414] GICv3: CPU2: found redistributor 2 region 0:0x000000000c0c0000
[    0.002425] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.002672] Detected VIPT I-cache on CPU3
[    0.002703] cacheinfo: Unable to detect cache hierarchy for CPU 3
[    0.002707] GICv3: CPU3: found redistributor 3 region 0:0x000000000c0e0000
[    0.002716] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.002741] smp: Brought up 1 node, 4 CPUs
[    0.002745] SMP: Total of 4 processors activated.
[    0.002747] CPU features: detected: 32-bit EL0 Support
[    0.002749] CPU features: detected: CRC32 instructions
[    0.002772] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.002775] CPU: All CPU(s) started at EL2
[    0.002776] alternatives: applying system-wide alternatives
[    0.005918] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.005934] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.006070] pinctrl core: initialized pinctrl subsystem
[    0.006571] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.006839] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[    0.006868] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.006894] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.007249] thermal_sys: Registered thermal governor 'fair_share'
[    0.007251] thermal_sys: Registered thermal governor 'bang_bang'
[    0.007253] thermal_sys: Registered thermal governor 'step_wise'
[    0.007255] thermal_sys: Registered thermal governor 'user_space'
[    0.007302] ASID allocator initialised with 65536 entries
[    0.007621] pstore: Registered ramoops as persistent store backend
[    0.007623] ramoops: using 0x10000@0x42ff0000, ecc: 0
[    0.016547] cryptd: max_cpu_qlen set to 1000
[    0.017751] SCSI subsystem initialized
[    0.017855] libata version 3.00 loaded.
[    0.018746] clocksource: Switched to clocksource arch_sys_counter
[    0.019297] NET: Registered PF_INET protocol family
[    0.019430] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.020417] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.020436] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.020444] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.020518] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
[    0.020851] TCP: Hash tables configured (established 16384 bind 16384)
[    0.020936] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.020965] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.021094] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.021116] PCI: CLS 0 bytes, default 64
[    0.022160] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[    0.025002] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.025010] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.048207] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    0.048227] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    0.048236] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020000000..0x002fffffff -> 0x0020000000
[    0.048318] /soc/pcie@11280000: Failed to get clk index: 0 ret: -517
[    0.048326] mtk-pcie-gen3 11280000.pcie: failed to get clocks
[    0.051176] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[    0.051849] printk: console [ttyS0] disabled
[    0.071974] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 116, base_baud = 2500000) is a ST16650V2
[    0.790926] printk: console [ttyS0] enabled
[    0.815742] 11003000.serial: ttyS1 at MMIO 0x11003000 (irq = 117, base_baud = 1625000) is a ST16650V2
[    0.825579] mtk_rng 1020f000.rng: registered RNG driver
[    0.831126] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.839502] loop: module loaded
[    0.843961] spi spi0.0: setup: ignoring unsupported mode bits a00
[    0.850314] spi-nand spi0.0: Winbond SPI NAND was found.
[    0.855612] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    0.863850] 2 fixed-partitions partitions found on MTD device spi0.0
[    0.870372] Creating 2 MTD partitions on "spi0.0":
[    0.875148] 0x000000000000-0x000000200000 : "bl2"
[    0.881832] 0x000000200000-0x000008000000 : "ubi"
[    0.987708] ubi0: default fastmap pool size: 50
[    0.992244] ubi0: default fastmap WL pool size: 25
[    0.997019] ubi0: attaching mtd1
[    3.113108] ubi0: scanning is finished
[    3.140860] ubi0: attached mtd1 (name "ubi", size 126 MiB)
[    3.146340] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    3.153206] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    3.159975] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    3.166915] ubi0: good PEBs: 1008, bad PEBs: 0, corrupted PEBs: 0
[    3.172990] ubi0: user volume: 7, internal volumes: 1, max. volumes count: 128
[    3.180192] ubi0: max/mean erase counter: 3/1, WL threshold: 4096, image sequence number: 1642748947
[    3.189301] ubi0: available PEBs: 0, total reserved PEBs: 1008, PEBs reserved for bad PEB handling: 20
[    3.198584] ubi0: background thread "ubi_bgt0d" started, PID 191
[    3.202320] block ubiblock0_1: created from ubi0:1(fit)
[    3.460446] mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc009480000, irq 121
[    3.470221] mtk_soc_eth 15100000.ethernet eth1: mediatek frame engine at 0xffffffc009480000, irq 121
[    3.479773] i2c_dev: i2c /dev entries driver
[    3.485867] mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    3.494365] NET: Registered PF_INET6 protocol family
[    3.500002] Segment Routing with IPv6
[    3.503669] In-situ OAM (IOAM) with IPv6
[    3.507609] NET: Registered PF_PACKET protocol family
[    3.512737] 8021q: 802.1Q VLAN Support v1.8
[    3.517898] pstore: Using crash dump compression: deflate
[    3.531034] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    3.538344] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    3.544636] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020000000..0x002fffffff -> 0x0020000000
[    3.607893] mtk-msdc 11230000.mmc: Final PAD_DS_TUNE: 0x14014
[    3.614812] mmc0: new HS400 MMC card at address 0001
[    3.620639] mmcblk0: mmc0:0001 008GB0 7.28 GiB 
[    3.627734]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p128
[    3.633523] mmcblk0boot0: mmc0:0001 008GB0 4.00 MiB 
[    3.639339] mmcblk0boot1: mmc0:0001 008GB0 4.00 MiB 
[    3.644519] mmcblk0rpmb: mmc0:0001 008GB0 4.00 MiB, chardev (250:0)
[    3.898750] mtk-pcie-gen3 11280000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1)
[    3.907541] mtk-pcie-gen3: probe of 11280000.pcie failed with error -110
[    3.915374] FIT: Detected U-Boot 2024.01-OpenWrt-r25978-ea609fe486
[    3.921550] FIT: Selected configuration: "config-mt7986a-bananapi-bpi-r3-mini" (OpenWrt bananapi_bpi-r3-mini)
[    3.931449] FIT:           kernel sub-image 0x00001000..0x0053d65c "kernel-1" (ARM64 OpenWrt Linux-6.1.82) 
[    3.941173] FIT:          flat_dt sub-image 0x0053e000..0x005453b1 "fdt-1" (ARM64 OpenWrt bananapi_bpi-r3-mini device tree blob) 
[    3.952803] FIT:       filesystem sub-image 0x00546000..0x015b2fff "rootfs-1" (ARM64 OpenWrt bananapi_bpi-r3-mini rootfs) 
[    3.964134] block mmcblk0p5: mapped 1 uImage.FIT filesystem sub-image as /dev/fit0
[    3.971928] block mmcblk0p5: mapped remaing space as /dev/fitrw
[    3.978976] UBI: auto-attach mtd1
[    3.982279] ubi: mtd1 is already attached to ubi0
[    3.986964] UBI error: cannot attach mtd1
[    4.021234] EXT4-fs (mmcblk0p6): recovery complete
[    4.027076] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Quota mode: disabled.
[    4.035983] VFS: Mounted root (ext4 filesystem) on device 179:6.
[    4.042132] Freeing unused kernel memory: 448K
[    4.068781] Run /sbin/init as init process
[    4.072861]   with arguments:
[    4.075811]     /sbin/init
[    4.078502]   with environment:
[    4.081634]     HOME=/
[    4.083978]     TERM=linux
[    4.105655] init: Console is alive
[    4.109193] init: - watchdog -
[    4.116165] kmodloader: no module folders for kernel version 6.1.82 found
[    4.132769] init: - preinit -
[    4.318787] mtk_soc_eth 15100000.ethernet eth0: validation of 2500base-x with support 00000000,00000000,000062e8 and advertisement 00000000,00000000,000062c0 failed: -EINVAL
[    4.334346] leds mdio-bus:0e:green:lan: Setting an LED's brightness failed (-524)
[    4.341894] leds mdio-bus:0e:yellow:lan: Setting an LED's brightness failed (-524)
[    4.388741] mtk_soc_eth 15100000.ethernet eth0: mtk_open: could not attach PHY: -22
RTNETLINK answers: Invalid argument
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    5.628744] random: crng init done
[    6.439581] mount_root: attempt to access beyond end of device
[    6.439581] fitrw: rw=8192, sector=172032, nr_sectors = 8 limit=168552
[    6.451924] mount_root: attempt to access beyond end of device
[    6.451924] fitrw: rw=8192, sector=172040, nr_sectors = 8 limit=168552
[    6.464288] mount_root: attempt to access beyond end of device
[    6.464288] fitrw: rw=8192, sector=172048, nr_sectors = 8 limit=168552
[    6.476607] mount_root: attempt to access beyond end of device
[    6.476607] fitrw: rw=8192, sector=172056, nr_sectors = 8 limit=168552
[    6.488927] mount_root: attempt to access beyond end of device
[    6.488927] fitrw: rw=8192, sector=172064, nr_sectors = 8 limit=168552
[    6.501246] mount_root: attempt to access beyond end of device
[    6.501246] fitrw: rw=8192, sector=172072, nr_sectors = 8 limit=168552
[    6.513564] mount_root: attempt to access beyond end of device
[    6.513564] fitrw: rw=8192, sector=172080, nr_sectors = 8 limit=168552
[    6.525891] mount_root: attempt to access beyond end of device
[    6.525891] fitrw: rw=8192, sector=172088, nr_sectors = 8 limit=168552
[    6.538210] mount_root: attempt to access beyond end of device
[    6.538210] fitrw: rw=8192, sector=172096, nr_sectors = 8 limit=168552
[    6.550531] mount_root: attempt to access beyond end of device
[    6.550531] fitrw: rw=8192, sector=172104, nr_sectors = 8 limit=168552
[    6.563361] F2FS-fs (fitrw): Failed to initialize F2FS segment manager (-5)
[    6.570959] mount_root: failed to mount -t f2fs /dev/fitrw /tmp/overlay: I/O error
[    6.579195] urandom-seed: Seed file not found (/etc/urandom.seed)
[    6.594536] procd: - early -
[    6.597468] procd: - watchdog -
[    7.119161] procd: - watchdog -
[    7.123378] procd: - ubus -
[    7.176927] procd: - init -
Please press Enter to activate this console.
[    7.293570] kmodloader: no module folders for kernel version 6.1.82 found
[    7.480092] urngd: v1.0.2 started.
[   10.398790] mtk_soc_eth 15100000.ethernet eth0: validation of 2500base-x with support 00000000,00000000,000062e8 and advertisement 00000000,00000000,000062c0 failed: -EINVAL
[   10.414340] leds mdio-bus:0e:green:lan: Setting an LED's brightness failed (-524)
[   10.421910] leds mdio-bus:0e:yellow:lan: Setting an LED's brightness failed (-524)
[   10.429526] leds : Setting an LED's brightness failed (-524)
[   10.435175] Unable to handle kernel access to user memory outside uaccess routines at virtual address 0000000000000008
[   10.445848] Mem abort info:
[   10.448627]   ESR = 0x0000000096000005
[   10.452363]   EC = 0x25: DABT (current EL), IL = 32 bits
[   10.457656]   SET = 0, FnV = 0
[   10.460700]   EA = 0, S1PTW = 0
[   10.463826]   FSC = 0x05: level 1 translation fault
[   10.468684] Data abort info:
[   10.471552]   ISV = 0, ISS = 0x00000005
[   10.475370]   CM = 0, WnR = 0
[   10.478321] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000042263000
[   10.484744] [0000000000000008] pgd=080000004285d003, p4d=080000004285d003, pud=080000004285d003, pmd=0000000000000000
[   10.495335] Internal error: Oops: 0000000096000005 [#1] SMP
[   10.500888] Modules linked in:
[   10.503929] CPU: 1 PID: 1389 Comm: netifd Not tainted 6.1.82 #0
[   10.509829] Hardware name: Bananapi BPi-R3 Mini (DT)
[   10.514774] pstate: 00400005 (nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   10.521714] pc : kernfs_find_and_get_ns+0x1c/0x70
[   10.526407] lr : sysfs_unmerge_group+0x20/0x64
[   10.530833] sp : ffffffc00ad038f0
[   10.534130] x29: ffffffc00ad038f0 x28: ffffff80008f6900 x27: 0000000000000000
[   10.541246] x26: 0000000000000000 x25: ffffff80008ec000 x24: 0000000000000000
[   10.548361] x23: 0000000000000080 x22: 0000000000000000 x21: ffffffc008885600
[   10.555476] x20: ffffffc0088854e0 x19: 0000000000000000 x18: 00000000000000da
[   10.562591] x17: 2064656c69616620 x16: 7373656e74686769 x15: ffffffc008b099c0
[   10.569707] x14: 00002c0d0df1a4aa x13: 00b03800056ebb6a x12: 00000000e5b906e6
[   10.576821] x11: 00000000000000dc x10: 00000000000008c0 x9 : ffffffc00ad037e0
[   10.583936] x8 : ffffff80034543e0 x7 : 000000000000145a x6 : 0000000000000001
[   10.591050] x5 : 000000026cc99000 x4 : 0000000000000000 x3 : ffffff8003453ac0
[   10.598166] x2 : 0000000000000000 x1 : ffffffc008885600 x0 : 0000000000000000
[   10.605282] Call trace:
[   10.607713]  kernfs_find_and_get_ns+0x1c/0x70
[   10.612056]  sysfs_unmerge_group+0x20/0x64
[   10.616135]  dpm_sysfs_remove+0x2c/0x70
[   10.619960]  device_del+0xa4/0x440
[   10.623349]  device_unregister+0x14/0x30
[   10.627257]  led_classdev_unregister+0x84/0xf0
[   10.631684]  phy_remove+0x38/0x90
[   10.634986]  device_remove+0x68/0x7c
[   10.638547]  device_release_driver_internal+0x1cc/0x230
[   10.643753]  device_release_driver+0x14/0x20
[   10.648006]  phy_detach+0xc4/0x15c
[   10.651393]  phylink_fwnode_phy_connect+0xcc/0x100
[   10.656166]  phylink_of_phy_connect+0x18/0x20
[   10.660505]  mtk_open+0x34/0xa1c
[   10.663718]  __dev_open+0xe8/0x160
[   10.667106]  __dev_change_flags+0x138/0x190
[   10.671272]  dev_change_flags+0x20/0x60
[   10.675091]  dev_ifsioc+0xf8/0x40c
[   10.678478]  dev_ioctl+0x28c/0x49c
[   10.681864]  sock_ioctl+0x30c/0x424
[   10.685339]  __arm64_sys_ioctl+0x1b0/0xe80
[   10.689421]  invoke_syscall.constprop.0+0x4c/0xe0
[   10.694110]  do_el0_svc+0x40/0xd0
[   10.697410]  el0_svc+0x14/0x4c
[   10.700452]  el0t_64_sync_handler+0x10c/0x120
[   10.704792]  el0t_64_sync+0x14c/0x150
[   10.708442] Code: aa0003f3 a9025bf5 aa0103f5 aa0203f6 (f9400400) 
[   10.714515] ---[ end trace 0000000000000000 ]---
[   10.721788] Kernel panic - not syncing: Oops: Fatal exception
[   10.727515] SMP: stopping secondary CPUs
[   10.731423] Kernel Offset: disabled
[   10.734895] CPU features: 0x00000,00000004,0000400b
[   10.739754] Memory Limit: none
[   10.745387] Rebooting in 3 seconds..

the main error is this one:

[ 7.293570] kmodloader: no module folders for kernel version 6.1.82 found

but on the rootfs the folder /etc/modules-boot.d is present and valid

No…this is the main problem:

and we are again on the my main problem… sysfs done by openwrt it’s trying to mount /dev/fitrw as overlay :frowning:

so any suggestion? Only way to increate it is to compile my own image…

i think main problem is fitblk, from the snapshot almost all unit is using this method instead of old one… I’ve tried to build image removing fitblk but nothing to do

@Charles_Brandenburg are you using official snapshot or using one built by you?

Anyone guys? I’m the only one with this problem? :frowning:

can you please stop this spamming?

sorry frank, I don’t want to spam. I’m just trying to figure out this problem. @Charles_Brandenburg has posted a solution (and also other of you) that doesn’t seem to work with the latest snapshot.

That’s all…

but i’m no expert in openwrt, so i cannot help here and there are not much experts here (maybe @dangowrt )…but i guess you have better luck in openwrt forum.

so at the moment only way to use rootfs_data as overlay is to follow this guide:

https://openwrt.org/docs/guide-user/additional-software/extroot_configuration

using that one I was able to swap all stuf on the rest of the space. I should test firmware upgrade, not sure it will survive…

I’ll update post when i’ve done this step

extroot is a possible generic way, but the most easy way on this hardware is to simply modify the partition size of the production partition. This can either be done at runtime when booting into the recovery system and using a partition editor like fdisk or parted. If using this method the change will only have an effect after the next sysupgrade or when otherwise wiping and re-creating, or manually resizing the rootfs_overlay filesystem.

Or it can be done when building the image from source by setting CONFIG_TARGET_ROOTFS_PARTSIZE in .config to a value in megabytes (default is 104MB).

The same can also be done when using the ImageBuilder by using the ROOTFS_PARTSIZE= parameter.

1 Like

yes I did it on my first attempt but I had two problems:

  • cannot use full size of eMMC, lost about 1GB
  • I need to build image by myself, and I want to avoid this :slight_smile:

your production-partition is later in partition table (there is also a recovery-partition which also needs some space)…and 8G eMMC does not mean it has 8GB :wink: it is afair ~7.4GB due to calculation in bytes not having factor 1000 (it uses factor 1024)

This is due to F2FS reserved space, making sure there is always enough unallocated space available for relocation by the eMMC internal FTL. You could use ext4fs instead in theory, but filling it up to 100% will very likely lead to a premature death of the eMMC, and the purpose of F2FS is exactly to avoid that.

You don’t need to build yourself. You can edit the partition table on the device once (as described above), it will not be altered by future firmware updates.

Oh never heard about it. So it’s a sort of fail protection like SSD does for bad cell right?

So if I flash first “custom” build and then an official one the fitrw partition is not resized? Because in one of my attempt, when flashing back stock img, fitrw was back to 80MB

In theory yes, in practice it seems to be a bit worse on eMMC than on most NVMe or SATA SSDs. See here for more details: F2FS - Wikipedia

As long as you are using the sysupgrade tool with the *sysupgrade.itb image the partition table will not change. Ie. custom changes to partition sizes will be preserved across updates.

The partition table is only written once upon initial installation to eMMC.

Seeing this discussion here. What is a reasonable size to use for the ROOTFS? Since all the packages included in OpenWrt are very small by default, having 8GB for root doesn’t seem reasonable.

The data on the partition is also overwritten with every sysupgrade, right?

Wouldn’t it then make more sense to use the remaining space on eMMC for a data partition (as suggested in other posts here and on OpenWrt forums) and mount it somewhere like /mnt/data? And then only use a slightly bigger rootfs with 256 or 512MB?