{"id":22927805,"url":"https://github.com/0rayn/yona","last_synced_at":"2026-03-04T15:03:27.415Z","repository":{"id":210779929,"uuid":"726562814","full_name":"0rayn/Yona","owner":"0rayn","description":"Hobby Operating System --- Using YonaOs is saying \"I want problems, Always\" :)","archived":false,"fork":false,"pushed_at":"2025-07-23T14:57:28.000Z","size":35435,"stargazers_count":14,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-23T16:37:17.856Z","etag":null,"topics":["42school","assembly","clang","kernel","kfs","operating-systems","osdev","x86"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/watch?v=v_kk3MAzOBw\u0026list=PLtq91b8Xn9ZU0R3Hko4AumfX2qdz42r2E\u0026index=8","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0rayn.png","metadata":{"files":{"readme":null,"changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-12-02T18:24:47.000Z","updated_at":"2025-07-23T14:57:31.000Z","dependencies_parsed_at":"2024-05-15T13:34:25.874Z","dependency_job_id":"90807ac6-5237-48e3-8da6-2630faa6d424","html_url":"https://github.com/0rayn/Yona","commit_stats":null,"previous_names":["ayg0/yona","0rayn/yona"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/0rayn/Yona","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0rayn%2FYona","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0rayn%2FYona/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0rayn%2FYona/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0rayn%2FYona/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0rayn","download_url":"https://codeload.github.com/0rayn/Yona/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0rayn%2FYona/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30084685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T13:22:36.021Z","status":"ssl_error","status_checked_at":"2026-03-04T13:20:45.750Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["42school","assembly","clang","kernel","kfs","operating-systems","osdev","x86"],"created_at":"2024-12-14T09:16:26.544Z","updated_at":"2026-03-04T15:03:26.782Z","avatar_url":"https://github.com/0rayn.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"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.\n\n## Features\n- ANSI-like escape sequences to handle coloring.\n- using serial communication for debugging.\n- printf and sprintf clones for both the VGA and serial communication.\n- as simple as possible to play test all you need is to use 'make'.\n- a minimalistic shell with various commands and games.\n\n## Text Mode Colors\nTo change color, just print `\"\\033[\u003ccolor-ID\u003em\"`. Here are the available colors:\n\n| color-ID | color            |\n|----------|------------------|\n| 30       | VGA_BLACK        |\n| 34       | VGA_BLUE         |\n| 32       | VGA_GREEN        |\n| 36       | VGA_CYAN         |\n| 31       | VGA_RED          |\n| 35       | VGA_MAGENTA      |\n| 33       | VGA_BROWN        |\n| 37       | VGA_LIGHT_GREY   |\n| 90       | VGA_DARK_GREY    |\n| 94       | VGA_LIGHT_BLUE   |\n| 92       | VGA_LIGHT_GREEN  |\n| 96       | VGA_LIGHT_CYAN   |\n| 91       | VGA_LIGHT_RED    |\n| 95       | VGA_LIGHT_MAGENTA|\n| 93       | VGA_YELLOW       |\n| 97       | VGA_WHITE        |\n| 39       | VGA_DEFAULT      |\n\n## General Resources\nI have created a resources folder for you.\n\n### Building the Cross-Compiler\n- [Building GCC](https://wiki.osdev.org/Building_GCC)\n- [GCC Cross Compiler Guide](https://ayg0.github.io/gettoknow.github.io/posts/gcccrosscompiler/)\n\n## Play-Testing the OS\nThe 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.\n\n### Commands\nTo make the ISO, run:\n```sh\nmake\n```\n\nTo clean the binaries, run:\n```sh\nmake fclean\n```\n\nTo run the OS in QEMU, run:\n```sh\nmake run\n```\nNOTE: of course, you need to have QEMU installed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0rayn%2Fyona","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0rayn%2Fyona","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0rayn%2Fyona/lists"}