Always in initramfs when using files/etc

hi, i build my own images for openwrt and this was working quiet a while nicely. i compiled it, flashed to sd, created the config i needed, made a backup of the config, extracted it to $openwrt/files and all images i created afterwards had my config on it.

but since a few weeks or months this is not working anymore somehow. so i started completely fresh again, i checked out the source with git, i copied the default config (banana pi r4) to .config, created the image and flashed it. that worked like a charm. then i started to configure a bit and put that into openwrt/files but whenever i boot now, i see in luci that the system is running in initramfs and i have absolutely no idea why. the config is used, the root password is set, wifi is working, all seems to work but somehow i am always in initramfs.

can anyone tell me why is that or how i can figure out whats causing that?

Whi dont you use default binary build?
What is in diffconfig.sh output?

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button (red circle; this works best in the 'Markdown' composer view in the blue oval):

Screenshot 2025-10-20 at 8.14.14 PM

Remember to redact passwords, VPN keys, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall

Because i want to have the config in the build.

oli@DESKTOP-RA0V02P:~/openwrt$ ./scripts/diffconfig.sh
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_bananapi_bpi-r4=y
CONFIG_PACKAGE_adblock=y
CONFIG_PACKAGE_attendedsysupgrade-common=y
CONFIG_PACKAGE_cgi-io=y
CONFIG_PACKAGE_coreutils=y
CONFIG_PACKAGE_coreutils-sort=y
CONFIG_PACKAGE_gawk=y
CONFIG_PACKAGE_ip-tiny=y
CONFIG_PACKAGE_kmod-crypto-lib-chacha20=y
CONFIG_PACKAGE_kmod-crypto-lib-chacha20poly1305=y
CONFIG_PACKAGE_kmod-crypto-lib-curve25519=y
CONFIG_PACKAGE_kmod-crypto-lib-poly1305=y
CONFIG_PACKAGE_kmod-udptunnel4=y
CONFIG_PACKAGE_kmod-udptunnel6=y
CONFIG_PACKAGE_kmod-wireguard=y
CONFIG_PACKAGE_libiwinfo=y
CONFIG_PACKAGE_libiwinfo-data=y
CONFIG_PACKAGE_liblucihttp=y
CONFIG_PACKAGE_liblucihttp-ucode=y
CONFIG_PACKAGE_libncurses=y
CONFIG_PACKAGE_libreadline=y
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-app-adblock=y
CONFIG_PACKAGE_luci-app-attendedsysupgrade=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-app-package-manager=y
CONFIG_PACKAGE_luci-app-udpxy=y
CONFIG_PACKAGE_luci-base=y
CONFIG_PACKAGE_luci-lib-uqr=y
CONFIG_PACKAGE_luci-light=y
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-mod-network=y
CONFIG_PACKAGE_luci-mod-status=y
CONFIG_PACKAGE_luci-mod-system=y
CONFIG_PACKAGE_luci-proto-ipv6=y
CONFIG_PACKAGE_luci-proto-ppp=y
CONFIG_PACKAGE_luci-proto-wireguard=y
CONFIG_PACKAGE_luci-ssl=y
CONFIG_PACKAGE_luci-theme-bootstrap=y
CONFIG_PACKAGE_luci-theme-material=y
CONFIG_PACKAGE_px5g-mbedtls=y
CONFIG_PACKAGE_resolveip=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-file=y
CONFIG_PACKAGE_rpcd-mod-iwinfo=y
CONFIG_PACKAGE_rpcd-mod-luci=y
CONFIG_PACKAGE_rpcd-mod-rpcsys=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
CONFIG_PACKAGE_rpcd-mod-ucode=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_ucode-mod-html=y
CONFIG_PACKAGE_ucode-mod-log=y
CONFIG_PACKAGE_ucode-mod-math=y
CONFIG_PACKAGE_udpxy=y
CONFIG_PACKAGE_uhttpd=y
CONFIG_PACKAGE_uhttpd-mod-ubus=y
CONFIG_PACKAGE_wireguard-tools=y
CONFIG_TARGET_ROOTFS_PARTSIZE=3000
# CONFIG_PACKAGE_kmod-crypto-kpp is not set

