Skip to content

Commit 3765d54

Browse files
committed
bpi-r3: Document eMMC flashing
1 parent f7ac16c commit 3765d54

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

board/aarch64/bananapi-bpi-r3/README.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,70 @@ The board comes preconfigured with:
2222
- SFP ports for high-speed fiber connections
2323
- Dual WiFi interfaces for wireless connectivity
2424

25+
### Installing Infix on eMMC
26+
27+
This guide describes how to install Infix on the internal eMMC storage of your BPI-R3.
28+
The installation process requires an SD card with Infix, a USB drive with the necessary
29+
bootloader and system images, and involves configuring the board's boot switches.
30+
31+
#### Required files
32+
33+
Download the following files and place them on a FAT32-formatted USB drive:
34+
35+
1. **NAND bootloader files** (for initial setup):
36+
- [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)
37+
- [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)
38+
39+
2. **eMMC bootloader files**:
40+
- 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)
41+
- This contains `bl2.img` and `fip.bin` for eMMC boot
42+
43+
3. **System image**:
44+
- `infix-bpi-r3-emmc.img` - The Infix system image for eMMC
45+
46+
#### Installation steps
47+
48+
**Step 1: Flash NAND bootloader**
49+
50+
Boot from SD card and break into U-Boot by pressing Ctrl-C during startup:
51+
52+
```
53+
usb start
54+
mtd erase spi-nand0
55+
fatload usb 0:1 0x50000000 bpi-r3_spim-nand_bl2.img
56+
mtd write spi-nand0 0x50000000 0x0 0x100000
57+
fatload usb 0:1 0x50000000 bpi-r3_spim-nand_fip.bin
58+
mtd write spi-nand0 0x50000000 0x380000 0x200000
59+
```
60+
61+
Power off the board and set the boot switch to **0101** (NAND boot mode), then power on.
62+
63+
**Step 2: Flash system to eMMC**
64+
65+
From the U-Boot prompt:
66+
67+
```
68+
usb start
69+
fatload usb 0:1 0x50000000 infix-bpi-r3-emmc.img
70+
setexpr blocks ${filesize} / 0x200
71+
mmc write 0x50000000 0x0 ${blocks}
72+
```
73+
74+
**Step 3: Configure eMMC bootloader**
75+
76+
Write the eMMC bootloader and configure the boot partition:
77+
78+
```
79+
mmc partconf 0 1 1 1
80+
mmc erase 0x0 0x400
81+
fatload usb 0:1 0x50000000 bl2.img
82+
mmc write 0x50000000 0x0 0x400
83+
mmc partconf 0 1 1 0
84+
mmc bootbus 0 0 0 0
85+
```
86+
87+
Power off the board, set the boot switch to **0110** (eMMC boot mode), and power on.
88+
Your BPI-R3 should now boot Infix from the internal eMMC storage.
2589
### Pre-built images
2690
SD card image: [infix-bpi-r3-sdcard.img](https://github.com/kernelkit/infix/releases/download/latest-boot/infix-bpi-r3-sdcard.img)
2791

doc/ChangeLog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ All notable changes to the project are documented in this file.
2020
the [`latest-boot` release][lastest-boot] tag
2121
- The `utils/mkimage.sh` script now supports fetching the bootloader
2222
- The raspberrypi-rpi64 board's bootloader is now aptly named rpi64
23+
- [Document][bpi-r3-emmc-documentation] how to go from SD card to eMMC on bpi-r3
2324

2425
### Fixes
2526

@@ -28,6 +29,7 @@ All notable changes to the project are documented in this file.
2829
boot step "Mounting filesystems ..." with up to 30 seconds!
2930

3031
[lastest-boot]: https://github.com/kernelkit/infix/releases/latest-boot
32+
[bpi-r3-emmc-documentation]: https://github.com/kernelkit/infix/blob/main/board/aarch64/bananapi-bpi-r3/README.md
3133

3234
[v25.10.0][] - 2025-10-31
3335
-------------------------

0 commit comments

Comments
 (0)