Michael Mamic
2018-09-24 05:27:05 UTC
Hello Everyone,
I have been working on a minimalistic OS for the Raspberry Pi Zero (More
models to come), so minimalistic that it stretches the definition of an OS.
It searches for a main.lua file on the root directory of the rPi's SD Card,
and then runs it upon boot with LuaJIT.
Printing text is done over HDMI by default, and file IO is provided by the
OS, along with functions for reading and writing the rPi's pins. This makes
many types of projects possible with only CirnOS, such as sensor logging,
lighting and motor control, even controlling connected screens works quite
well.
I made this OS to give myself complete control over a device in a simple
and efficient way. It was originally just going to be used for a virtual
pet that I am making, but I figure that other people might find it useful
for their projects as it is now, and perhaps even more so as more features
are added.
Points of note:
* The compiled OS only takes 497KB of space.
* The source code including libraries and blobs takes 2MB of space.
* Boot time is 3-4 seconds.
* There is only one thread.
* There are no permissions included -- everything is allowed to all code by
default.
* CirnOS should run fine on the original Raspberry Pi, but this has not
been tested.
* Project has not been extensively tested, should be very easy to break.
You can find CirnOS on GitHub:
https://github.com/Mikestylz/CirnOS
I have been working on a minimalistic OS for the Raspberry Pi Zero (More
models to come), so minimalistic that it stretches the definition of an OS.
It searches for a main.lua file on the root directory of the rPi's SD Card,
and then runs it upon boot with LuaJIT.
Printing text is done over HDMI by default, and file IO is provided by the
OS, along with functions for reading and writing the rPi's pins. This makes
many types of projects possible with only CirnOS, such as sensor logging,
lighting and motor control, even controlling connected screens works quite
well.
I made this OS to give myself complete control over a device in a simple
and efficient way. It was originally just going to be used for a virtual
pet that I am making, but I figure that other people might find it useful
for their projects as it is now, and perhaps even more so as more features
are added.
Points of note:
* The compiled OS only takes 497KB of space.
* The source code including libraries and blobs takes 2MB of space.
* Boot time is 3-4 seconds.
* There is only one thread.
* There are no permissions included -- everything is allowed to all code by
default.
* CirnOS should run fine on the original Raspberry Pi, but this has not
been tested.
* Project has not been extensively tested, should be very easy to break.
You can find CirnOS on GitHub:
https://github.com/Mikestylz/CirnOS