CoreELEC Amlogic-ng(4.9 kernel) for S905X/S905D/S905W - Getting Started

CoreELEC Amlogic-ng(4.9 kernel) for S905X/S905D/S905W

[This is not compatible with any type of install2internal install.]

CoreELEC users with GXL(S905X/S905D/S905W) based devices now have two builds to choose from when installing CoreELEC.

  1. The original Amlogic build that has been used since the beginning to support the GXL(S905X/S905D/S905W) devices using the 3.14 kernel.

  2. The newer Amlogic-ng build using the newer 4.9 kernel.

Which one to choose?

The Amlogic build has the largest number of confirmed working devices, and because of this it is still the default option provided by the download helper. However the Amlogic-ng build does fix some issues that are just not possible to fix with the older 3.14 kernel that the Amlogic build uses. Because there are still a lot of devices that we have not yet had the Amlogic-ng build confirmed to be working on, and because we are still finding little issues that need to get worked out, the Amlogic-ng builds are considered to be experimental for GXL based devices, despite being part of a stable release. There is a post here where users have posted their experience using the amlogic-ng build on their GXL based devices. This may help you decide if you want to try the amlogic-ng build on your GXL based device.

If you decide to try the Amlogic-ng build the rest of this post contains information to help you get started with a new install or upgrading from an old install.

Getting Started With A New Install

Install Files

The install files for the amlogic builds can be found here. For most devices the files you want will be the one that looks like CoreELEC-Amlogic-ng.arm-[version number here]-Generic.img.gz that you will want to download.
However the LePotato has it’s own image that has LePotato in the name; CoreELEC-Amlogic-ng.arm-[version number here]-LePotato.img.gz

Burning The Image

There is no difference for this step, from what you have come to expect with any other OS image. So use whatever method you normally would, to burn the image to a uSD or USB drive.

DTB Files

The dtb (device trees) files should have the same names as they did before with the older amlogic builds with the 3.14 kernel. However make sure that you use the dtb file that is included with these builds, dtb files from the older releases and other sources will not work! If you need help to determine which dtb to use, the download helper on the website can guide you in selecting the right one.

[Note: The LePotato image already includes the correct dtb file, so no need to change anything for it.]

First Boot

[Important Note: If you currently have the older amlogic build installed on your device, this step still applies to you. The Amlogic-ng builds have a slightly different boot script then the older builds had, so this step is needed for your device to work with the Amlogic-ng builds.]

Most devices usually need an extra step on the first boot, to get the device to boot CoreELEC from a uSD or USB drive. This maybe holding a reset button down the first time you boot the device, or some other action. This will only need to be done the first time you boot CoreELEC on the device or after you upgrade the Android firmware on the device.

[Note: The LePotato will just boot without doing anything special.]

What’s Next

Well if all went well, the next step is to configure your device as you would like and enjoy your media content.
Information on various configuration options is outside the scope of this post, but search the forum for answers or post your questions if you need help. If you have an issue with something not working as expected, do remember to include the model of the device you are using, the version and build of CoreELEC you are using, and any other details about your setup relevant to your problem.

Upgrading From The Older Amlogic Builds

This so far is a little less well tested then doing a fresh install, so it is very much recommended that you do a backup before continuing. There is no guarantee that an update will work, but there are a few things you can do to increase your chances.

  • Update to the latest amlogic build first.
  • Remove, or any other hacks that you maybe using.
  • If you have the display resolution set to 4k, then change it to 1080p before trying to update.

[Warning: The various install to internal methods will result in a failed update and a possibly bricked device.]

Upgrade Files

While this may be quite obvious, I’m going to cover it anyways just in case. The files used to upgrade an older amlogic install to an amlogic-ng install can be found in the download section of the CoreELEC webiste. You will want to choose the update file for amlogic-ng.

Manual Upgrade

There won’t ever be an automatic upgrade from the amlogic to amlogic-ng builds. However a manual upgrade is fairly easy to do.

  1. Place the amlogic-ng update tar file into the .update folder.

  2. Create an empty .nocompat file in the .update folder.

  3. Reboot your device. it should proceed the same as a normal update at this point.

Important Notes:

  1. If you want to install CoreELEC on to your device’s internal eMMC memory, CoreELEC contains a feature called ceemmc that will let you do this. See here for more information about ceemmc

  2. There is one very important thing to keep in mind when testing. Because as stated above the ng builds use a slightly different boot script, you will need to not just do the hold reset button on first boot with the ng build but when you go to switch back to an older build on the same device, you will need to do the hold reset button thing again to get it to boot with the older build again. This could be a problem if the device has an internal install since it means that you might mess up the internal installs ability to boot, and would need an uSD card with the older build available to get the device to boot the old build again.


