Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/0rayn/yona
Hobby Operating System --- Using YonaOs is saying "I want problems, Always" :)
https://github.com/0rayn/yona
42school assembly clang kernel kfs operating-systems osdev x86
Last synced: 13 days ago
JSON representation
Hobby Operating System --- Using YonaOs is saying "I want problems, Always" :)
- Host: GitHub
- URL: https://github.com/0rayn/yona
- Owner: 0rayn
- Created: 2023-12-02T18:24:47.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-30T11:20:55.000Z (27 days ago)
- Last Synced: 2024-12-01T22:37:05.408Z (25 days ago)
- Topics: 42school, assembly, clang, kernel, kfs, operating-systems, osdev, x86
- Language: C
- Homepage: https://www.youtube.com/watch?v=v_kk3MAzOBw&list=PLtq91b8Xn9ZU0R3Hko4AumfX2qdz42r2E&index=8
- Size: 33.7 MB
- Stars: 14
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
YonaOs is a 32-bit hobby operating system made in C. This is my 4th attempt at building Yona, with fewer mistakes and new design decisions.
## Features
- ANSI-like escape sequences to handle coloring.
- using serial communication for debugging.
- printf and sprintf clones for both the VGA and serial communication.
- as simple as possible to play test all you need is to use 'make'.
- a minimalistic shell with various commands and games.## Text Mode Colors
To change color, just print `"\033[m"`. Here are the available colors:| color-ID | color |
|----------|------------------|
| 30 | VGA_BLACK |
| 34 | VGA_BLUE |
| 32 | VGA_GREEN |
| 36 | VGA_CYAN |
| 31 | VGA_RED |
| 35 | VGA_MAGENTA |
| 33 | VGA_BROWN |
| 37 | VGA_LIGHT_GREY |
| 90 | VGA_DARK_GREY |
| 94 | VGA_LIGHT_BLUE |
| 92 | VGA_LIGHT_GREEN |
| 96 | VGA_LIGHT_CYAN |
| 91 | VGA_LIGHT_RED |
| 95 | VGA_LIGHT_MAGENTA|
| 93 | VGA_YELLOW |
| 97 | VGA_WHITE |
| 39 | VGA_DEFAULT |## General Resources
I have created a resources folder for you.### Building the Cross-Compiler
- [Building GCC](https://wiki.osdev.org/Building_GCC)
- [GCC Cross Compiler Guide](https://ayg0.github.io/gettoknow.github.io/posts/gcccrosscompiler/)## Play-Testing the OS
The only prerequisite you need is Docker and Docker Compose. I have made an image available on Docker Hub: `0rayne/i386.env:v1.0`. that has the cross compiler and the necessary tools to build the OS.### Commands
To make the ISO, run:
```sh
make
```To clean the binaries, run:
```sh
make fclean
```To run the OS in QEMU, run:
```sh
make run
```
NOTE: of course, you need to have QEMU installed.