Roadmap
From a booting kernel to a daily phone
NeoSymbian moves in seven phases. Each one builds on the ones before it, and work inside a phase runs in parallel parts. Every stage keeps its name from the project docs. Status as of .
Phases
In order. A phase is done when all of its stages are; the bar shows done, in progress and blocked stages.
Architecture
Three ABIs, one phone
The kernel is 64-bit code with 32-bit pointers. The 2010 user side runs as 32-bit ARM code at EL0. New UI code is Rust on the user side. Each layer's language follows from its ABI.
Who writes what
| Layer | Language | Examples |
|---|---|---|
| Kernel drivers | C++ | eMMC, SPMI, USB, IPA, timers |
| Protocol and policy | Rust (user side) | QMI, Wi-Fi control, touch protocol, UI |
| Glue to Symbian | thin C++ | ETel and ESOCK plugins |
Changes to Symbian code
Changes are made in place in the forks, marked NeoSymbian. Changed Symbian files are EPL-2.0. Our new files are Apache-2.0. The upstream branches are never changed, and nothing is pushed to SymbianSource.
Kernel: NeoSymbian/kernel, with the port in Symbian's own folder layout.