hi there, keep up the great work!
I’m having trouble finding the device tree file.
I looked here: but it doesn’t seem to link to actual files.
I also looked here:
But they haven’t been updated for a number of years, and refer to DTS file types, while the new ‘-NG’ on 4.9 refers to DTB file types. Where do I find the new device trees?

After you burn the image using your PC

Look for a folder named Device Trees on the SD Card or USB you are using .

They’re all in there.

Don’t forget to rename the appropriate dtb to


1 Like

Excellent, thanks! It had been a long while since I needed a new device tree.


I am not sure if this is the right place for this discussion – so if there is a better location, eg on the forum(?), then let me know and I’ll post it there! Thanks

Okay, it upgraded successfully via the \upgrade folder.
I have a X96 2g, using the: gxl_p212_2g.dtb
This was working on the Amlogic 3.xx kernel, using an older version of CoreElec which probably hadn’t been upgraded in about a year, likely more. It runs off a microSD card

However, on the first reboot after the upgrade, I only get the x96 splash screen for a long while. I unplugged the device and pressed the hidden button with a toothpick and plugged power back in, but no variation.

Any suggestions? Do I need to burn the new image to the microSD card instead of doing an upgrade?

Yes, upgrade via \upgrade folder is only for same version. Since you want -ng version you have to make a fresh installation. You can use backup (from non -ng version) and restore to -ng version, at least this worked for me on my S905X box…

Hello, today I had try to update my 905X with the NG version but something goes wrong. Here below the screenshoot.

Create an empty .nocompat file in the .update folder.

1 Like

Nothing went wrong.
“Amlogic” and “Amlogic-ng” are based on different kernel versions, thus, it’s strongly recommended to do a clean install.
If you want to upgrade your existing installation, the instructions are right there on the screen.

1 Like

Well @TheCoolest @kostaman thank’s. I will try.

This afternoon I tried the nightly version on my 905x since the remote control doesn’t work anymore. Meanwhile, it is much slower than starting. Plus it often crashes. Best of all, no remote control works continuously. Sometimes it works and sometimes it doesn’t. Neither the original nor the smart one nor the keyboard. I don’t think it is an incompatible model problem. I repeat that until a few releases ago everything was fine. Now nothing goes. Nothing, not even the power on. Now I will have to reinstall the stable version from scratch and never again will I use the nigthly that was recommended to me.

When will possible to use new kernel on device with S912 such as device Mecool KIII Pro?

A post was merged into an existing topic: CoreELEC 19 Matrix Discussion (Kodi RC1)


First of all, thanks for all the effort and hard work that as gone in to this project. I am an happy core elec user for quite some time now!

I have a question, and i can’t seem te get te right answer on the forums of anywhere else on the net.
I have an eminent 7680 streamer, wich is build around an S905X soc. when following this thread I am not able to boot the 9.2.6 NG image. This thread seems to imply the S905X soc is comptable with the new kernel. After flashing the SD card and copying the right device tree it starts re-sizing the partitions, reboots and just shows the corelelec logo. After some time it reboots again.

Is there something different with this S905X soc?

If this is not the right place to ask these questions, please let me know.



@Hiu80 give the most recent nightly build found here a try.

Alright, will do. I will report back with the results.

Sadly, the same result. Re-sizes the partitions, reboots and only shows the coreelec logo. After some time the unit reboots. (bootloop)
I tried CoreELEC-Amlogic-ng.arm-9.2-nightly_20210305-Generic.img.

At the moment i am running 9.2.6 Stable ( Non NG ) wich works fine, but i like to upgrade to matrix. I understand this is possible with an S905X soc. Is this correct?

It is possible on most S905X devices. Unfortunately some of the S905X devices have a really old boot loader, that doesn’t work well with the the newer kernel.

I have added some work around for some of the more common problems caused by some of the old boot loaders found on some of these devices. However this doesn’t work for every device. Which generally means updating the firmware for the device, to get the newer boot loader to solve the problems.

If you are able to ssh into the device then we can get some logs to see what is happening. (Or better yet if you are able to make a uart connection to the device, though ssh should be good enough in this case)

journalctl -a |paste

The above will dump the logs to a pastebin site and give you a url that you can post here.

Note: there is a bit of a chicken and egg issue with ssh on CoreELEC. In that you normally need to access the gui to enable it. However it can also be enabled by editing the config.ini file and adding the following to the end of the file.


Alright, will give it a try later today! I doubt it is possible to set up an ssh connection to the device since it keeps rebooting, but maybe it will work between reboots. Just have to be fast.

Thanks for your answers and time, will let you know how it goes.