Banana PI BPI-R3 BSP source code

Where can find the repo for BSP for R3? I see that github repo is empty. I need U-Boot,kernel,dt. Thanks

It is all (TF-A, U-Boot, Kernel, DT) already merged upstream in OpenWrt. Unlike the initial BSP supplied by SinoVoip, all hardware features are supported there now (incl. automatic switching of SGMII, 1000Base-X, 2500Base-X for the SFP cages, temperature controlled PWM fan, …).

git clone
cd openwrt
scripts/feeds update -a
scripts/feeds install -a
make menuconfig
# select MediaTek ARM target, Filogic subtarget, BananaPi R3 board. Then choose packages you want to include in your build

make -j$(nproc)
# this will build ARM Trusted Firmware, U-Boot, DT, Linux and userland **from source**

# find images in bin/targets/mediatek/filogic folder
1 Like

Great thanks

Is it also available within buildroot defconfig files?

In case you are referring to the Buildroot, then no. In OpenWrt’s buildroot it can be selected in menuconfig which results in all components being built from source.

Hi @dangowrt!

I’ve successfully built the image using this method: I’ve configured the source for BPI R3 and left other options by default. The result image boots great, but there’s no web-gui. As i got i need a luci support. I’ve added it using menuconfig, but nothing has changed - no such process, or any process that uses port 80.

Building with ALL_NONSHARED, ALL_KMODS, and ALL results in build errors in llvm-bpf and some other packages.

I’m not familiar with OpenWrt architecture/structure, so for now it’s a kind of blind tinkering, so can You please provide some default config for R3 which includes web-GUI, or kindly point to it’s location?

Thanks a lot!

If you use the prebuilt image you should be able to install lucy via opkg

opkg update
opkg install luci-ssl

Thanks, i was able to build it with luci built-in, but it took some time and a lot of attempts due to errors with some packages/modules decencies.

P.S. nice wifi speed :slight_smile:

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.05  sec  1.40 GBytes  1.20 Gbits/sec   46             sender
[  5]   0.00-10.00  sec  1.40 GBytes  1.20 Gbits/sec                  receiver


- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.33 GBytes  1.14 Gbits/sec    0             sender
[  5]   0.00-10.01  sec  1.33 GBytes  1.14 Gbits/sec                  receiver

~6m in the line of sight

Hi. I’m a total newbie, so don’t hit me hard, please, because of stupid questions.

Does this method creates ready-to-go image? Because I can see plenty of different files on openwrt site (u-boot, sdcard etc). I’m asking, because now I have archer c2 router and I’m familiar with factory and sysupgrade images only. Not something like “u-boot”, “tf” etc. Is “u-boot” something like uefi and it loads before sdcard image? How I can update it in that case? Or sdcard image already contains all necessary files (tf, u-boot etc).

Do I need to format sd card before writing an image (and what filesystem should I choose in that case)?

Thank you.

Tf (atf or tf-a) and uboot are parts of (sd-) image.

Only fixed part is bootrom which loads bl2 (first part of tf-a) and then bl3x (second part of tf-a)/uboot (bootloader which loads linux kernel and passing arguments to it).

You do not need to format sdcard because first parts are overridden by writing image to card, but maybe a wipe (to remove backup gpt at the end of card) is needed.

Does this bootrom flashed somewhere on the board and cannot be changed/destroyed?

Afaik bootrom is fixed (only does basic boot-medium init and calls bl2) and cannot be changed.

1 Like