Skip to main content
KnowHow DB
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Flash

  1. download & unzip BananaPi OpenWrt fork images
  2. 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
  3. create & boot SD card
    1. bpi-copy mtk-bpi-r4-8g-MP4_1-SD-20250318.img /dev/mmcblk0
    2. set jumper to SD (see jumper image at bottom)
    3. put SD card in bpi-r4 and power on
  4. flash NAND
    1. copy mtk-bpi-r4-8g-MP4_1-NAND-20250318.img to USB stick and stick it in the bpi-r4
    2. connect to open WIFI and ssh to 192.168.1.1
    3. flash NAND
    cd /mnt/sda1
    mtd erase /dev/mtd0
    dd if=mtk-bpi-r4-8g-MP4_1-NAND-20250318.img of=/dev/mtdblock0
    
    1. power off
  5. Flash official OpenWrt on EMMC
    1. 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
    2. copy files to USB-stick and stick it in in the bpi-r4
    3. set jumper to NAND (see jumper image at bottom)
    4. power on
    5. connect to open WIFI and ssh to 192.168.1.1
    6. 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
      
    7. power off
    8. Set jumper to EMMC (see jumper image at bottom)
    9. power on

Jumper

Sources