Home > Android, Linux, Rockchip RK31xx, Ubuntu > Easy and Safe Way to Try Linux on Popular Rockchip RK3188 mini PCs

Easy and Safe Way to Try Linux on Popular Rockchip RK3188 mini PCs

Until recently, installing Linux on Rockchip R3188 based TV boxes or HDMI TV dongles meant you had to flash one or more binaries to your device using various type of tools for Linux or Windows. But thanks to various members of the community, it’s now as easy as flashing an image for the Raspberry Pi, as long as you own Minix Neo X7, PQ Labs iStick A350-SSD, Radxa Rock development board, or Rikomagic MK802IV (AP6210 or 8188EU Wi-Fi module versions) thanks to images provided by Ian Morrison on G+ mini PC community that can be booted from a (micro) SD card, which the added advantage that it won’t mess with your Android installation.


You can do it whether you use a Windows or Linux PC, and it should also be possible on Mac OS X, but I don’t know the commands. Here are the steps to follow for MINIX NEO X7, other products will have the same procedure, only the filename will change:

  1. Download the image (linux-sdcard-minix-neo-x7.img.7z)
  2. Extract linux-sdcard-minix-neo-x7.img.7z using a utility that can handle this type of file, for example 7-Zip for Windows, or p7zip in Linux.
  3. Insert a (micro) SD card into your computer, and flash the extracted image:
    • Windows – Using Win32DiskImager GUI tool
    • Linux –  with dd:
      sudo dd if=linux-sdcard-minix-neo-x7.img of=/dev/sdX bs=4M

      where ‘X’ is the disk name, and varies from system to system. It may also be like /dev/mmcblkX. Use ‘lsusb’ to find out. If you use a USB hard drive, be very careful, as you may wipe out your data if you use the wrong X.

  4. Once this is complete, simply insert the SD card into your device, and powered it up and it should start Linux (Ubuntu 12.04)

The login credentials are Linuxium / p. Now you’ll get a fully working system, and if you want to return back to Android simply remove the SD card.

However, you may want to complete a few more steps to take advantage of the full SD card capacity.

  1. Type the following in a terminal window in your mini PC:
    echo -e "d\nn\np\n1\n81921\n\nw" | sudo fdisk /dev/mmcblk0
  2. Reboot, and type the command below to complete the partition resize:
    sudo resize2fs /dev/mmcblk0p1

Mali GPU hardware acceleration can be enabled as follows:

sudo mv /usr/lib/arm-linux-gnueabihf/mesa-egl /usr/lib/arm-linux-gnueabihf/xmesa-egl

Finally, if for some reasons, you want to create a root password, you can do by typing:

sudo su -
passwd root

