An Android developer has managed to successfully port Google's latest 6.0 Marshmallow update on to the older Nexus S smartphone. Dmitry Grinberg, who released the unofficial custom ROM for the four-year-old device, has claimed that most features of the device function normally.

Grinberg claimed that the custom ROM is a stable build of Android 6.0, and the smartphone's camera, Bluetooth, GPS, Wi-Fi and NFC function normally.

Android loyalists who have the Nexus S device can try and flash the unofficial Android M custom ROM on their handsets and over-ride the outdated Android Jelly Bean OS. You can obtain the unofficial source code list here.

Android M images developed by Grinberg are available below.

However, the custom ROM has some issues that affect the functioning of the device. You can view these key issues here.

Grinberg, had the following to say about the Android 6.0 custom ROM.

Nexus S (crespo) got its last update in Oct 2012. It was Android 4.1.2 Jelly Bean. Android M (marshmallow) just came out recently. I decided to port M to crespo for fun, and as a demo that old hardware can in fact run new versions of android. In this article you'll read about some of the challenges I faced in making this happen and find the information you need to reproduce my results. And for the lazy, I also have a pre-built AOSP Marshmallow image set to download on the bottom of this page. Since Nexus S was originally a Google-Play-equipped device, you can legally install Google Apps on this image and enjoy a full Google Android 6.0 experience on your Nexus S. That part, however, is up to you to do yourself. I am not offering GApps downloads here.