Flash
- download & unzip BananaPi OpenWrt fork images
- install bpi-tools
- install pv (
sudo pacman -Syu pv) curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash
- install pv (
- create & boot SD card
bpi-copy mtk-bpi-r4-8g-MP4_1-SD-20250318.img /dev/mmcblk0- set jumper to SD (see jumper image at bottom)
- put SD card in bpi-r4 and power on
- flash NAND
- copy
mtk-bpi-r4-8g-MP4_1-NAND-20250318.imgto USB stick and stick it in the bpi-r4 - connect to open WIFI and ssh to 192.168.1.1
- flash NAND
cd /mnt/sda1 mtd erase /dev/mtd0 dd if=mtk-bpi-r4-8g-MP4_1-NAND-20250318.img of=/dev/mtdblock0- power off
- copy
- Flash official OpenWrt on EMMC
- Download the following files via official OpenWrt Firmware Selector (select version, click on customize and request build first)
- SYSUPGRADE
- KERNEL
- EMMC-PRELOADER-8G.BIN
- EMMC-GPT.BIN
- EMMC-BL31-UBOOT.FIP
- copy files to USB-stick and stick it in in the bpi-r4
- set jumper to NAND (see jumper image at bottom)
- power on
- connect to open WIFI and ssh to 192.168.1.1
- Flash EMMC
cd /mnt/sda1 dd if=openwrt-138e0e3a2c92-mediatek-filogic-bananapi_bpi-r4-poe-emmc-gpt.bin of=/dev/mmcblk0 bs=512 count=34 conv=fsync blockdev --rereadpt /dev/mmcblk0 echo 0 > /sys/block/mmcblk0boot0/force_ro dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=13312 count=8192 conv=fsync dd if=openwrt-138e0e3a2c92-mediatek-filogic-bananapi_bpi-r4-poe-emmc-bl31-uboot.fip of=/dev/mmcblk0p3 conv=fsync dd if=openwrt-mediatek-filogic-bananapi_bpi-r4-poe-initramfs-recovery.itb of=/dev/mmcblk0p4 conv=fsync dd if=openwrt-138e0e3a2c92-mediatek-filogic-bananapi_bpi-r4-poe-squashfs-sysupgrade.itb of=/dev/mmcblk0p5 conv=fsync dd if=openwrt-138e0e3a2c92-mediatek-filogic-bananapi_bpi-r4-poe-emmc-preloader-8g.bin of=/dev/mmcblk0boot0 conv=fsync - power off
- Set jumper to EMMC (see jumper image at bottom)
- power on
- Download the following files via official OpenWrt Firmware Selector (select version, click on customize and request build first)