Now what if you don’t own any of the devices with pre-built SD card images? You can checkout Androtab.info instructions for Radxa Rock, which will give you ideas of what you need to do to boot from SD card on your own system. This does not require internal flash at all, you could unsolder the flash, and it would still work. Have fun!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

  1. Onanii
    July 2nd, 2014 at 19:44 | #1

    hi does it work for RK3066 devices?

  2. guest
    July 2nd, 2014 at 21:14 | #2

    can i try it on mk908? mk908 and mk802iv has similiar hardware.

  3. July 2nd, 2014 at 21:20 | #3

    I think it only works for RK3188 devices (TBC).

    Yes, you can try, there is no risk, since it won’t modify your internal flash. But once I tried MK802 IV on MK908 and it did not work (NAND flash version), so there must be some kernel differences.

  4. Gabe
    July 2nd, 2014 at 23:05 | #4

    I’ve tried it on an OS-TRK802Q stick(which I think has the insides of a J22), only wifi is not working. Glmark2 score is:52, glxgears fps around 62-79 FPS

  5. Gabe
    July 2nd, 2014 at 23:11 | #5

    The first command works for 8GB microSD card only?

  6. Gabe
    July 3rd, 2014 at 00:45 | #6

    I’ve tried then Minix Neo X7 version, should have tried the Mk902 IV version.

  7. riklaunim
    July 3rd, 2014 at 02:29 | #7

    I have a tutorial and a set of benchmarks for Measy U4A dongle (RK3188) http://www.rkblog.rk.edu.pl/w/p/picuntu-and-linuxium-linux-measy-u4a-android-dongle/ and some Radxa articles are coming too.

  8. hamadi
    July 3rd, 2014 at 08:48 | #8

    there’s a way for dummy using chroot

  9. July 3rd, 2014 at 13:24 | #9

    The Radxa guys have uploaded both Android 4.4 and Lubuntu SD card images- http://wiki.radxa.com/Rock/SD_images

  10. fathony
    July 3rd, 2014 at 15:20 | #10

    can this method applied on “MINIX NEO X7 mini” ?

  11. linuxium
    July 3rd, 2014 at 20:28 | #11

    If anyone is interested some additional devices include:

    Tronsmart T428 –

    J22/CX919II –

    MK809III –

    Booting will give you a full Ubuntu 12.04 LTS desktop with Unity. It will not affect your installed software and there is no pre-requisite for a specific stock or custom ROM to be pre-installed. No ‘flashing’ is required as everything needed to boot is taken from the SD card so it will work even if the NAND is empty or the device is ‘bricked’.

  12. July 3rd, 2014 at 20:38 | #12

    Based on the difference with NEO X7 (http://www.cnx-software.com/2013/08/05/minix-neo-x7mini-vs-neo-x7-android-media-players-comparison/), I’d say it should work, possibly excluding Wi-Fi (different module)

  13. onebir
    July 3rd, 2014 at 21:59 | #13

    Presumably you can only create these images for devices you have; if people donate & send RK3188 devices, would you have time (etc) to create images for those?

  14. linuxium
    July 4th, 2014 at 18:32 | #14


    If a manufacturer donates and sends me a RK3188 or even a RK3288 device together with the Android kernel source I’ll certainly try and create an image for it.

  15. bench
    July 4th, 2014 at 23:49 | #15


    Great work! I have try it on my mk902ii using the MINIX NEO X7 image. It book up ok, but reported the wirelss is not ready? I have a look at the mk902ii spec and it is uses the same AP6210 (at least I think it does) as neo x7. Any idea?

  16. onebir
    July 5th, 2014 at 01:11 | #16

    I hope some will see that this offers a unique added value for their devices & send some your way (maybe throwing in a bit of cash with them ;)

  17. wkt
    July 5th, 2014 at 02:35 | #17

    I tried the Linux on my CX-919 ( old ? NOT : CX-919 II )

    1st I took linux-sdcard-j22.img an put it to SD card.
    Boots fine : but no WLAN device found in iwconfig output – so not usable at this moment.

    2nd I took linux-sdcard-rkm-mk802iv-new.img to SD
    Boots fine & WLAN device found ! Also I hear sounds. Very nice.
    BUT : my TV has obviously 1920×1080 and so the buttons on the left
    are almost invisible. Also the panel on the top right is invisible
    but scrolls down if I touch the top border of the screen.

    My question : can I somehow get a smaller screen resolution on boot ?
    ( dont know the values : 1024×780 ???… or what )

  18. July 5th, 2014 at 13:41 | #18

    I don’t think you have a resolution issue, what you describe looks like “overscan”. I described it @ http://www.cnx-software.com/2010/05/30/tackling-overscan-in-media-players-and-digital-signage/
    There should be settings on your television to underscan automatically, it’s not necessarily called that way.
    No all TV support underscan, so you may have to modify your setting with xrandr, or edit directly a config file. I’m not sure which one it is, maybe /etc/X11/xorg.conf?

  19. wkt
    July 6th, 2014 at 06:35 | #19


    The underscan trick works on my TV from Acer via the HDMI settings built in.

    Thanks for this problem solving info.

  20. lonely2k5
    July 11th, 2014 at 00:07 | #20

    I cannot get MALi to work on CX919II no T
    any idea?

  21. RickW
    August 29th, 2014 at 06:33 | #21


    Thank you for creating this ubuntu build. It was easy to throw on the SD Card and boot up. I have a small issue though. The / filesystem is only 1.9gb and has filled up. Do you know of a way to expand it on the fly? Google results say you must boot it off a linux live CD and expand it offline.. Is it possible to maybe plug the SD Card into my laptop and expand the partition with some tool?


  22. Shant
    September 11th, 2014 at 16:46 | #22


    Does it provides eth adapter support ?

  23. September 11th, 2014 at 17:09 | #23

    It should. Worst case, just build the kernel with the right options.

  24. RickW
    September 12th, 2014 at 00:54 | #24

    Wow I totally missed the two lines where you explained how to expand the filesystem. Sorry about that !

  25. Patrick
    September 16th, 2014 at 02:16 | #25

    i tried it but my X7 will not boot from the SD card. Does anyone have an idea ?

  26. Patrick
    September 16th, 2014 at 02:17 | #26

    ?..or should the minix be rooted first ?

  27. September 16th, 2014 at 09:58 | #27

    I’m not sure why it does not work, but it has nothing to do with Android being rooted or not, since the SD card method is supposed to work even if you don’t have NAND flash

  28. Patrick
    September 18th, 2014 at 03:15 | #28

    thans for the replay… i will give it another try.

  29. Patrick
    September 18th, 2014 at 03:15 | #29

    ..reply offcourse

  30. Mark
    October 1st, 2014 at 22:52 | #30

    Didn’t work for me… I get the log in for one second and the screen goes black. Any ideas?

  31. Joakim
    October 18th, 2014 at 22:14 | #31

    Hey, installed this on my MINIX NEO x7 mini and its working fine. why i installed this was because i wanted to run Plex Media server on it but im having truble installing it. the error i get is its wrong architecture, is ther a way to go around this?

  32. Bob Inglis
    October 19th, 2014 at 15:50 | #32

    Would you be able to use this tool to flash Minix Neo 7 img?

  33. jin
    November 6th, 2014 at 11:00 | #33

    @RickW I have the same problem that there is barely any space left (about 150MB) when Ubuntu boots up. The SD card has 32GB. Why?

  34. November 6th, 2014 at 11:40 | #34

    The expansion command line above is for 8GB flash I think, you’d need to adapt it to 32GB. (Line with fdisk /dev/mmcblk0)

  35. Karendar
    November 12th, 2014 at 09:04 | #35

    Plex Media Server i386 will not work as this is an ARM architecture. I’m currently looking for ways to do the same thing, as this would be a wicked plex media server! Maybe we can use the ARM compiled NAS versions, but would have to do a manual install

  36. Robb01
    December 1st, 2014 at 16:09 | #36

    Anyone can advise the latest kernel version working on this image.

  37. Walter
    December 3rd, 2014 at 02:20 | #37

    It says: “The login credentials are Linuxium / p.” Sorry, but I have used the English onboard keyboard with everything like “Linuxium / p”, “Linuxium/p”, “linuxium/p” and “linuxium / p” but I always get “invalid password”. Is there any explanation, help etc.
    I am a linux beginner so maybe just a hint might help! Or how to circumvent the password trouble???

    Once I may be able to start linux propperly can I change it to German?

    Hardware MINIX NEO X7

  38. December 6th, 2014 at 17:22 | #38



    The password it the letter ‘p’ in lowcase

    have fun!

  39. December 7th, 2014 at 10:51 | #39

    OK, I think I finally understand what may have gone wrong here.
    Username: linuxium
    password: p

  40. SirPedroEC
    December 14th, 2014 at 18:47 | #40

    Commands are wrong for the partition resize. A spelling mistakes screws up the process:

    First line (no single quote at end). Change:
    echo -e “d\nn\np\n1\n81921\n\nw” | sudo fdisk /dev/mmcblk0′
    echo -e “d\nn\np\n1\n81921\n\nw” | sudo fdisk /dev/mmcblk0

    Second line(resize is spelled incorrectly). Change:
    sudo reseize2fs /dev/mmcblk0p1
    sudo resize2fs /dev/mmcblk0p1

  41. December 14th, 2014 at 20:07 | #41

    Thanks. I’ve corrected the typos.

  42. Jean
    December 15th, 2014 at 09:10 | #42

    how can I get the bluetooth working in RK3188 devices????

  43. shohart
    December 19th, 2014 at 05:12 | #43

    hello, i have a question about wifi on minix neo x7 under linux. i have linuxiums’ 12.10 setup from minixforums, and it running fine but i can not set wifi into access point mode. ‘sudo ip link set wlan0 up’ gives ‘RTNETLINK answers: Operation not permitted’ so is it possible to set the device as a access point/ internet share (eth0 to wlan0)? thank you

  44. Jason
    December 20th, 2014 at 00:04 | #44

    The image booted fine however any change I want to make is requiring a “root” password. Any ideas on how to remove this?

  45. December 20th, 2014 at 10:55 | #45

    It’s explained in the post. Create a root password.

  46. Usama
    January 19th, 2015 at 00:11 | #46

    @Minix x7, Linux x86 & 16GB SANDISK SSDcard
    Hey there , I have done everything as written & my dd command under Linux reported no error… but when I introduce sdcard my device boots normally into MINIX & not UBUNTU. Also after dd my sdcard doesnt show up in nautilus & gparted identifies it as unindentified partition, is this normal?

  47. Zoltan Danhauser
    January 19th, 2015 at 00:14 | #47

    Hi everyone. Can anybody build an img for MK908II Tronsmart device please? Morever i tried to install Kodi mediacenter but guys on kodi.tv said no ARM CPU supported yet. Any other idea? I would not like to use my Android cause it doesn’t support my IR MCE remote.

  48. Zoltan Danhauser
    January 19th, 2015 at 00:18 | #48

    (some background info: a friend of mine has an MK908II, and he is trying to install for it, my CX919II J22 works fine)

  49. January 19th, 2015 at 01:09 | #49

    What about kodibuntu ????

  50. Zoltan Danhauser
    January 20th, 2015 at 23:11 | #50

    I am not sure if kodibunti supports hardwares in J22. However i was able to compiel Kodi on my TV bundle, but could able start cause desktop runs in 16bit color depth. Any idea?

  51. Zoltan Danhauser
    January 21st, 2015 at 23:06 | #51

    Hi Linuxium! Tanks for the firmwares. Your work is appriciated. I have a J22 and i want to use Kodi/XBMC on it. I know theres an android Kodi as well but my android doesnt support my irda receiver. So i thought once a full featured linux is installed then i will be able to install irda drivers, lirc and so on. I could compile a Kodi but i doesnt start and complaining for 16 bit color depth. I tried to switch xorg into 24 bit without luck. Colors were fuzzy. Just stucked here. I am not a linux guru however not a total newby. Do you have any advice about achive my target? I was thinking about to start compile a new linux from scracth but i don’t know where should i start it. Have you got a guide or something? Many thanks!! :)

  52. Michael
    January 30th, 2015 at 17:49 | #52

    does anyone know if an mk902 can boot from usb?
    was going to try putting linux on sd but it wants the new smaller sized sd and can’t get those without another trip into town. (normal SD’s are easy to get everywhere but seems that smaller size is not yet so common and I’m not keen to put this off till I’m next in town or wait a week for an online order for something i I had not thought would be any trouble to get)

    If i want to do this now its either usb or the internal flash ,,,

    the android it came with lacks root and at the very least i need that because I want to use it as a server
    (also have as Raspberry Pi here running Raspian which is nice but I need more ram and the mk902 has 2GB)

  53. ChinaMarine
    February 9th, 2015 at 09:03 | #53

    minix neo X7 — Followed instructions as per this page… Nothing… insert SD Card & boot… Nothing, normal Minix Android, everytime…..

    Are there some special, must know details that were unintentionally omitted..?
    Size of SD Card..? Which Partition of SD it must be written to..? What kid of partition the SD card must be..? I assumed VFAT, but is it supposed to be ext3 or something..? Is there some special command that must be given to the SD card to “bless” it so that it’s bootable..?

    Pls advise… thanks in advance

  54. ChinaMarine
    February 9th, 2015 at 13:48 | #54


    Reformatted the sdcard with mkfs.vfat with no partitions (not usual way one would format a drive) and DD’d the image, then worked right away… Interestingly, even after formatting with mkfs.vfat, as soon as I’d DD’d the image, fdisk reported the sdcard (partition table) as “83” Linux native partition.

    Thanks for this wonderful image…!
    Works very well, & fast…
    Had a Beagle board a couple years back, and that took 5 minutes just to load the desktop environment, running a browser out of the question, just way too processor / memory intensive to be of any use…

  55. Agraceofman
    February 11th, 2015 at 07:30 | #55

    Hi everyone. its boot fine and WLAN is working however there is no sound, Bluetooth and Ethernet on T-R42 Device RK3188 with B531_V2.0 Board

  56. zaikor
    February 17th, 2015 at 01:05 | #56

    Hi, thx for software. I’ve been trying this on my Tv01 aka cs968 and boots fine to login screen but after entering password screen turns black (no signal info from tv) and nothing happens. There’s any solution for this. Thanks in advance. Lukas

  57. rolandas
    February 19th, 2015 at 19:39 | #57

    hi.what is root password?thanks.

  58. Iulius
  59. Michael
    February 21st, 2015 at 20:29 | #59

    does the sd-based linux for devices like the mk902 have ssh already set up in it?
    (for that first login – eg like Raspian on raspberry pi’s – to be able to start using it if you don’t have a hdmi display)

    I have to use it headless now because the hdmi->vga box i was using died
    had no luck with a hdmi->dvi connector either (though it looks like the mk902 does seem to detect when its plugged in I only see a blank screen)

    I am scared to reboot because I’m not sure if the current setup which is android + debiankit will start ssh without needing to open a terminal in the android gui to run ‘deb” – left it on for two weeks now hoping to find a way to be sure

    booting directly into linux could solve the problem if it’s configured to start sshd
    and *real* linux might fix some of those other install problem areas (eg v8, nodejs, etc)

    I want to use it as a server so having a hi-res video display directly plugged in to the device isn’t so important to me as long as I can at least use the shell via ssh to do anything i need.

  60. Bjarke
    March 1st, 2015 at 22:02 | #60


    Works fine for me – but ONLY using 8GB SD-cards. Anything larger won’t work (haven’t tried smaller cards though).

  61. bakha
    March 3rd, 2015 at 06:42 | #61

    Hi! I’m interesting about install ubuntu on my tablet Asus memopad 172V. Can I install ubuntu same as wrote here?
    I can’t find some informations about install ubuntu on my tablet.

  62. bakha
    March 3rd, 2015 at 07:22 | #62

    Технические характеристики планшета Asus MeMo Pad ME172V:

    OS: Android 4.1 Jelly Bean
    CPU: ARM Cortex-A9, VIA, WonderMedia WM8950, 1 GHz
    GPU: Mali-400
    Display: 7 inches, 1024 x 600 pixels, 170 ppi, 10-пунктов-Multitouch, 140°, 350 cd/m²
    camera: 1 MP, 720p HD Video @30fps
    RAM: 1 GB RAM, 16 GB SD, microSD-slot
    WLAN 802.11b/g/n
    3,5mm-headphones/mic, micro-USB
    battary 4270 mH, 7 hours

  63. March 3rd, 2015 at 09:13 | #63

    Sorry the instructions above are only for Rockchip devices, yours is based on WonderMedia WM8950, so it won’t work.

  64. bakha
    March 3rd, 2015 at 19:02 | #64

    Thank for answer. may be some body could write drivers for wm. all problems on chip drivers?

  65. rcombs
    March 4th, 2015 at 12:41 | #65

    Thanks CNXSoft for the writeup! Did this on my A350 and it worked “straight out of the box” – Ian – YOU ROCK!

    iStick A350
    16Gb uSD
    Iogear wireless keyboard
    4Gb USB Flash drive
    DVI-to-HDMI output to 24″ Monitor

    Working on getting a USB camera and the built-in fan to work and then I’ll be set (for now)

    Side note: so far, I’m using a 16Gb Class 10 uSD card and it seems to be working just fine.

    If I didn’t say it already [tic] – IAN – YOU ROCK!!!!!

  66. March 13th, 2015 at 00:59 | #66

    Flashed this on my ug007b. Made the resize of sdcard and enabling of mali video acceleration. But it didn’t work. glxgears shows only ~70 FPS.

  67. March 13th, 2015 at 09:20 | #67

    You can’t use glxgears to test OpenGL ES (that’s for OpenGL). Instead go with es2gears or glmark2-es2.

  68. unfalse
    March 14th, 2015 at 13:29 | #68

    not working at all

    linuxium@LINUXIUMONE:~$ es2gears
    EGLUT: failed to initialize EGL display
    linuxium@LINUXIUMONE:~$ glmark2-es2
    Error: eglInitialize() failed with error: 12291
    Segmentation fault

  69. unfalse
    March 14th, 2015 at 14:15 | #69

    the problem was with permissions. Executed these from Ian’s G+ blog (https://plus.google.com/+IanMORRISON/posts/NEWG6Mtz5U7):
    sudo chmod 666 /dev/dri/card0
    sudo chmod 777 /dev/mali

    FPS from the tests:
    linuxium@LINUXIUMONE:~$ es2gears
    EGL_VERSION = 1.4 Linux-r3p2-01rel2
    vertex shader info:
    fragment shader info:
    864 frames in 5.0 seconds = 172.662 FPS
    164 frames in 5.0 seconds = 32.663 FPS

    (the second value is because I resized the window to the size of screen)

    glmark2_es2 results:
    linuxium@LINUXIUMONE:~$ glmark2-es2
    glmark2 2011.09
    OpenGL Information
    GL_RENDERER: Mali-400 MP
    GL_VERSION: OpenGL ES 2.0
    [build] use-vbo=false: FPS: 52
    [build] use-vbo=true: FPS: 58
    [texture] texture-filter=nearest: FPS: 52
    [texture] texture-filter=linear: FPS: 60
    [texture] texture-filter=mipmap: FPS: 63
    [shading] shading=gouraud: FPS: 53
    [shading] shading=blinn-phong-inf: FPS: 53
    [shading] shading=phong: FPS: 47
    [bump] bump-render=high-poly: FPS: 43
    [bump] bump-render=normals: FPS: 59
    [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 29
    [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 14
    [pulsar] light=false:quads=5:texture=false: FPS: 63
    [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 32
    [conditionals] fragment-steps=0:vertex-steps=0: FPS: 61
    [conditionals] fragment-steps=5:vertex-steps=0: FPS: 52
    [conditionals] fragment-steps=0:vertex-steps=5: FPS: 61
    [function] fragment-complexity=low:fragment-steps=5: FPS: 52
    [function] fragment-complexity=medium:fragment-steps=5: FPS: 36
    [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 55
    [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 57
    [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 55
    glmark2 Score: 50

    Hope it is useful info… for someone. The UG007B isn’t so popular device.

  70. Chris
    March 28th, 2015 at 06:04 | #70

    Worked fine on my Neo x7, Unity is a really bad desktop.

  1. July 4th, 2014 at 01:47 | #1
  2. September 3rd, 2014 at 00:16 | #2
  3. November 30th, 2014 at 21:25 | #3