# BPI-R2 LEDE source code for hardware NAT

**BPI-R2 LEDE source code for hardware NAT**

Source code

The source code is at: <https://github.com/garywangcn/bpi-r2_lede>

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

Build

Follow the LEDE building instruction to compile the lede system, the target system is MediaTek Ralink ARM, the config file is attached.

Image

Please download the image I built from below link

<http://pan.baidu.com/s/1nuXqAVJ>

Boot with LEDE image

Step 1: Please program LEDE 2017-09-08 image to emmc by following

<http://forum.banana-pi.org/t/bpi-r2-new-image-openwrt-lede-2017-09-08/3797/19>

Step 2: Boot the board from EMMC, and enter U-boot shell.

Step 3: Load build\_dir/target-arm\_cortex-a7+neon-vfpv4\_musl\_eabi/linux-mediatek\_32/uImage-mt7623n-bananapi-bpi-r2-initramfs from host pc(tftp 84000000 uImage-mt7623n-bananapi-bpi-r2-initramfs). Before loading image, you may need to set/ipaddr/netmask/serverip in uboot

Step 4: Program the image to EMMC by run command:

`> mmc dev 0`

`> mmc write 84000000 1000 5800`

discuss on forum:

<http://forum.banana-pi.org/t/bpi-r2-lede-source-code-for-hardware-nat/3940>

**LEDE source code(Please note that the branch is bpi-r2-on-lede-v1)**  \
<https://github.com/garywangcn/bpi-r2_lede/tree/bpi-r2-on-lede-v1>

**Configurion of LEDE**

TARGET=MediaTek Ralink ARM Boot Loaders=u-boot-bpi\_r2 (This option is mandatory)

**How to build**  \
make -j1 V=s

**Images**  \
when above steps is done, we will below two images under \<TOP>/build\_dir/target-arm\_cortex-a7+neon-vfpv4\_musl\_eabi/linux-mediatek\_32/:

```
mtk-bpi-r2-EMMC.img

mtk-bpi-r2-SD.img
```

**How to use SD image**  \
A SD card is requried and then install mtk-bpi-r2-SD.img to SD card by running below command:

```
  dd if=mtk-bpi-r2-SD.img  of=/dev/sdb
```

where /dev/sdb is the SD card.

And then install the SD card to R2 board, power it on, the board will boot from SD card.

**How to use EMMC image**  \
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 on SD card
2. Program EMMC image to User Data Area of EMMC: dd if=mtk-bpi-r2-EMMC.img of=/dev/mmcblk0
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
6. Power off, remove SD card, and then power on R2 board.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bananapi.gitbook.io/banana-pi-bpi-r2-open-source-smart-router/bpi-r2-source-code-on-github/bpi-r2-lede-source-code-for-hardware-nat.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
