platform support
mnemOS attempts to make the bringup process for supporting a new hardware platform as straightforward as possible. The core cross-platform kernel is implemented as a Rust library crate, which platform implementations depend on. The platform implementation, which builds the final mnemOS kernel binary artifact for that platform, is responsible for performing hardware-specific initialization, initializing drivers for hardware devices provided by that platform, and running the kernel. In addition, the kernel crate provides a set of cross-platform default services, which may be run on any hardware platform.
supported platforms
Currently, mnemOS has in-tree platform implementations for several hardware platforms, with various degrees of completeness.
The following platforms are "fully supported" --- they are capable of running the complete mnemOS operating system, with all core functionality implemented:
- Allwinner D1, a single-core, 64-bit RISC-V SoC from
Allwinner. The following D1 single-board
computers are currently supported:
- MangoPi MQ Pro, a board in the Raspberry Pi Zero form factor
- Sipheed Lichee RV, a system-on-module capable of being connected to carrier boards using a dual M.2 slot design
- Simulators, which run an interactive mnemOS kernel as a userspace process in a
development machine. These include:
- Melpomene, a desktop simulator for running the mnemOS kernel locally
- Pomelo, a WebAssembly browser-based simulator. A hosted version of Pomelo is available at https://anatol.versteht.es/mlem/
Other platform implementations are less complete, and undergoing active development:
- ESP32-C3, a small, WiFi-enabled 32-bit RISC-V microcontroller from Espressif. This port is intended primarily to support the use of the ESP32-C3 as a WiFi co-processor for an Allwinner D1 system; see RFC 0196: WiFi Buddy Interface Design for details.
- x86_64, for 64-bit x86 (amd64) desktop and server platforms. The x86_64 implementation is in the early phases of development, and most mnemOS functionality is not yet available.