JinxOS
JinxOS copied to clipboard
JinxOS is a minimalist operating system written in C and ARM. The focus is to quickly and easily interface with connected hardware for education and testing purposes.
What is JinxOS?
JinxOS is a minimalist operating system developed to easily interface with connected hardware for educational and testing purposes. It is still under development, and is powered by C and ARM. It is not currently portable to all Raspberry Pi models, however this is on the roadmap. It (will) leverage VideoCore IV as well as uGUI to render a basic terminal interface, allowing the end-user to run scripts and commands to communicate with their plugged in devices. Keep in mind however, this project is still in an early state.
Getting Started
Below is some instructions to get the project building on your machine for development and testing. To see how to deploy the built image to the Raspberry Pi, see the deployment section. Installation steps currently assume you're running a Debian-based linux system.
Prerequisites
- Micro-SD card
- gcc-arm-none-eabi toolchain (if cross-compiling)
Configuration
Inside the Makefile, you can specify your Raspberry Pi model via PI_VER. This is important, as some addresses are hard-coded as the SoC's are slightly different between models. The following models are currently supported:
RPIBPLUS
RPI2
More will be added in the future. By default, PI_VER is set to RPIBPLUS.
Building
Firstly, if you don't already have the ARM cross-compile toolchain, you can install it as follows:
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi
Finally, to build the JinxOS kernel, the Makefile can be used as follows:
make create
make
You should now have both the kernel.elf and kernel.img file inside the build/ directory.
Deployment
To deploy the operating system onto an SD card, some other files are needed that are not inside this repository to boot the kernel. A popular approach is to pull another operating system such as Raspbian and replace the kernel.img file in the SD card root with Jinx's kernel image. In the future, a script will pull these files and set these up for the end-user for easy deployment.
You'll know JinxOS is running on the system if the "OK" green LED is flashing at a half second interval on the board.
Roadmap
In order of next in development to least.
License
Specter (Cryptogenic) - @SpecterDev
This project is licensed under the MIT license - see the LICENSE.md file for details.
Acknowledgements
Brian Sidebotham