[Banana Pi BPI-R64] Mainline OpenWRT image

But it do what I want. Give me internet after start immediately.

Iā€™ve updated the OpenWrt snapshot image for the R64 one more time, now the sdcard.img comes gz compressed and already contains everything, no need to use dd on the command line. Installation instructions are updated accordingly:

Iā€™m still waiting to receive my R2 board (should arrive these days), my plan is to update this in the same way as I did for the R64. Rough plan is:

  • U-Boot similar to what I did for the R64
  • get rid of block2mtd
  • get rid FAT boot filesystem
  • clean up all other legacy or confused details when it comes to run OpenWrt on that hardware

Itā€™s kinda sad that support for 32-bit KVM host was dropped from Linux recently, it was kinda useful on the R1 and the R2:

with last version fresh install i canā€™t access to web interface

I think you donā€™t install it. You need execute:

opkg update
opkg install luci
1 Like

I canā€™t help. Maybe you should ask on openwrt forum?

Looks like firewall problem, maybe DNS resolution is affected by that. Did you change any settings regarding firewall or dnsmasq?

On latest master, I wrote .gz to sdcard but image wonā€™t save settings unless I do sysupgrade after booting image. Is this intended?

This used to be intended when SD Card did not yet come ready with all images installed. I dropped the logic forcing first boot to use recovery as we no longer need that now:

Thank you for reporting this!

1 Like

Hi. Today I have flash OpenWRT image from 7 april. And It donā€™t boot. Instead It reboot cyclically. Log:

