Boot Ubuntu (Linux) or Android from an SD Card on Rockchip RK3288 Devices

Orange Pi Development Boards

There’s already a method to boot Android from an SD Card on RK3188 devices, which should work with all Rockchip RK3188 devices. Ian Morrison (Linuxium) has now provided a instructions to boot Linux or Android from a (micro) SD Card in Rockchip RK3288 based devices, leveraging work from linux-rockchip community, and especially naobsd.

The Android flashing method is slightly different between RK3188 and RK3288, because most Rockchip RK3288 devices make use of eMMC flash, while older Rockchip RK3188 products feature NAND flash, and it appears Rockchip RK3xxx boot priorities (in the BootROM stored in the SoC itself) are as follows: eMMC, SD card, and NAND flash. All that means is that an updated version of the bootloader is needed which looks for a bootable SD card, and although very unlikely, your device could end up being bricked during this procedure. This is not a problem for Open Hour Chameleon since there’s no internal storage at all, so it will always boot from SD card and is really unbrickable.

First, you’ll need to download create-sdcard.7z with the tools, and images required.

Updating the bootloader

Then may want to make sure your device is using RK3288Loader_uboot_V2.17.02.bin bootloader (or latter). You can do so by loading the firmware file (currently installed in your device)  in AndroidTool, flashing the firmware with upgrade_tool, running ‘cat /proc/cmdline’ in a terminal, or simply trying a bootable SD card with the method below.

If you are pretty sure you need to upgrade your bootloader, download RK3288Loader_uboot_V2.17.02.bin, and flash it to your device in Linux with:

If you prefer to use Windows, you can use AndroidTool v2.3 or greater instead using the “Loader” row.

Creating a Bootable Android SD Card

At this stage, flashing an Android SD card image is easy, as you just have to run:

where firmware_update.img is your device Android firmware. The script default to /dev/sdc, but you’ll be asked to confirm the device path, and have the ability to change. Please run lsblk first to make sure you are using the right storage device, or you may wipe out important data on your PC. For extra safety, you may even consider doing this procedure from a virtual machine in VirtuaBox.

That’s it now, you can just insert the SD card into your device to boot Android.

Creating a Bootable Ubuntu SD Card

For a quick try, you could download one of Ubuntu 12.04 or Ubuntu 14.04 SD card images, uncompress it, and flash it to a SD card with dd (Linux) or  Win32DiskImager (Windows). Then just insert it in your device SD card slot, and it should boot Ubuntu. This is a generic image so things like Wi-Fi, and audio may not work properly. The username / password are linuxium / p.

You’ll probably want to expand the rootfs to make full use of your SD card capacity, with a command line:

Then reboot, login, and type

to complete the resizing.

If you want an image more suited to your hardware, you may have to use sd-create-linux script instead included in create-sdcard.7z previously downloaded together with relevant firmware files for  Firefly-RK3288 board, Rikomagic MK802V, and Tronsmart Orion R28, and other hardware based on the same hardware platforms. If your device is different, you may want to extract kernel.img and resource.img from your Android firmware, or build these yourself, and rename then as kernel-linux.img and resource-linux.img.

Before running the script you’ll also have to download the rootfs for Ubuntu 12.04 or Lubuntu/Xubuntu 14.10, unzip it, and rename the file as linux-rfs.img.

Finally insert the SD card into your Linux PC, and run the script to create the SD card:

It will ask to confirm/change the SD card device path, and create a bootable Ubuntu SD card for your RK3288 device.

Boot from SD card with Rootfs on USB flash drive

Some SD card (class 4) can be pretty slow, and USB flash drives may even be faster than some Class 10 SD cards, so Linuxium published another short guide yesterday, booting from SD card, but with the rootfs on the USB flash for potentially better performance, and especially more flexibility.

After downloading and extracting create-linux-sdcard-usb.7z, run ./create-linux-sdcard-usb script  to generate a bootable SD card without rootfs, and flash one of the rootfs above or your own with dd / Win32DiskImager to a USB flash drive. Insert the bootable SD card and USB flash drive into your Rorkchip RK3288 mini PC, and enjoy!

23 Replies to “Boot Ubuntu (Linux) or Android from an SD Card on Rockchip RK3288 Devices”

  1. For vpu, seems that some development is being done for the hantro g1 part (vp8, h264) while for hevc nothing moves, still have to understand if it’s using wave410 or what….

  2. CR12 don’t seems to boot. Using regular fw kernel I got blue led turning on but still no hdmi, suspecting “console=ttyFIQ0” boot parameter as I can’t find anything else form hdmi…

  3. Anybody have source codes for kernel from image ?
    Image missing all kernel modules and I really need NFS client 🙂

  4. Hi, I have been able to successfully boot from the SD Card and run Linux Ubunto 14.10 from the image link provided by you.
    Thanks you very much!!!!

    I have 1 question for you, im trying to update the OS to 15.04 and it is asking me for the root password. Can you please provide the same?

  5. Anyone got this to work with a rk3288 Tablet? I’ve got the Pipo p7 and would really like to have Ubuntu on it.
    I already tried this method. For now I’m quite sure, that flashing the RK3288Loader_uboot_V2.17.02.bin somehow doesn’t allow to boot neither linux or android on this device.

  6. Good news! The RK3288Loader_uboot_V2.19.07.bin does allow usb-booting. Sadly it still doesnt boot android or ubuntu. Does someone know how to debug this?

  7. I’m new to the Linux world, but could this be adapted to the new Haier and Hisense Chromebooks?

  8. Can someone tell me how to disable the frame buffer on Ugoos’ SD boot 15.04? Hopefully from inside a running Ugoos SD boot Linux.

  9. How on earth does this device boot and who created this script? I cannot find anything out about how to even boot this device, and less the couple of images avaliable everything I have tried hasn’t worked; the best I can get is a boot-loop. Does anyone know of any information or list of instructions on how to boot this device at all? x.x

  10. I see there is a beta Ubuntu 16.04 for Firefly RK3288. Has anyone tested this?
    I have a TV01II RK3288 to test on..

  11. my device bricked, and i run android from sd card right now, but how can i update my device in internal storage using file when i run ahe android from sd card.

    thank you a lot

Leave a Reply

Your email address will not be published. Required fields are marked *