1- # Banana Pi R3
1+ # Banana Pi BPI- R3
22
3- ## Support level
4- Full support for all Infix enabled features including switched ethernet ports, WiFi,
5- and SFP interfaces. The board includes comprehensive hardware support for
6- MediaTek MT7986 SoC features.
3+ <img src =" bananapi-bpi-r3.webp " alt =" The board " width =800 padding =10 >
74
8- ### Hardware features
9- The Banana Pi R3 is a high-performance networking board featuring:
10- - MediaTek MT7986 ARM Cortex-A53 quad-core processor
11- - 4x Gigabit LAN ports (lan1-lan4)
12- - 1x Gigabit WAN port
13- - 2x SFP ports (sfp1, sfp2) for fiber connectivity
14- - Dual WiFi interfaces (wifi0 for 2.4GHz, wifi1 for 5GHz)
15- - USB support
16- - SD card boot support
5+ ## Overview
176
18- ### Network configuration
19- The board comes preconfigured with:
20- - 4 switched LAN ports for internal networking
21- - Dedicated WAN port with DHCP client enabled
22- - SFP ports for high-speed fiber connections
23- - Dual WiFi interfaces for wireless connectivity
7+ The Banana Pi R3 is a high-performance networking board with full Infix
8+ support for all enabled features including switched Ethernet ports, WiFi,
9+ and SFP interfaces.
2410
25- ### Installing Infix on eMMC
11+ ### Hardware Features
2612
27- > [ !IMPORTANT]
28- > No standard eMMC image exist yet, you have to create it your own
29- > from the SD card image by replacing fip.bin in the SD card image to
30- > the eMMC variant.
13+ - MediaTek MT7986 ARM Cortex-A53 quad-core processor @ 2.0 GHz
14+ - 2 GB DDR4 RAM
15+ - 8 GB eMMC storage + microSD card slot
16+ - 5x Gigabit Ethernet ports (4x LAN, 1x WAN)
17+ - 2x SFP cages for fiber connectivity (1G/2.5G)
18+ - Dual-band WiFi (2.4 GHz + 5 GHz)
19+ - USB 3.0 port
20+ - Mini PCIe slot
3121
32- This guide describes how to install Infix on the internal eMMC storage of your BPI-R3.
33- The installation process requires a FTDI cable for console access, SD
34- card with Infix, a USB drive with the necessary bootloaders and eMMC
35- system image, and involves configuring the board's boot switches.
22+ ### Default Network Configuration
3623
37- #### Required files
24+ Infix comes preconfigured with:
3825
39- Download the following files and place them on a FAT32-formatted USB drive:
26+ - ** LAN ports** (lan1-lan4): Bridged for internal networking
27+ - ** WAN port** : DHCP client enabled for internet connectivity
28+ - ** SFP ports** (sfp1, sfp2): Available for configuration
29+ - ** WiFi interfaces** (wifi0, wifi1): Available for configuration
4030
41- 1 . ** NAND bootloader files** (for initial setup):
42- - [ bpi-r3_spim-nand_bl2.img] ( https://github.com/frank-w/u-boot/releases/download/CI-BUILD-2025-10-bpi-2025.10-2025-10-13_1032/bpi-r3_spim-nand_bl2.img )
43- - [ bpi-r3_spim-nand_fip.bin] ( https://github.com/frank-w/u-boot/releases/download/CI-BUILD-2025-10-bpi-2025.10-2025-10-13_1032/bpi-r3_spim-nand_fip.bin )
31+ ## Getting Started
4432
45- 2 . ** eMMC bootloader files** :
46- - Download and extract [ bpi-r3-emmc-boot-2025.01-latest.tar.gz] ( https://github.com/kernelkit/infix/releases/download/latest-boot/bpi-r3-emmc-boot-2025.01-latest.tar.gz )
47- - This contains ` bl2.img ` and ` fip.bin ` for eMMC boot
33+ ### Quick Start with SD Card
4834
49- 3 . ** System image** :
50- - ` infix-bpi-r3-emmc.img ` - The Infix system image for eMMC
35+ The easiest way to get started is using an SD card:
5136
52- #### Installation steps
37+ 1 . ** Download the SD card image:** [ infix-bpi-r3-sdcard.img] [ 2 ]
38+ 2 . ** Flash the image to an SD card:** see [ this guide] [ 0 ]
39+ 3 . ** Set boot switches:**
40+ - Set DIP switches to ** 0000** (SD card boot mode)
41+ - Switch positions are on the underside of the board near the SD slot
42+ 4 . ** Boot the board:**
43+ - Insert the SD card
44+ - Connect power
45+ - Connect to LAN port or console (115200 8N1)
46+ - Default login: ` admin ` / ` admin `
5347
54- ** Step 1: Flash NAND bootloader **
48+ ### Boot Switch Reference
5549
56- Boot from SD card and break into U-Boot by pressing Ctrl-C during startup:
50+ The BPI-R3 has a 4-position DIP switch that controls boot media:
51+
52+ <img align =" right " src =" bootstrap-switch.webp " alt =" DIP switches " width =200 padding =10 >
53+
54+ | Position | Mode | Description |
55+ | ----------| -------------| ---------------------------------------|
56+ | 0000 | SD card | Boot from microSD card (recommended) |
57+ | 0110 | eMMC | Boot from internal eMMC storage |
58+ | 0101 | SPI NAND | Boot from SPI NAND (advanced users) |
59+
60+ > [ !NOTE]
61+ > Switch position is read from left to right: "0" = OFF, "1" = ON.
62+ > When the DIP switch is in the "UP" position it is OFF(0).
63+
64+ ## Advanced: Installing to eMMC
65+
66+ For production deployments or better performance, you can install Infix
67+ to the internal eMMC storage. This is more complex but provides faster
68+ boot times and eliminates the external SD card.
69+
70+ ### Why Use eMMC?
71+
72+ ** Advantages:**
73+
74+ - Faster boot and better performance
75+ - No external SD card to manage
76+ - More robust for industrial/embedded deployments
77+
78+ ** Disadvantages:**
79+
80+ - More complex installation process
81+ - Requires intermediate NAND boot step
82+ - Harder to recover from errors
83+
84+ ### Prerequisites
85+
86+ - FTDI USB-to-serial cable (3.3V) for console access
87+ - microSD card with Infix (for initial boot)
88+ - USB flash drive (FAT32 formatted)
89+ - Downloaded files (see below)
90+
91+ ### Required Files
92+
93+ Download and place these files on a FAT32-formatted USB drive:
94+
95+ 1 . ** Intermediate NAND bootloader** (from Frank-W's U-Boot):
96+ - [ bpi-r3_spim-nand_bl2.img] [ 5 ] (BL2 loader)
97+ - [ bpi-r3_spim-nand_fip.bin] [ 6 ] (FIP image)
98+ 2 . ** Infix eMMC image:**
99+ - [ infix-bpi-r3-emmc.img] [ 3 ] (Complete system image)
100+ 3 . ** eMMC bootloader** (extracted from):
101+ - [ bpi-r3-emmc-boot-2025.01-latest.tar.gz] [ 4 ]
102+ - Extract ` bl2.img ` from the tarball to your USB drive
103+
104+ > [ !WARNING]
105+ > The following process involves multiple boot mode changes. Take your
106+ > time verify each step carefully.
107+
108+ ### Installation Steps
109+
110+ #### Step 1: Boot from SD card
111+
112+ 1 . Set boot switches to ** 0000** (SD card mode)
113+ 2 . Insert SD card with Infix
114+ 3 . Power on and break into U-Boot (press Ctrl-C during boot)
115+
116+ #### Step 2: Flash intermediate NAND bootloader
117+
118+ This step installs a temporary bootloader to NAND that will help us
119+ flash the eMMC. From the U-Boot prompt:
57120
58121```
59122usb start
@@ -64,9 +127,13 @@ fatload usb 0:1 0x50000000 bpi-r3_spim-nand_fip.bin
64127mtd write spi-nand0 0x50000000 0x380000 0x200000
65128```
66129
67- Power off the board and set the boot switch to ** 0101** (NAND boot mode), then power on.
130+ #### Step 3: Boot from NAND
131+
132+ 1 . Power off the board
133+ 2 . Set boot switches to ** 0101** (NAND mode)
134+ 3 . Power on - you should boot into U-Boot again
68135
69- ** Step 2: Flash system to eMMC**
136+ #### Step 4: Write Infix image to eMMC
70137
71138From the U-Boot prompt:
72139
@@ -77,9 +144,11 @@ setexpr blocks ${filesize} / 0x200
77144mmc write 0x50000000 0x0 ${blocks}
78145```
79146
80- ** Step 3: Configure eMMC bootloader **
147+ This writes the complete Infix system (partitions, rootfs, etc.) to eMMC.
81148
82- Write the eMMC bootloader and configure the boot partition:
149+ #### Step 5: Configure eMMC boot
150+
151+ Now configure the eMMC boot partition and write the bootloader:
83152
84153```
85154mmc partconf 0 1 1 1
@@ -90,8 +159,72 @@ mmc partconf 0 1 1 0
90159mmc bootbus 0 0 0 0
91160```
92161
93- Power off the board, set the boot switch to ** 0110** (eMMC boot mode), and power on.
94- Your BPI-R3 should now boot Infix from the internal eMMC storage.
162+ #### Step 6: Boot from eMMC
163+
164+ 1 . Power off the board
165+ 2 . Set boot switches to ** 0110** (eMMC mode)
166+ 3 . Remove SD card (optional, but recommended to verify eMMC boot)
167+ 4 . Power on
168+
169+ Your BPI-R3 should now boot Infix from internal eMMC storage!
170+
171+ ## Troubleshooting
172+
173+ ### Board won't boot
174+
175+ - Verify boot switch positions (check twice!)
176+ - Ensure power supply provides adequate current (12V/2A recommended)
177+ - Try booting from SD card with switches at ** 0000**
178+
179+ ### Can't break into U-Boot
180+
181+ - Ensure serial console is connected properly (115200 8N1, 3.3V)
182+ - Press Ctrl-C immediately when you see boot messages
183+ - Try power cycling and pressing Ctrl-C repeatedly
184+
185+ ### eMMC boot fails after installation
186+
187+ - Boot from NAND (** 0101** ) and verify eMMC image was written
188+ - Check USB drive contents - ensure all files are present
189+ - Re-run Step 5 (eMMC boot configuration)
190+
191+ ### Reverting to SD card
192+
193+ Simply set boot switches back to ** 0000** and boot from SD card. The
194+ eMMC installation does not affect SD card functionality.
195+
196+ ## Additional Resources
197+
198+ - [ Infix Documentation] [ 1 ]
199+ - [ Official BPI-R3 Wiki] [ 7 ]
200+ - [ Release Downloads] [ 8 ]
201+
202+ ## Building Custom Images
203+
204+ See the main Infix documentation for building from source. To build both
205+ SD card and eMMC images locally:
206+
207+ ``` bash
208+ # Build bootloaders for both SD and eMMC
209+ make x-bpi-r3-sd-boot
210+ make x-bpi-r3-emmc-boot
211+
212+ # Build main system
213+ make aarch64
214+
215+ # Create SD card image
216+ ./utils/mkimage.sh -od bananapi-bpi-r3
217+
218+ # Create eMMC image
219+ ./utils/mkimage.sh -odt emmc bananapi-bpi-r3
220+ ```
95221
96- ### Pre-built images
97- SD card image: [ infix-bpi-r3-sdcard.img] ( https://github.com/kernelkit/infix/releases/download/latest-boot/infix-bpi-r3-sdcard.img )
222+ [ 0 ] : https://kernelkit.org/posts/flashing-sdcard/
223+ [ 1 ] : https://kernelkit.org/infix/latest/
224+ [ 2 ] : https://github.com/kernelkit/infix/releases/download/latest-boot/infix-bpi-r3-sdcard.img
225+ [ 3 ] : https://github.com/kernelkit/infix/releases/download/latest-boot/infix-bpi-r3-emmc.img
226+ [ 4 ] : https://github.com/kernelkit/infix/releases/download/latest-boot/bpi-r3-emmc-boot-2025.01-latest.tar.gz
227+ [ 5 ] : https://github.com/frank-w/u-boot/releases/download/CI-BUILD-2025-10-bpi-2025.10-2025-10-13_1032/bpi-r3_spim-nand_bl2.img
228+ [ 6 ] : https://github.com/frank-w/u-boot/releases/download/CI-BUILD-2025-10-bpi-2025.10-2025-10-13_1032/bpi-r3_spim-nand_fip.bin
229+ [ 7 ] : https://wiki.banana-pi.org/Banana_Pi_BPI-R3
230+ [ 8 ] : https://github.com/kernelkit/infix/releases/tag/latest-boot
0 commit comments