[    0.007813] thermal_sys: Registered thermal governor 'user_space'
[    0.008115] ASID allocator initialised with 65536 entries
[    0.028112] gpio-499 (asm_sel): hogged as output/high
[    0.041623] SCSI subsystem initialized
[    0.041904] libata version 3.00 loaded.
[    0.042107] usbcore: registered new interface driver usbfs
[    0.042147] usbcore: registered new interface driver hub
[    0.042189] usbcore: registered new device driver usb
[    0.043441] clocksource: Switched to clocksource arch_sys_counter
[    0.044141] NET: Registered protocol family 2
[    0.045387] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.045419] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.045476] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
[    0.045604] TCP: Hash tables configured (established 8192 bind 8192)
[    0.045766] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.045798] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.045973] NET: Registered protocol family 1
[    0.046003] PCI: CLS 0 bytes, default 64
[    0.049207] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    0.051941] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.051954] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.083661] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[    0.084300] mtk-tphy 1a0c4000.usb-phy: failed to get ref_clk(id-1)
[    0.089709] mt-pmic-pwrap 10001000.pwrap: unexpected interrupt int=0x1
[    0.104646] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.106791] printk: console [ttyS0] disabled
[    0.106868] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 22, base_baud = 1562500) is a 16550A
[    0.719032] printk: console [ttyS0] enabled
[    0.723932] 11004000.serial: ttyS1 at MMIO 0x11004000 (irq = 23, base_baud = 1562500) is a 16550A
[    0.733724] 1100c000.serial: ttyS2 at MMIO 0x1100c000 (irq = 29, base_baud = 17499995) is a MediaTek BTIF
[    0.743465] serial serial0: tty port ttyS2 registered
[    0.748997] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.758244] loop: module loaded
[    0.761426] Loading iSCSI transport class v2.0-870.
[    0.767318] ahci-mtk 1a200000.sata: supply ahci not found, using dummy regulator
[    0.774891] ahci-mtk 1a200000.sata: supply phy not found, using dummy regulator
[    0.782372] ahci-mtk 1a200000.sata: supply target not found, using dummy regulator
[    0.790100] ahci-mtk 1a200000.sata: forcing port_map 0x0 -> 0x1
[    0.796058] ahci-mtk 1a200000.sata: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    0.804930] ahci-mtk 1a200000.sata: flags: ncq sntf pm clo only pmp pio slum part ccc apst
[    0.813962] scsi host0: ahci-mtk
[    0.817480] ata1: SATA max UDMA/133 mmio [mem 0x1a200000-0x1a2010ff] port 0x100 irq 36
[    0.828578] libphy: Fixed MDIO Bus: probed
[    0.856452] libphy: mdio: probed
[    0.860645] mtk_soc_eth 1b100000.ethernet eth0: mediatek frame engine at 0xffffffc011a60000, irq 38
[    0.869773] mtk_soc_eth 1b100000.ethernet: generated random MAC address 42:ae:39:ca:61:da
[    0.878268] mtk_soc_eth 1b100000.ethernet eth1: mediatek frame engine at 0xffffffc011a60000, irq 38
[    0.889883] mtk-wdt 10212000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    0.901356] mtk-msdc 11240000.mmc: Got CD GPIO
[    0.901405] NET: Registered protocol family 10
[    0.911091] Segment Routing with IPv6
[    0.914830] NET: Registered protocol family 17
[    0.919318] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    0.932659] 8021q: 802.1Q VLAN Support v1.8
[    0.949206] mtk-pcie 1a143000.pcie: host bridge /pcie@1a143000 ranges:
[    0.955793] mtk-pcie 1a143000.pcie: Parsing ranges property...
[    0.961658] mtk-pcie 1a143000.pcie:      MEM 0x0020000000..0x0027ffffff -> 0x0020000000
[    0.981320] mmc1: host does not support reading read-only switch, assuming write-enable
[    0.991450] mmc1: new high speed SDHC card at address 5048
[    0.998272] mmcblk1: mmc1:5048 SD16G 14.4 GiB
[    1.006442] Alternate GPT is invalid, using primary GPT.
[    1.012355] FIT: volume size: 442368 sectors (226492416 bytes)
[    1.018196] FIT: FDT structure size: 4096 bytes
[    1.022759] FIT: Default configuration: config-1 (OpenWrt bananapi_bpi-r64)
[    1.029731] FIT:           kernel sub-image 0x00001000 - 0x004decc7 'kernel-1' (ARM64 OpenWrt Linux-5.10.27)
[    1.039657] FIT:          flat_dt sub-image 0x004df000 - 0x004e6a38 'fdt-1' (ARM64 OpenWrt bananapi_bpi-r64 device tree blob)
[    1.051062] FIT:          flat_dt sub-image 0x004e7000 - 0x004e7198 'fdt-mt7622-bananapi-bpi-r64-pcie1' (ARM64 OpenWrt bananapi_bpi-r64 device tree overlay mt7622-bananapi-bpi-r64-pcie1)
[    1.067761] FIT:          flat_dt sub-image 0x004e8000 - 0x004e8210 'fdt-mt7622-bananapi-bpi-r64-sata' (ARM64 OpenWrt bananapi_bpi-r64 device tree overlay mt7622-bananapi-bpi-r64-sata)
[    1.069969] mtk-pcie 1a143000.pcie: Port0 link down
[    1.084278] FIT:       filesystem sub-image 0x004e9000 - 0x00945000 'rootfs-1' (ARM64 OpenWrt bananapi_bpi-r64 rootfs)
[    1.089319] mtk-pcie 1a143000.pcie: PCI host bridge to bus 0000:00
[    1.099923] FIT: selecting configured loadable rootfs-1 to be root filesystem
[    1.099946]  mmcblk1: p1 p2 p3 p4 p5 p65(rootfs-1) p66(rootfs_data) p128
[    1.106104] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.125467] pci_bus 0000:00: root bus resource [mem 0x20000000-0x27ffffff]
[    1.132354] pci_bus 0000:00: scanning bus
[    1.137655] pci_bus 0000:00: fixups for bus
[    1.141844] pci_bus 0000:00: bus scan returning with max=00
[    1.147810] mtk_hsdma 1b007000.dma-controller: Using 3 as missing dma-requests property
[    1.156112] mtk_hsdma 1b007000.dma-controller: MediaTek HSDMA driver registered
[    1.166229] ata1: SATA link down (SStatus 0 SControl 300)
[    1.173831] mtk-msdc 11230000.mmc: phase: [map:fffffff] [maxlen:28] [final:9]
[    1.182250] mmc0: new HS200 MMC card at address 0001
[    1.188735] mmcblk0: mmc0:0001 008G30 7.28 GiB
[    1.194216] mmcblk0boot0: mmc0:0001 008G30 partition 1 4.00 MiB
[    1.201279] mmcblk0boot1: mmc0:0001 008G30 partition 2 4.00 MiB
[    1.207325] mmcblk0rpmb: mmc0:0001 008G30 partition 3 4.00 MiB, chardev (249:0)
[    1.210508] libphy: dsa slave smi: probed
[    1.219752] mt7530 mdio-bus:00 wan (uninitialized): PHY [dsa-0.0:00] driver [Generic PHY] (irq=POLL)
[    1.230375] mt7530 mdio-bus:00 lan1 (uninitialized): PHY [dsa-0.0:01] driver [Generic PHY] (irq=POLL)
[    1.240322] Alternate GPT is invalid, using primary GPT.
[    1.241151] mt7530 mdio-bus:00 lan2 (uninitialized): PHY [dsa-0.0:02] driver [Generic PHY] (irq=POLL)
[    1.255644] FIT: volume size: 2007040 sectors (1027604480 bytes)
[    1.256392] mt7530 mdio-bus:00 lan3 (uninitialized): PHY [dsa-0.0:03] driver [Generic PHY] (irq=POLL)
[    1.261696] FIT: FDT structure size: 4096 bytes
[    1.272197] mt7530 mdio-bus:00 lan4 (uninitialized): PHY [dsa-0.0:04] driver [Generic PHY] (irq=POLL)
[    1.275446] FIT: Default configuration: config-1 (OpenWrt bananapi_bpi-r64)
[    1.285540] mt7530 mdio-bus:00: configuring for fixed/2500base-x link mode
[    1.291587] FIT:           kernel sub-image 0x00001000 - 0x004decc7 'kernel-1' (ARM64 OpenWrt Linux-5.10.27)
[    1.291604] FIT:          flat_dt sub-image 0x004df000 - 0x004e6a38 'fdt-1' (ARM64 OpenWrt bananapi_bpi-r64 device tree blob)
[    1.299511] DSA: tree 0 setup
[    1.308389] FIT:          flat_dt sub-image 0x004e7000 - 0x004e7198 'fdt-mt7622-bananapi-bpi-r64-pcie1' (ARM64 OpenWrt bananapi_bpi-r64 device tree overlay mt7622-bananapi-bpi-r64-pcie1)
[    1.321076] mt7530 mdio-bus:00: Link is Up - 2.5Gbps/Full - flow control rx/tx
[    1.322732] FIT:          flat_dt sub-image 0x004e8000 - 0x004e8210 'fdt-mt7622-bananapi-bpi-r64-sata' (ARM64 OpenWrt bananapi_bpi-r64 device tree overlay mt7622-bananapi-bpi-r64-sata)
[    1.339632] xhci-mtk 1a0c0000.usb: xHCI Host Controller
[    1.346630] FIT:       filesystem sub-image 0x004e9000 - 0x00945000 'rootfs-1' (ARM64 OpenWrt bananapi_bpi-r64 rootfs)
[    1.363157] xhci-mtk 1a0c0000.usb: new USB bus registered, assigned bus number 1
[    1.368337] FIT: selecting configured loadable rootfs-1 to be root filesystem
[    1.380766] xhci-mtk 1a0c0000.usb: hcc params 0x01403198 hci version 0x96 quirks 0x0000000000210010
[    1.386528]  mmcblk0: p1 p2 p3 p4 p65(rootfs-1) p66(rootfs_data) p128
[    1.393706] xhci-mtk 1a0c0000.usb: irq 34, io mem 0x1a0c0000
[    1.415378] hub 1-0:1.0: USB hub found
[    1.419243] hub 1-0:1.0: 2 ports detected
[    1.423690] xhci-mtk 1a0c0000.usb: xHCI Host Controller
[    1.428952] xhci-mtk 1a0c0000.usb: new USB bus registered, assigned bus number 2
[    1.436373] xhci-mtk 1a0c0000.usb: Host supports USB 3.0 SuperSpeed
[    1.442697] usb usb2: We dont know the algorithms for LPM for this host, disabling LPM.
[    1.451120] hub 2-0:1.0: USB hub found
[    1.454910] hub 2-0:1.0: 1 port detected
[    1.460574] VFS: Cannot open root device "mmcblk0p5" or unknown-block(179,13): error -6
[    1.468600] Please append a correct "root=" boot option; here are the available partitions:
[    1.476954] b300        15122432 mmcblk1
[    1.476957]  driver: mmcblk
[    1.483754]   b301             512 mmcblk1p1 5452574f-2211-4433-5566-778899aabb01
[    1.483756]
[    1.492719]   b302            1024 mmcblk1p2 5452574f-2211-4433-5566-778899aabb02
[    1.492720]
[    1.501677]   b303            1024 mmcblk1p3 5452574f-2211-4433-5566-778899aabb03
[    1.501678]
[    1.510636]   b304           32768 mmcblk1p4 5452574f-2211-4433-5566-778899aabb04
[    1.510637]
[    1.519598]   b305          221184 mmcblk1p5 5452574f-2211-4433-5566-778899aabb05
[    1.519600]
[    1.528566]   103:00000       4464 mmcblk1p65
[    1.528568]
[    1.534487]   103:00001     211692 mmcblk1p66
[    1.534488]
[    1.540414]   103:00002        495 mmcblk1p128 5452574f-2211-4433-5566-778899aabb80
[    1.540415]
[    1.549548] b308         7634944 mmcblk0
[    1.549550]  driver: mmcblk
[    1.556341]   b309            1024 mmcblk0p1 5452574f-2211-4433-5566-778899aabb01
[    1.556343]
[    1.565302]   b30a            1024 mmcblk0p2 5452574f-2211-4433-5566-778899aabb02
[    1.565304]
[    1.574266]   b30b           32768 mmcblk0p3 5452574f-2211-4433-5566-778899aabb03
[    1.574268]
[    1.583226]   b30c         1003520 mmcblk0p4 5452574f-2211-4433-5566-778899aabb04
[    1.583227]
[    1.592189]   103:00003       4464 mmcblk0p65
[    1.592190]
[    1.598109]   103:00004     994028 mmcblk0p66
[    1.598111]
[    1.604037]   103:00005       2031 mmcblk0p128 5452574f-2211-4433-5566-778899aabb80
[    1.604038]
[    1.613172] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,13)
[    1.621688] SMP: stopping secondary CPUs
[    1.625604] Kernel Offset: disabled
[    1.629085] CPU features: 0x0000002,04002004
[    1.633344] Memory Limit: none
[    1.636391] Rebooting in 1 seconds..