root@OpenWrt:~# ubus call system board
{
	"kernel": "6.12.60",
	"hostname": "OpenWrt",
	"system": "ARMv8 Processor rev 0",
	"model": "Banana Pi BPI-R4 (2x SFP+)",
	"board_name": "bananapi,bpi-r4",
	"rootfs_type": "initramfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "SNAPSHOT",
		"firmware_url": "https://downloads.openwrt.org/",
		"revision": "r32282-355bb8c890",
		"target": "mediatek/filogic",
		"description": "OpenWrt SNAPSHOT r32282-355bb8c890",
		"builddate": "1765309318"
	}
}

root@OpenWrt:~# cat /etc/config/network 

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	list ipaddr '127.0.0.1/8'

config globals 'globals'
	option dhcp_default_duid '0004abxxx6b11e2'
	option ula_prefix 'fd3xxx::/48'
	option packet_steering '1'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'sfp-lan'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	list ipaddr '192.168.1.1/24'
	option ip6assign '60'

config device
	option name 'sfp-wan'
	option macaddr 'xxx'

config interface 'wan'
	option device 'sfp-wan'
	option proto 'dhcp'

config interface 'wan6'
	option device 'sfp-wan'
	option proto 'dhcpv6'
	option reqaddress 'try'
	option reqprefix 'auto'
	option norelease '1'


root@OpenWrt:~# cat /etc/config/wireless 

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'soc/11300000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
	option radio '0'
	option band '2g'
	option channel 'auto'
	option htmode 'HT20'
	option country 'CH'
	option cell_density '0'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'oli'
	option encryption 'psk2'
	option key 'xxx'

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'soc/11300000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
	option radio '1'
	option band '5g'
	option channel 'auto'
	option htmode 'HE20'
	option country 'CH'
	option cell_density '0'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'oli5'
	option encryption 'sae'
	option key 'xxx'
	option ocv '0'

config wifi-device 'radio2'
	option type 'mac80211'
	option path 'soc/11300000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
	option radio '2'
	option band '6g'
	option channel 'auto'
	option htmode 'EHT160'
	option country 'CH'
	option cell_density '0'

config wifi-iface 'default_radio2'
	option device 'radio2'
	option network 'lan'
	option mode 'ap'
	option ssid 'oli7'
	option encryption 'sae'
	option key 'xxx'
	option ocv '0'


root@OpenWrt:~# cat /etc/config/dhcp 

config dnsmasq
	option domainneeded '1'
	option boguspriv '1'
	option filterwin2k '0'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option nonegcache '0'
	option cachesize '1000'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
	option nonwildcard '1'
	option localservice '1'
	option ednspacket_max '1232'
	option filter_aaaa '0'
	option filter_a '0'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	option dhcpv6 'server'
	option ra 'server'
	option ra_slaac '1'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/odhcpd.leases'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'
	option piofolder '/tmp/odhcpd-piofolder'
	option hostsdir '/tmp/hosts'

root@OpenWrt:~# cat /etc/config/firewall 

config defaults
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option synflood_protect '1'
	option flow_offloading '1'
	option flow_offloading_hw '1'

config zone
	option name 'lan'
	list network 'lan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'

config zone
	option name 'wan'
	list network 'wan'
	list network 'wan6'
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'DROP'
	option masq '1'
	option mtu_fix '1'

config forwarding
	option src 'lan'
	option dest 'wan'

config rule
	option name 'Allow-IGMP-Broadcast'
	option src 'wan'
	option proto 'udp'
	option dest_ip '224.0.0.0/4'
	option target 'ACCEPT'

config rule
	option name 'Allow-DHCP-Renew'
	option src 'wan'
	option proto 'udp'
	option dest_port '68'
	option target 'ACCEPT'
	option family 'ipv4'

