Skip to content

Strayker-Software/StrayexOS

Repository files navigation

StrayexOS

Strayex is 32-bit monotasking operating system with microkernel. Written as hobby OS for mine learning and entertainment reason and for teaching of OS/Dev

Can't load image!

This project is the best mile stone in learning operating systems development, between MikeOS and Linux! As MikeOS explains, how Assembly OSes works, Strayex shows work of similar software but with C language base of kernel. This similarity gives you opportunity to start with MikeOS, go to Strayex and finally study Linux. Passing that all three projects and learn at least basics will give you opportunity to create your own low-level software. It doesn't have to be howl OS, It can be boot loader, file system, kernel, whatever.

So if you are still interested in look up here:

Genesis

As a programmer, I always wanted to create my own operating system, not as main software for computers like Windows and macOS, or Linux. So I started to make simulators of OS's shell in C++ and I understood it can't be so hard to write some low-level software. I wasn't right, but I had a bit of truth. When I looked on Linux Kernel source code, I was afraid of amount of code and complicated functions. But I was determined to achieve my goal and I started to read processors' documentations, forums and tutorials. I found MikeOS and I studied the code of kernel, MikeOS creator's tutorial and I understood how it works. Finally, I am able to write almost all code of my OS and show it to another people. I want to show, that OS can be simple in code but powerful and our own. Now I'm able to understand Linux and learn it more easier.

Gettings Started

  1. Get the newest Strayex ISO from here ("Assets" list) and download it,

  2. Open virtual machine app and run VM with this ISO:

    • for Virtual Box:

      Can't load image!

      For more info, go to docs folder!

    • for QEMU: make iso-run-qemu or just start qemu-system-x86_64 on your machine,

    • for Bochs: make iso-run-bochs or just start bochs

      Warning! Bochs can ask for config script, get one from docs/.bochsrc in repo or generate one by yourself, also Bochs can ask for disk image to run on, download from docs/c.img in repo or ask Bochs to build one.

  3. Watch Strayex starts up!

Design and Distributions

Strayex is designed to be simple (for me and you :) ) to understand and to develop. I make releases every major changes, small changes are minor. The biggest changes are uploaded as new distributions.

There are two lines of Strayex family of operating systems: Strayex Kernel-based, named StrayexOS and Linux-based, named Strayex Linux. In this repo are saved Strayex Kernel-based systems. For Strayex Linux, there will be another way for contribution. On official Strayex side I will upload all source files of distributions listed below, for mirror.

For quicker work with Strayex, there are other projects for you:

Distribution list (Strayex Kernel):

TODO

List of what I would like to be done in StrayexOS and it's repository!

Contributions

Feel free to contribute to project! Read CONTRIBUTING.md to know how to do it!

Contact

My website is here!

Join me on Facebook!

If you have any suggestions for Strayex or you want to ask me for something, join to Strayex Discord Server!