Seems like mmcblk0p5 is missingā€¦

You need to update U-Boot as well or change bootargs to root=/dev/mmcblkXp65 because I haved changed the mapping of uImage.FIT sub-partitions to use the range above mmcblkXp64. That makes it less confusing when using other tools (cfdisk and such) to partition the disk.

Yes сhanging bootargs to root=/dev/mmcblk0p65 had help. But I want explain that I had updated U-Boot by command ā€œInstall bootloader and recovery to eMMC.ā€, but my env stay from previous u-boot.

Imho in openwrt Env is stored in separate partition which should not be erased on update

1 Like

Works but imho not nice (erasing environment maybe changed by user without asking)

Hello guys. Iā€™ve tried to compiled the lastest version with linux kernel 5.4 and ext4 filesystem but boot failed. I copied the config-5.4 file from @graphine 's r64-emmc branch. The system hangs with ā€œstarting kernelā€¦ā€ and been reset after watchdog timed out. Can anyone help me to solve the problem?

That branch is no longer updated since @dangowrt added mainline support for r64 , as stated in the first post. You can build from openwrt master (squashfs + f2fs overlay).

News: OpenWrt contributor Oskari Lemmela wrapped up booting the BPi-R64 entirely from the SPI-NAND chip. SD Card will allow installing OpenWrt to SPI-NAND.

3 Likes