Orange Pi 2G IoT Board Can Now Boot Linux from NAND Flash

Orange Pi 2G IoT is a $10 development board with a 2G cellular modem that was launched last March. The board is based on RDA Micro RDA8810PL processor designed for cheap Android phones, but Linux support was also promoted, and an RDA8810 Android SDK was released in April. It was the first time RDA8810 was used in a development board, and unsurprisingly it was, and still is, a challenge to use such board, as software support is on-going… So people who purchased the board has troubles with controlling GPIOs, or booting Linux from the SoC’s built-in NAND flash, instead reverting to booting from a micro SD card. Luckily, Orange Pi forum’s user surfero75 worked on the latter, found a solution, and posted instructions in Spanish.

He wrote those instructions leveraging the work done by Aib user, and I summarized the main steps below explaining how install and boot from NAND flash (Warning: This could potentially brick your board if something goes wrong):

  1. Get opi2g-utils tools
  2. Set the boot selection to NAND flash/ Android boot, and put the board in USB-OTG mode with the switches set as follows: 1-4 ON and 5-8 OFF
  3. Use opi2g_bin_read.py serves to extract the files from Android NAND package in case you want to restore Android?
  4. Build u-boot with OrangePiIoT2GBuildSystem utility
  5. Flash the resulting u-boot.rda file to the board:
  6. If you boot Linux from a micro SD card, it should now find the NAND flash:
  7. Edit boot.cmd file to force boot from NAND flash:
  8. Compile the boot.cmd to create boot.scr binary to copy to the root of the micro SD card:
  9. Prepare, format, and mount the NAND flash
  10. There should be an extra step to copy the bootloader and rootfs content, but this step is not detailed in the blog post. I may have missed something…

Anyway, you can also ask question on Orange Pi Forum or on his blog post, if you have question. The video below shows Orange Pi 2G IoT booting DietPi from the NAND flash.

[Update: Surfero75 has now provided an image to try it out without having to go through all instructions above]

Leave a Reply

3 Comments on "Orange Pi 2G IoT Board Can Now Boot Linux from NAND Flash"

avatar
  Subscribe  
newest oldest most voted
Notify of
Raimundo
Guest

Hello, the video was mada it by Surfero and in the blog you could find more info about the 2gIoT.

menno
Guest

Any news about the LCD display and linux with this board? For now android is only supported!

handler
Guest

The problem with OrangePi is that nearly all of the documentation is plagued with typos, errors, and other problems that generally make using this board really painful.

The first command in this page has such an error. There is a space between “:” and “u-boot.rda” when this results in an error. The correct command is: “opi2g_nand_write.py -v bootloader:u-boot.rda”.

The first command must also be run from the “output” folder of OrangePiIot2gBuidSystem.

The package https://github.com/txurtxil/OrangePiIot2gBuidSystem contains erroneous instructions. The first problem is the “move” commands in the README.md should me “mv” and the targets “kernel” and “uboot” already exist, so this just moves the cloned folders into these subdirs, which causes the uboot build to fail. The second problem is the uboot Makefile looks for the arm-eabi-* toolchain, so if you have something else you’re out of luck. You need to build this with “make CROSS_COMPILE=arm-none-eabi-“.

There are certainly more problems – I have only made it to the 1st command so far.

Test your shit before posting, people!