No announcement yet.

A95X (S905X) eMMC boot for Ubuntu

This is a sticky topic.
  • Filter
  • Time
  • Show
Clear All
new posts

    A95X (S905X) eMMC boot for Ubuntu

    Hi All

    Ive been given a batch of 40 A95X (S905X) boxes and been asked to convert them to Windows Terminal Server / Citrix Xen Desktop thin client devices. I have a mix of 1G/8G and 2G/16G units.

    I have managed to put together an ubuntu 16.04 image based on the Odroid C2 official Ubuntu release. Ive built a new kernel and device tree to match the A95X (only 2G/16G so far) and ive updated the network, wifi, bluetooth and gpu drivers so that all hardware is working and EGL 3D acceleration is functional.

    Ive got the citrix and rdesktop software installed / compiled and functioning well. Performance is actually much better than I was expecting and these boxes make pretty good general purpose linux devices.

    My problem is that I cant get it to boot from the eMMC, only from SD card using the AV/reset button method. I dont get any display output when trying to boot from eMMC. I have soldered wires to the board to access the serial console on one of the boxes but I dont get any serial console output either.

    Obviously Im missing something with how these boxes boot, anyone got any ideas? My hardware knowledge of ARM devices is pretty limited, this is the first arm device I have played with. Im not a complete idiot though, I have 15+ years of Unix/Linux sysadmin experience and I dont mind experimenting or bricking a few of the boxes in the process.

    could you please share with us your ubuntu image ?


      Hey qp

      Im in the process of making some major changes to it so it can run on both 1G and 2G models and boot from sd/usb and from emmc. balbes150 has given me a direction to chase for the mmc boot and once i have that working I will upload images for both mmc boot and sd/usb boot.

      Are you interested in the thin client functionality or just the general ubuntu distro for the A95X?. I built 1 of them as a mini WiFi hotspot / VPN Gateway / TOR router today and it works very well. The S905X has AES* instruction support which massively speeds up VPN and disk crypto work.

      I might create 3 versions if people are interested:
      A thin client box with minimal apps / tools
      A headless network / router / server image
      A general ubuntu desktop ( I guess most people want this but it has little interest for me)

      Im actually really impressed with these little boxes, they are very capable devices for only £19 / €€22 / $24.


        very interesting,
        an OPENWRT built also would be nice


          Wow that sounds great! Really would love to try out those images. As I have a Mini M8S II, what would have to be done to adapt the images to that box (wifi and BT would not be relevant for me)? Sorry that I'm not able to help you with your problem :|
          Last edited by drdoolittle; 09-22-2016, 02:54.


            Ubuntu MATE please.


              Well I went in another direction. Ubuntu was just too big and bloaty in terms of disk footprint and ram overhead. I ended up creating my own cut down linux based off the Amlogic dev kit.

              If you want to play with linux on the A95X or any other S905X device I have setup an easy build system to build the kernel image, boot.img, dtb.img, rootfs and an updated bootloader.

              The git repo contains vanilla src, aml_p212 patches, amlogic dev kit, toolchains to build aarch64 on x86, build system, clean buildroot

              Ive posted it up to github:


              I will get round to building some TWRP flashable zips when i get the chance


                Very good once you post zips ill sticky thread.
                Many devices now mk902ii/Shield/Mk68 /Ugoos/neox5/minix5 (yes they still work lol) mk80 no it doesnt work lol.


                  Because most of these devices are 8 gig duel boot not good option. but having sd boot to different os builds would be fantastic. Any luck on getting images to sd?
                  Many devices now mk902ii/Shield/Mk68 /Ugoos/neox5/minix5 (yes they still work lol) mk80 no it doesnt work lol.


                    Hi Scooter

                    Ive got a working generic S905X sd card image with new uboot that is currently pushing up to github (s905x-sd-image.bin in sample output). Its not ready for any sort of production use yet. Im adapting it to work with the stock bootloader.

                    It also works for ubuntu 16.04 using the kernel image that the github project builds. Just replace my rootfs with the odroid c2 ubuntu rootfs. Making it work with the Arch linux rootfs is next on my list as thats what im going to be using in my final use of this little project. After that I will be changing the build to generate bootfs as a separate partition so the stock bootloader can be used.

                    Progeress is a bit slow at the minute. Blame the Brexit! Im in the middle of moving my businesses from the UK to Dublin and Berlin and travelling most days so its going to take a week or so for me to find the hours.

                    Edit: Os so the SD Card image didnt upload to github due to being over 100mb. Where is a good place to host it for download?
                    Last edited by botfap; 10-03-2016, 13:02.


                      Awsome cant wait...
                      Many devices now mk902ii/Shield/Mk68 /Ugoos/neox5/minix5 (yes they still work lol) mk80 no it doesnt work lol.


                        Nice work botfap. Looking forward to testing.

                        I wasn't clear in reading the thread whether the problem with no video when booting from eMMC was solved? Probably not related, but it reminded me of an issue I had when I ported clockworkmod to the odroid C1. The standard busybox build did not include an applet used to set the display mode, but the busybox supplied by hardkernel did. If my environment was set up so the hardkernel busybox was available, my cwm build displayed fine but with my own busybox build, black screen. I finally figured it out, enabled the display mode applet in my busybox build, then everything worked as expected.

                        I also have a couple of servers with plenty of bandwidth and quota available if none of the public file sharing sites suite your pupose. I can give you ftp credentials if you like.



                          Just to point out LibreELEC 7.0 is fully working on X905/X devices. As LibreELEC is based on Ubuntu 16.04 server, all you need to do is SSH into the box and run:
                          apt-get install ubuntu-mate-core ubuntu-mate-desktop
                          This should install the MATE Desktop Environment..


                          My bad. apt-get is disabled in LibreELEC. So it won't work.


                            You can not modify LibreELEC easily, it is read-only squashfs filesystem. You need to extract SYSTEM file, make modifications and re-pack.
                            I wonder, is it possible to run LibreELEC with SYSTEM on separate partition, instead of squashfs? I can not find where kernel boot parameters are stored. Should be easy root=<path/to/rootfs/> parameter or label/UUID. If we could get it to run on separate partition, it would be easy to add apt-get and modify it just as we like.
                            But I understand why they made it this way, it is for running Kodi only and nothing else. If you can not modify OS below, you can not break it easily and it serves it's purpose well.

                            I'm very interested in Ubunutu minimal image. I would like to use it for server.
                            In my optinion minimal ubuntu image is all that is needed. It's very easy to install full desktop. Just do apt-get install ubuntu-desktop (or lubuntu, kubuntu, xubuntu, ..., whatever you prefer) and you have full desktop if that is what you want.

                            I tried to make my own image by compiling kernel and making ubuntu rootfs for aarch64 but I'm unable to get it to boot.
                            I also tried botfap version. But there seems to be some information missing/invalid and I can not get it to boot either.
                            To my best knowledge, kernel must be on FAT filesystem (1st small partition). And everything else should be put on ext[234] filesystem (2nd partition). But botfap instructions say to put everything on single ext2 and that does not seem to work for me.

                            Just an additional note: I'm trying to get it running on SD card. I do not want to install it to nand.

                            Also I'm unclear if and what modifications are needed for bootloader to get linux kernel to boot from SD. I've tried some things but I'm not sure I'm done it correctly.


                              I made S905X succeeded in booting Linux(odroid ubuntu) from sdcard.
                              But I can't go forward.
                              USB port not working.
                              SSH is working. apt-get update eject error.
                              I have to re-compile kernel, but I don't know howto.