config rule
	option name 'Allow-Ping'
	option src 'wan'
	option proto 'icmp'
	option icmp_type 'echo-request'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-IGMP'
	option src 'wan'
	option proto 'igmp'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-DHCPv6'
	option src 'wan'
	option proto 'udp'
	option dest_port '546'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-MLD'
	option src 'wan'
	option proto 'icmp'
	option src_ip 'fe80::/10'
	list icmp_type '130/0'
	list icmp_type '131/0'
	list icmp_type '132/0'
	list icmp_type '143/0'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Input'
	option src 'wan'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	list icmp_type 'router-solicitation'
	list icmp_type 'neighbour-solicitation'
	list icmp_type 'router-advertisement'
	list icmp_type 'neighbour-advertisement'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Forward'
	option src 'wan'
	option dest '*'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-IPSec-ESP'
	option src 'wan'
	option dest 'lan'
	option proto 'esp'
	option target 'ACCEPT'

config rule
	option name 'Allow-ISAKMP'
	option src 'wan'
	option dest 'lan'
	option dest_port '500'
	option proto 'udp'
	option target 'ACCEPT'

You need ext4 for banana overlay.

where did you get that information?

Because the default .config also has no ext4 afaik and there it works.

Compiled it with ext4 - still the same problem.

Go here:

Expand "customize packages" - here you go full ext4 to support block device overlay.

booting into initramfs, works as advertised, wrong image file ?

Maybe there is something changed in the buildsystem, and I don’t know the partition scheme for Banana PI.

Disable initramfs and squashfs

not sure what you mean. when i click on “Customize installed packages and/or first boot script” i see the list of installed packages. but not the kernel options.

@ElektromAn i will boot and see what the “correct” working image shows without any modification to $openwrt/files

edit: the working SD (the self compiled image without any modifications to $openwrt/files) boots into suashfs:

root@OpenWrt:~# ubus call system board
{
	"kernel": "6.12.60",
	"hostname": "OpenWrt",
	"system": "ARMv8 Processor rev 0",
	"model": "Banana Pi BPI-R4 (2x SFP+)",
	"board_name": "bananapi,bpi-r4",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "SNAPSHOT",
		"firmware_url": "https://downloads.openwrt.org/",
		"revision": "r32247-75915e3580",
		"target": "mediatek/filogic",
		"description": "OpenWrt SNAPSHOT r32247-75915e3580",
		"builddate": "1765211427"
	}
}

So i assume something is wrong, thats why its always in initramfs, but i dont know what. i guess it must go first into initramfs (for some initialization, dont know what exactly) and then should continue with squashfs but fails.

There is no kmod-ext4 in your config. Or ext4 utilities. Thus it is not able to create rootfs on a block device (as opposed to jffs2 or ubifs tools for MTD style raw flash devices, making banana more of a PC/raspberry than a typical router)

1 Like

i see no kmod-ext4 on that web page u listed. nor ext4-utilities. where do i have to click. please make a screenshot so i can see it.

the other thing is: i have the source in ~/openwrt, when i build that image and flash it, it works (with squashfs). as soon as i put any config file in ~/openwrt/files/etc, it does not work anymore. what has this to do with ext4?

guess i start again fresh… found https://mirror-03.infra.openwrt.org/snapshots/targets/mediatek/filogic/config.buildinfo and will see if one of those changes makes it

i cleaned the sources, used make menuconfig to select my device, then executed “make defconfig” and make -j24, gunzipped the sdcard image and flashed it to sd… again in initramfs now, even with the “default” config.

i edited now the .config to also contain those changes, executed make menuconfig and saved it, but still the same, initramfs problem…

Also in the package list - f2fs kmod and tools (really select all base packages)

but shouldnt it be enough to use make defconfig after selecting the device? i thought that creates the same .config that is used by the bot to build the binaries? i start to believe something has changed in the build logic or its some sort of bug, i never had such troubles...

Maybe re-select the device in menuconfig to select "default" packages, also unpack image and check they are installed.

