BPI-R2 新镜像: BPI-R2 OpenWrt(LEDE) Souce code : 2018-05-09



Source code

The source code is at: https://github.com/garywangcn/bpi-r2_lede/tree/bpi-r2-on-lede-v1

Please clone the code to local and checkout the code from branch bpi-r2-on-lede-v1.


Run “make menuconfig” to configure this project, and run command “make -j1 V=s” to build it.
A configuration file of this project is attached for you referenceconfig (153.1 KB)


The differences between this and the previous release(2018-04-11) is that the following packages are integrated by default:

  • WIFI support package(wmt)
  • MMC tool
  • LUCI(based on branch lede-17.01)
  • Strongwan

You will get three images from below image links:

  • build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-mediatek_32/mtk-bpi-r2-SD.img: This is for SD image, please program it to SD card by executing command “dd if=mtk-bpi-r2-SD.img of=/dev/mmcblkx”

  • build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-mediatek_32/mtk-bpi-r2-EMMC.img: This is for EMMC image, please follow below steps to program it EMMC:
    We need another system which is running on SD card to program EMMC image to EMMC, please follow below steps to do:

    1. Copy EMMC image to a running system which is from SD card
    2. Program EMMC image to User Data Area of EMMC: dd if=mtk-bpi-r2-EMMC.img of=/dev/mmcblk0 (assume /dev/mmcblk0 is for EMMC)
    3. Unlock EMMC boot0 block: echo 0 > /sys/block/mmcblk0boot0/force_ro
    4. Program preloader to EMMC boot0 block: dd if=mtk-bpi-r2-EMMC.img of=/dev/mmcblk0boot0 bs=1M count=1
    5. Change the Partition configurion of EMMC is 48h: reboot the system which is running SD, and enter the U-boot command line, run command emmc pconf 48 (for this steps, we can change partition configuration in userspace by using mmc-utils, see more information in http://forum.banana-pi.org/t/bpi-r2-openwrt-lede-souce-code-2018-04-11/5395/19)
    6. Power off, remove SD card, and then power on R2 board.
  • bin/targets/mediatek/32/lede-mediatek-32-bananapi,bpi-r2-sysupgrade.tar:

    This is for runtime upgrade, copy it to R2 board which is running OpenWrt system(no matter where(SD or EMMC) it boots from), and then run command “sysupgrade lede-mediatek-32-bananapi,bpi-r2-sysupgrade.tar” to update both kernel and rootfs.

    Note1: sysupgrade can be executed when jffs2 file system is initialized completely, the log “jffs2_build_xattr_subsystem: complete building xattr subsystem” means the initialization of jffs2 file system is done.

    Note2: The images in Image link2 are compiled with hard-float, and you can install the userland package which is from online repositories.

Image link1(Without hard-float instructions)

Image link2(With hard-float instructions)

Supported Features

  1. Support WIFI module(package package/utils/wmt)
  2. Two pre-program image and one upgrade package are generated
  3. Add uboot package to this project(package/boot/uboot-mtk-bpi-r2)
  4. Two Ethernet interfaces and switch works
  5. Both PCIe0 and PCIe1 works
  6. sysupgrade tool is supported
  7. Both SATA interfaces works
  8. LUCI support(New)
    • Updating from web is supported, please use image lede-mediatek-32-bananapi,bpi-r2-sysupgrade.tar
  9. If you use image from Image link 2, installing a userland package from online repositories is supported.


  1. Both HDMI and MIPI interface do NOT work
  2. PCIe2 (which is shared with USB3.0) does NOT work
  3. BT doesn’t work
  4. If you use image from Image link 1, installing package from online repository(opkg update/install) is not supported, the workaround is that please build the package you required by yourself.
  5. Don’t use the latest code of feeds. looks like they are unstable.


A configuration file of this project is attached for you referenceconfig 这里连接打不开