Frontier
Frontier is a utility operating system for improving and repurposing technology in embeddeded ARM applications.
It can also be used as a general purpose OS userspace for firmware.
What does it do?
- Frontier consists of important firmware code like a UI library, memory patcher, module linker, and scripting engine.
- It has most of the components of a operating system, but isn't designed to boot on bare metal. (although it can)
- Frontier is designed to work by utilizing an existing RTOS for IO functionality, but also has some bare metal functions, like
patching memory, dumping memory, and communicating with the CPU.
Applications:
- Digital Cameras, Action Cameras
- Car infotainment systems
- Scanners, Printers
Features:
- Basic monolithic kernel with module support
- Priority 32 bit ARM v7 & v5 support (other architectures will not be considered)
- Bundled Javscript Engine (mJS)
- JSON based UI Library (native rendering)
- Support for buttons and touchscreens (not keyboards)
- 32 Bit ELF Linker for modules and apps
- Runtime ARM Assembler for memory patches
- Lightweight and power efficient - written in C and Rust
Demonstration:
Basic grapical menu demonstrating the UI library.
Frontier compatible code being run on a modded camera and an emulator.
Git repository
Copyright (C) Frontier by Based Technologies and contributors. Frontier is licensed under GNU GPL 2.0
Not affiliated with Fujihack.