how can i unpack the image? is there any tool to view the content of the .img?
i found this custom string option, i will use that in the future to be sure the sd writer wrote the correct data

root@DESKTOP-RA0V02P:/home/oli/openwrt/bin/targets/mediatek/filogic# fdisk openwrt-mediatek-filogic-bananapi_bpi-r4-sdcard.img

Welcome to fdisk (util-linux 2.41).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk openwrt-mediatek-filogic-bananapi_bpi-r4-sdcard.img: 80,75 MiB, 84672512 bytes, 165376 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5452574f

Device                                               Boot Start     End Sectors  Size Id Type
openwrt-mediatek-filogic-bananapi_bpi-r4-sdcard.img1          1 1048608 1048608  512M ee GPT
openwrt-mediatek-filogic-bananapi_bpi-r4-sdcard.img2 *       34    8191    8158    4M 83 Linux

root@DESKTOP-RA0V02P:/home/oli/openwrt/bin/targets/mediatek/filogic# binwalk openwrt-mediatek-filogic-bananapi_bpi-r4-sdcard.img

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
17920         0x4600          Mediatek Boot Header Version 1
18952         0x4A08          Mediatek File Info File Type: ARM-Bootloader EMMC-Boot-Region Signature Type: PHASH Load Address: 0x200D00 File Length: 248969 Maximum Size: 250505 Content Offset: 0x300 Signature Lenght: 32 Jump Offset: 768 POST_BUILD_DONE
226906        0x3765A         xz compressed data
7652312       0x74C3D8        CRC32 polynomial table, little endian
7722950       0x75D7C6        Unix path: /sys/fs/pstore under Linux.
7805655       0x771AD7        gzip compressed data, maximum compression, from Unix, last modified: 1970-01-01 00:00:00 (null date)
7822480       0x775C90        LZO compressed data
7825868       0x7769CC        Flattened device tree, size: 22032 bytes, version: 17
12582912      0xC00000        Flattened device tree, size: 14904988 bytes, version: 17
12583144      0xC000E8        LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 13918216 bytes
17052276      0x1043274       xz compressed data
20954140      0x13FBC1C       ASCII cpio archive (SVR4 with no CRC), file name: "lib/firmware/mediatek/mt7996/mt7996_wm_233.bin", file name length: "0x0000002F", file size: "0x0028EB38"
27437436      0x1A2A97C       Flattened device tree, size: 43976 bytes, version: 17
27481756      0x1A3569C       Flattened device tree, size: 1534 bytes, version: 17
27483616      0x1A35DE0       Flattened device tree, size: 285 bytes, version: 17
27484228      0x1A36044       Flattened device tree, size: 1462 bytes, version: 17
46139400      0x2C00808       Mediatek File Info File Type: ARM-Bootloader Flash Type: NAND Sequential Flash Signature Type: PHASH Load Address: 0x200D00 File Length: 265392 Maximum Size: 267440 Content Offset: 0x300 Signature Lenght: 32 Jump Offset: 768 POST_BUILD_DONE
46359836      0x2C3651C       xz compressed data
46402880      0x2C40D40       Flattened device tree, size: 618 bytes, version: 17
48011824      0x2DC9A30       CRC32 polynomial table, little endian
48082443      0x2DDAE0B       Unix path: /sys/fs/pstore under Linux.
48159388      0x2DEDA9C       gzip compressed data, maximum compression, from Unix, last modified: 1970-01-01 00:00:00 (null date)
48176322      0x2DF1CC2       LZO compressed data
48179708      0x2DF29FC       Flattened device tree, size: 22088 bytes, version: 17
53477888      0x3300200       Mediatek Boot Header Version 1
53478920      0x3300608       Mediatek File Info File Type: ARM-Bootloader EMMC-Boot-Region Signature Type: PHASH Load Address: 0x200D00 File Length: 253065 Maximum Size: 254601 Content Offset: 0x300 Signature Lenght: 32 Jump Offset: 768 POST_BUILD_DONE
53686906      0x333327A       xz compressed data
55362520      0x34CC3D8       CRC32 polynomial table, little endian
55433158      0x34DD7C6       Unix path: /sys/fs/pstore under Linux.
55515863      0x34F1AD7       gzip compressed data, maximum compression, from Unix, last modified: 1970-01-01 00:00:00 (null date)
55531183      0x34F56AF       LZO compressed data
55534572      0x34F63EC       Flattened device tree, size: 22088 bytes, version: 17
67108864      0x4000000       Flattened device tree, size: 4096 bytes, version: 17
67112960      0x4001000       gzip compressed data, maximum compression, from Unix, last modified: 1970-01-01 00:00:00 (null date)
73207808      0x45D1000       Flattened device tree, size: 43976 bytes, version: 17
73252864      0x45DC000       Flattened device tree, size: 1534 bytes, version: 17
73256960      0x45DD000       Flattened device tree, size: 285 bytes, version: 17
73261056      0x45DE000       Flattened device tree, size: 1462 bytes, version: 17
73265152      0x45DF000       Squashfs filesystem, little endian, version 4.0, compression:xz, size: 11245338 bytes, 1009 inodes, blocksize: 262144 bytes, created: 2025-12-11 06:39:34

