An operating system completely written from scratch in C, C++, Assembly and various other languages, depending on the needs of the project.
NOTE: This project is still in early development and is not ready for use.
This is a hobby project of mine to create a simple operating system from scratch. The goal is to create a simple operating system that can be used to run simple programs.
Bolt is an operating system project that aims to create a simple and efficient OS from scratch. It is written in C, C++, Assembly, and other languages as needed. The project is a hobby endeavor with the goal of learning and experimenting with OS development concepts.
The project is still in its early stages of development. Basic functionalities such as bootstrapping, memory management, and simple kernel operations are being implemented. The project is not yet ready for production use and is primarily intended for educational purposes.
The primary goal of Bolt is to create a simple operating system that can run basic programs. The project aims to provide a learning platform for OS development and to experiment with various OS concepts and techniques. Future goals include implementing more advanced features such as file systems, networking, and user interfaces.
The following sections provide detailed instructions for setting up the development environment, building, and running the project.
- git
- QEMU
- Any Linux Distribution
- Bazel
- xorriso - This is a temporary requirement and will soon cease to be required.
Building the project has been simplified with the introduction of Bazel. You can build the project by running the following command:
# For a CD image
bazel build //image:cd
# The CD image will be located at bazel-bin/image/cd.iso
Running the project is done through QEMU, a virtual machine. To run the project, use the following command:
qemu-system-x86_64 -cdrom bazel-bin/image/cd.iso -no-reboot -no-shutdown -s -S -serial stdio -d int -m 2G -vga std
Testing is done on the host machine and can be performed by running the following command:
bazel test //...
Contributions are welcome. Please read CONTRIBUTING.md for detailed guidelines on how to contribute to the project.
We aren't there yet.
Join our community to stay updated and get involved:
This project is licensed under the MIT License - see the LICENSE file for details.
TL;DR: Do whatever you want with it. Just don't blame me if it breaks your computer but credit me if you use it in your project.