Trying To Get Linux Running On A Nokia E6

The Nokia E6 is a smartphone from back in the old days when Symbian was a thing. [fluffleswaffled] has been doing the work to get the ancient handset running Linux instead, because that’s ultimately cooler than what the phone shipped with out of the box.

There isn’t an unlocked bootloader on the E6, so instead, [fluffleswaffled] used an altogether different route to boot Linux. A Symbian app is used to load the kernel and device tree into RAM, at which point the MMU and caches are turned off and the device jumps into Linux. It’s a one-way trip, from which there is no way back to Symbian without a power cycle. The setup nets a terminal on the phone’s own screen, and the hardware keyboard and touchscreen are functional. The display is controlled by a Broadcom VideoCore III, with [fluffleswaffled] capturing messages from Nokia’s original display driver to create a custom kernel driver that replays them.

There’s an issue, though. The phone doesn’t stay in Linux land for long — it always resets within a couple minutes of booting into the alternative OS. [fluffleswaffled] believes this is because the phone’s baseband chip is supervising the application processor, and killing things once it’s detected that the Symbian mobile stack has stopped running. They’re hoping that someone with experience with Nokia basebands or the relevant hardware can point them in the right direction to get this hack running for more than 3.5 minutes at a time.

There probably isn’t a great deal of utility in getting Linux running on a 2011 smartphone, but we love the hustle nonetheless. We’ve seen this done before, though, and it’s always interesting to learn what it takes to get the OS booting on a new platform. If you’re whipping up similar hacks in your home lab, don’t hesitate to let us know on the tipsline.

30 thoughts on “Trying To Get Linux Running On A Nokia E6”

  1. The Nokia Eseries are an hidden gem of smartphones. They’re sturdy, well built and would make for an awesome small terminal (Meshtastic, pager or else). I hope to see things moving on the bootloader side of things or see more projects reusing good chassis like the E6 one to put a modern motherboard inside, like we have seen with very good chassis like the Thinkpad X61 and X201 to name a few.

    Retrofit is awesome, it would make a neat Hackaday contest.

    1. I still use my x201 on a daily basis as it is, but not going to lie, 4g ram and an actual hard drive make it slower than pudding for anything other than texting and chat software.

      1. I still use my x201 on a daily basis

        Got an X200s running next to me right now.

        It has 8GB of DDR3, left over from upgrading a faster machine to 16GB. It has a 128GB SATA SSD I was given some months ago. It runs Raspberry Pi Desktop. It’s lovely and it’s pretty quick.

      2. I use an X200s with 4GB RAM and it’s original HDD. Serves me fine for everything but games.
        I can comfortably use an internet browser (firefox), watch videos (mpv), read books (okular), parametric 3D CAD (FreeCAD), ecad (KiCAD) is doable, bit slow to load libraries though. It’s hardly a workstation monster, but there’s not a lot I can’t do on it. I used to have the full libreoffice suite on it too, now I just stick with Impress (word processor) and Calc (spreadsheets).
        Still the best machine I’ve had the pleasure of using, 18 years later. Few more cracks and scratches than we started with but still working. :)

      3. I still have one too but I’d rather use its younger brother the X220. Upgraded with an i7, 16GiB of RAM and a SSD and it’s perfecly useable in 2026 with a sensible OS and Window manager (Linux and XFCE).

        1. I still have one too but I’d rather use its younger brother the X220.

          Oh, definitely, yes. I have two of those: my original i5 one, bought 9Y ago, and a newer maxed-out i7 one I bought about 3Y ago. As you say: perfectly usable today. Mine multiboots Ubuntu Unity and Pop_OS and Alpine with Xfce (and Windows 10 IoT LTSC).

          The screen is a bit smaller than on the X200, though, and somehow the X200 keyboard feels better.

          A small win with the X220 is that it can take 2 SSDs: one SATA one in the 3.5″ bay and a second mSATA one in the WWAN adaptor bay.

        2. My units LCD has a fading colors issue. Any recommendation for a modern replacement? There’s OLED touchscreens in that size around…

    2. The Nokia Eseries are an hidden gem of smartphones.

      And about as useful as the original Nokia 3310. With recent 3G network shutdowns you can maybe use it as a paperweight or poop knife.

          1. And here I was thinking that was going to take me to some interesting wikipedia article or something. I was very disappointed but now I’m curious. Do you unroll as it exits, stretch it open or what. Only one way to find out. I’m gonna need to eat some fiber.

          2. In that case you could use a a fork with one side sharpened, which are occasionally favoured by one armed amputees. Roald dahl documented in his autobiography one his father had, who lost his arm due to falling off a roof and being misdiagnosed as dislocated by a drunk doctor.

  2. Hello! This is fluffleswaffles, writing as of 22.10. The issue is now fixed! Thank you everyone who helped to figure the resetting issue out. We’re now one step closer to full-fledged Linux on the rapuyama platform!

  3. The 240 second boot seems to be fixed:

    “22.10.2026 240-second reset fixed: PA_SWD secure watchdog serviced from Linux, four successful calls through 648 s (log)”

  4. Here’s a better idea:

    Someone spend some slop-bot tokens on taking the Symbian source code that’s on Github and make it compile with GCC or LLVM, and run on a modern Arm.

    1. People should crowdsource tokens to port Linux kernel to cLISP instead. It’s Touring complete so it should run on any hardware.

      1. People should crowdsource tokens to port Linux kernel to cLISP instead. It’s Touring complete so it should run on any hardware.

        That’s “Turing” as in Alan Turing.

        Bad plan, IMHO. Unix is not a good fit for Lisp, and Lisp is not a good fit for Unix.

        There are several working FOSS Lisp OSes out there:

        ChrysaLisp, by one of the authors of Taos:

        https://github.com/vygr/chrysalisp

        Mezzano:

        https://github.com/froggey/mezzano

        There have been Unix variants in type-safe languages before.

        https://en.wikipedia.org/wiki/TUNIS

        The source code to KSOS was recently published:

        https://qpulse.quasarcybertech.com/news/4519/historical-kernelized-secure-operating-system-ksos-source-code-released-to-public

        GCC can handle Modula-2 now. Go get KSOS working on GCC. It’s much more likely to succeed.

    2. as a programmer, i really thought symbian was awful through and through. it was one of the projects that used c++ but didn’t trust any existing c++ compiler so reinvented c++ features using bespoke garbage. just like qt, now that i think of it.

      1. reinvented c++ features using bespoke garbage.

        As I understand it — and this is not my area — back in the early 1990s when EPOC32 was released, C++ was still very new and immature and lot of this stuff didn’t exist yet.

        The C++ standard was first published in 1985. The ISO C++ committee was founded in 1991.

        Psion started work on EPOC32 in 1994 and the first product using it, the Psion 5, was shipped in 1997.

        The C++ 98 standard was published in — you guessed it — 1998.

        In other words, the first standard for C++ was the year after Psion shipped EPOC32.

        Be faced similar problems. The first version of BeOS that shipped to customers, DR5, was in 1995.

        1. yeah. exactly. there were good reasons they couldn’t use C++. but they ignored those reasons and instead used C++ with bespoke garbage tacked on. i thnk that was a mistake at the time. i’m sure people would disagree with my assessment. but i hope we’ll agree that today it makes for a very awkward codebase and environment for future development.

    3. The symbian source archives have very little by way of real applications, and due to its age it is written in an anachronistic hybrid c/c++ style. Maintaining binary compatibility would be a huge challenge, porting to rust however totally doable – and i have the UI Eikon piece running on an esp32 quite nicely. Much lighter than lvgl for example.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.