root@DESKTOP-RA0V02P:/home/oli/openwrt/bin/targets/mediatek/filogic# mount -t squashfs -o loop,offset=73265152 openwrt-mediatek-filogic-bananapi_bpi-r4-sdcard.img test/


@ElektromAn thanks i will update this post for anyone else encountering this, so maybe its useful in the future.

Its now mounted and i have access to the FS. Its as expected a squashfs, not ext4, so i assume ext4 is not required here. The question is, how can i figure out now what is causing that behaviour with the stuck in initramfs?

binwalk, dd, dtc, fdisk are the tools of choise

for “entering” ar fileimage use losetup, “to jump at any postion” to make another “device”

But you habe to get “used to”

They are plenty of instruction online

1 Like

i guess i found something...

root@OpenWrt:~# dmesg 
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd090]
[    0.000000] Linux version 6.12.60 (oli@DESKTOP-RA0V02P) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 14.3.0 r32305-52fa3728e5) 14.3.0, GNU ld (GNU Binutils) 2.44) #0 SMP Thu Dec 11 06:39:34 2025
[    0.000000] Machine model: Banana Pi BPI-R4 (2x SFP+)
[    0.000000] OF: reserved mem: 0x0000000042ff0000..0x0000000042ffffff (64 KiB) map non-reusable ramoops@42ff0000
[    0.000000] OF: reserved mem: 0x0000000043000000..0x000000004304ffff (320 KiB) nomap non-reusable secmon@43000000
[    0.000000] OF: reserved mem: 0x0000000047cc0000..0x0000000047dbffff (1024 KiB) nomap non-reusable wmcpu-reserved@47cc0000
[    0.000000] OF: reserved mem: 0x000000004f600000..0x000000004f63ffff (256 KiB) nomap non-reusable wo-emi@4f600000
[    0.000000] OF: reserved mem: 0x000000004f640000..0x000000004f67ffff (256 KiB) nomap non-reusable wo-emi@4f640000
[    0.000000] OF: reserved mem: 0x000000004f680000..0x000000004f6bffff (256 KiB) nomap non-reusable wo-emi@4f680000
[    0.000000] OF: reserved mem: 0x000000004f700000..0x000000004fefffff (8192 KiB) nomap non-reusable wo-data@4f700000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000013fffffff]
[    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-0x000000004304ffff]
[    0.000000]   node   0: [mem 0x0000000043050000-0x0000000047cbffff]
[    0.000000]   node   0: [mem 0x0000000047cc0000-0x0000000047dbffff]
[    0.000000]   node   0: [mem 0x0000000047dc0000-0x000000004f5fffff]
[    0.000000]   node   0: [mem 0x000000004f600000-0x000000004f6bffff]
[    0.000000]   node   0: [mem 0x000000004f6c0000-0x000000004f6fffff]
[    0.000000]   node   0: [mem 0x000000004f700000-0x000000004fefffff]
[    0.000000]   node   0: [mem 0x000000004ff00000-0x000000013fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000013fffffff]
[    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.5
[    0.000000] percpu: Embedded 20 pages/cpu s42520 r8192 d31208 u81920
[    0.000000] pcpu-alloc: s42520 r8192 d31208 u81920 alloc=20*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: detected: Spectre-BHB
[    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: console=ttyS0,115200n1 pci=pcie_bus_perf root=/dev/fit0 rootwait
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1048576
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: area num 4.
[    0.000000] software IO TLB: mapped [mem 0x00000000f9de9000-0x00000000fdde9000] (64MB)
[    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] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 416 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: GICD_CTRL.DS=0, SCR_EL3.FIQ=0
[    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.000064] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
[    0.000071] pid_max: default: 32768 minimum: 301
[    0.002142] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.002156] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.003649] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.004112] rcu: Hierarchical SRCU implementation.
[    0.004114] rcu: 	Max phase no-delay instances is 1000.
[    0.004205] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[    0.004374] smp: Bringing up secondary CPUs ...
[    0.004589] Detected VIPT I-cache on CPU1
[    0.004628] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000
[    0.004649] CPU1: Booted secondary processor 0x0000000001 [0x411fd090]
[    0.004920] Detected VIPT I-cache on CPU2
[    0.004941] GICv3: CPU2: found redistributor 2 region 0:0x000000000c0c0000
[    0.004951] CPU2: Booted secondary processor 0x0000000002 [0x411fd090]
[    0.005186] Detected VIPT I-cache on CPU3
[    0.005207] GICv3: CPU3: found redistributor 3 region 0:0x000000000c0e0000
[    0.005217] CPU3: Booted secondary processor 0x0000000003 [0x411fd090]
[    0.005251] smp: Brought up 1 node, 4 CPUs
[    0.005255] SMP: Total of 4 processors activated.
[    0.005257] CPU: All CPU(s) started at EL2
[    0.005259] CPU features: detected: 32-bit EL0 Support
[    0.005261] CPU features: detected: CRC32 instructions
[    0.005289] alternatives: applying system-wide alternatives
[    0.005366] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.005462] Memory: 4009452K/4194304K available (9280K kernel code, 984K rwdata, 2764K rodata, 448K init, 300K bss, 181284K reserved, 0K cma-reserved)
[    0.008422] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.008432] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.008483] 29280 pages in range for non-PLT usage
[    0.008485] 520800 pages in range for PLT usage
[    0.009589] pinctrl core: initialized pinctrl subsystem
[    0.010495] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.010790] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.010892] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.010987] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.011260] thermal_sys: Registered thermal governor 'fair_share'
[    0.011262] thermal_sys: Registered thermal governor 'bang_bang'
[    0.011264] thermal_sys: Registered thermal governor 'step_wise'
[    0.011266] thermal_sys: Registered thermal governor 'user_space'
[    0.011308] ASID allocator initialised with 65536 entries
[    0.011811] pstore: Using crash dump compression: deflate
[    0.011817] printk: legacy console [ramoops-1] enabled
[    0.012070] pstore: Registered ramoops as persistent store backend
[    0.012075] ramoops: using 0x10000@0x42ff0000, ecc: 0
[    0.013937] /soc/interrupt-controller@c000000: Fixed dependency cycle(s) with /soc/interrupt-controller@c000000
[    0.017305] /soc/pcie@11280000: Fixed dependency cycle(s) with /soc/pcie@11280000/interrupt-controller
[    0.017410] /soc/pcie@11290000: Fixed dependency cycle(s) with /soc/pcie@11290000/interrupt-controller
[    0.017501] /soc/pcie@11300000: Fixed dependency cycle(s) with /soc/pcie@11300000/interrupt-controller
[    0.017596] /soc/pcie@11310000: Fixed dependency cycle(s) with /soc/pcie@11310000/interrupt-controller
[    0.027552] cryptd: max_cpu_qlen set to 1000
[    0.029249] SCSI subsystem initialized
[    0.029337] libata version 3.00 loaded.
[    0.030365] clocksource: Switched to clocksource arch_sys_counter
[    0.032057] NET: Registered PF_INET protocol family
[    0.032194] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.034483] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.034506] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.034517] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.034626] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
[    0.035086] TCP: Hash tables configured (established 32768 bind 32768)
[    0.035400] MPTCP token hash table entries: 4096 (order: 5, 98304 bytes, linear)
[    0.035514] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.035564] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.035767] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.035805] PCI: CLS 0 bytes, default 64
[    0.035951] Unpacking initramfs...
[    0.041437] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    0.045210] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.045216] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.077299] mtk-xsphy soc:xs-phy@11e10000: failed to get ref_clk(id-1)
[    0.077958] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    0.077976] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    0.077989] mtk-pcie-gen3 11280000.pcie:       IO 0x0020000000..0x00201fffff -> 0x0020000000
[    0.078004] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020200000..0x0027ffffff -> 0x0020200000
[    0.078103] mtk-pcie-gen3 11290000.pcie: host bridge /soc/pcie@11290000 ranges:
[    0.078114] mtk-pcie-gen3 11290000.pcie: Parsing ranges property...
[    0.078124] mtk-pcie-gen3 11290000.pcie:       IO 0x0028000000..0x00281fffff -> 0x0028000000
[    0.078134] mtk-pcie-gen3 11290000.pcie:      MEM 0x0028200000..0x002fffffff -> 0x0028200000
[    0.078153] /soc/pcie@11290000: Failed to get clk index: 0 ret: -517
[    0.078162] mtk-pcie-gen3 11290000.pcie: failed to get clocks
[    0.078229] mtk-pcie-gen3 11300000.pcie: host bridge /soc/pcie@11300000 ranges:
[    0.078239] mtk-pcie-gen3 11300000.pcie: Parsing ranges property...
[    0.078248] mtk-pcie-gen3 11300000.pcie:       IO 0x0030000000..0x00301fffff -> 0x0030000000
[    0.078258] mtk-pcie-gen3 11300000.pcie:      MEM 0x0030200000..0x0037ffffff -> 0x0030200000
[    0.078275] /soc/pcie@11300000: Failed to get clk index: 0 ret: -517
[    0.078283] mtk-pcie-gen3 11300000.pcie: failed to get clocks
[    0.078357] mtk-pcie-gen3 11310000.pcie: host bridge /soc/pcie@11310000 ranges:
[    0.078366] mtk-pcie-gen3 11310000.pcie: Parsing ranges property...
[    0.078376] mtk-pcie-gen3 11310000.pcie:       IO 0x0038000000..0x00381fffff -> 0x0038000000
[    0.078386] mtk-pcie-gen3 11310000.pcie:      MEM 0x0038200000..0x003fffffff -> 0x0038200000
[    0.078402] /soc/pcie@11310000: Failed to get clk index: 0 ret: -517
[    0.078410] mtk-pcie-gen3 11310000.pcie: failed to get clocks
[    0.083237] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[    0.084057] printk: legacy console [ttyS0] disabled
[    0.104338] 11000000.serial: ttyS0 at MMIO 0x11000000 (irq = 99, base_baud = 2500000) is a ST16650V2
[    0.104380] printk: legacy console [ttyS0] enabled
[    0.984347] Freeing initrd memory: 10140K
[    0.997071] random: crng init done
[    1.157539] loop: module loaded
[    1.161947] spi-nand spi0.0: Winbond SPI NAND was found.
[    1.167262] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    1.179443] 2 fixed-partitions partitions found on MTD device spi0.0
[    1.185998] Creating 2 MTD partitions on "spi0.0":
[    1.190814] 0x000000000000-0x000000200000 : "bl2"
[    1.196989] 0x000000200000-0x000008000000 : "ubi"
[    1.268873] ubi0: default fastmap pool size: 50
[    1.273417] ubi0: default fastmap WL pool size: 25
[    1.278198] ubi0: attaching mtd1
[    1.667529] ubi0: scanning is finished
[    1.675947] ubi0: attached mtd1 (name "ubi", size 126 MiB)
[    1.681432] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    1.688295] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    1.695074] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    1.702026] ubi0: good PEBs: 1008, bad PEBs: 0, corrupted PEBs: 0
[    1.708107] ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128
[    1.715319] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1697192243
[    1.724442] ubi0: available PEBs: 105, total reserved PEBs: 903, PEBs reserved for bad PEB handling: 20
[    1.733827] ubi0: background thread "ubi_bgt0d" started, PID 222
[    1.734294] block ubiblock0_1: created from ubi0:1(rootfs)
[    1.745305] ubiblock: device ubiblock0_1 (rootfs) set to be root filesystem
[    1.871867] i2c_dev: i2c /dev entries driver
[    1.876587] /soc/i2c@11003000/rt5190a@64: Fixed dependency cycle(s) with /soc/i2c@11003000/rt5190a@64/regulators/buck1
[    1.888358] mtk-lvts-thermal 1100a000.lvts: golden temp=60
[    1.895272] mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    1.910594] NET: Registered PF_INET6 protocol family
[    1.915948] Segment Routing with IPv6
[    1.919614] In-situ OAM (IOAM) with IPv6
[    1.923589] NET: Registered PF_PACKET protocol family
[    1.928680] 8021q: 802.1Q VLAN Support v1.8
[    1.935310] mtk-msdc 11230000.mmc: msdc_track_cmd_data: cmd=1 arg=00000000; host->error=0x00000002
[    1.945223] phy phy-soc:xs-phy@11e10000.3: type_sw - reg 0x194, index 0
[    1.952550] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    1.959860] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    1.966141] mtk-pcie-gen3 11280000.pcie:       IO 0x0020000000..0x00201fffff -> 0x0020000000
[    1.974575] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020200000..0x0027ffffff -> 0x0020200000
[    2.013344] mtk-msdc 11230000.mmc: msdc_track_cmd_data: cmd=1 arg=00000000; host->error=0x00000002
[    2.054515] mtk-msdc 11230000.mmc: msdc_track_cmd_data: cmd=1 arg=00000000; host->error=0x00000002
[    2.097642] mtk-msdc 11230000.mmc: msdc_track_cmd_data: cmd=1 arg=00000000; host->error=0x00000002
**[    2.108081] mmc0: Failed to initialize a non-removable card**
[    2.300370] mtk-pcie-gen3 11280000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1)
[    2.314726] mtk-pcie-gen3 11280000.pcie: probe with driver mtk-pcie-gen3 failed with error -110
[    2.323793] mtk-pcie-gen3 11290000.pcie: host bridge /soc/pcie@11290000 ranges:

the question is... why? is there any chance to get more information why it failed to initialize the card? i am in initramfs, could i somehow try to mount the card? it should then print the errors that cause that, right?

thought i'll ask chatgpt. it says its because of the openwrt-mediatek-filogic-bananapi_bpi-r4-squashfs-sysupgrade.itb, seems like it has

Default Configuration: 'config-mt7988a-bananapi-bpi-r4'
Configuration 0 (config-mt7988a-bananapi-bpi-r4) → fdt-1
Configuration 3 (mt7988a-bananapi-bpi-r4-sd) → fdt-mt7988a-bananapi-bpi-r4-sd

and it always boots default, which leads to no SD. not sure how reliable this information is or if this is very off...

First i thought thats an openwrt problem, but i start to believe thats something else (like .itb problem), so i created https://forum.banana-pi.org/t/unable-to-boot-openwrt-shapshot/26271

tested 2 old revisions, both worked. i will bisect but will continue posting only in https://forum.banana-pi.org/t/unable-to-boot-openwrt-shapshot/26271 as i highly believe this is an banana pi r4 problem with some .itb commit or so