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.
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:
sudo ./upgrade_tool ul RK3288Loader_uboot_V2.17.02.bin
If you prefer to use Windows, you can use AndroidTool v2.3 or greater instead using the “Loader” row.
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.
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:
echo -e "d\nn\np\n1\n139265\n\nw" | sudo fdisk /dev/mmcblk1
Then reboot, login, and type
sudo resize2fs /dev/mmcblk1p1
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.
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.
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!
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.