{"id":21838306,"url":"https://github.com/callmesalmon/pearlOS","last_synced_at":"2025-07-20T17:31:48.471Z","repository":{"id":262262310,"uuid":"886701446","full_name":"callmesalmon/pearlOS","owner":"callmesalmon","description":"pearlOS: A lightweight operating system, contributions are welcome!","archived":false,"fork":false,"pushed_at":"2025-07-09T19:48:25.000Z","size":669,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-10T05:08:02.434Z","etag":null,"topics":["c","kernel","minimal","minimalist","operating-system","os","osdev","pure-c"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/callmesalmon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2024-11-11T12:59:47.000Z","updated_at":"2025-07-09T19:48:29.000Z","dependencies_parsed_at":"2024-12-17T18:18:47.750Z","dependency_job_id":"33876477-5f85-4093-8a5e-5c4fe175b537","html_url":"https://github.com/callmesalmon/pearlOS","commit_stats":null,"previous_names":["elisstaaf/osk","elisstaaf/pearlos","realpuresalmon/pearlos","bestsalmon/pearlos","callmesalmon/pearlos"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/callmesalmon/pearlOS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callmesalmon%2FpearlOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callmesalmon%2FpearlOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callmesalmon%2FpearlOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callmesalmon%2FpearlOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/callmesalmon","download_url":"https://codeload.github.com/callmesalmon/pearlOS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callmesalmon%2FpearlOS/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266165478,"owners_count":23886621,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["c","kernel","minimal","minimalist","operating-system","os","osdev","pure-c"],"created_at":"2024-11-27T21:10:12.627Z","updated_at":"2025-07-20T17:31:48.464Z","avatar_url":"https://github.com/callmesalmon.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pearlOS: Operating system\n\n[![Build](https://img.shields.io/github/actions/workflow/status/callmesalmon/pearlOS/ci.yml?logo=Github\u0026labelColor=17181B\u0026label=Build)](/)\n[![C17](https://img.shields.io/badge/Standard-C17-A8B9CC?logo=C\u0026labelColor=17181B)](/)\n[![BuildSys](https://img.shields.io/badge/Build%20System-GNU%20Make-0F6713?logo=GNU\u0026labelColor=17181B\u0026logoColor=898484)](/)\n[![Version](https://img.shields.io/badge/Version-Demon-FF0062?labelColor=17181B)](/)\n[![Hippocratic License HL3-CORE](https://img.shields.io/static/v1?label=Hippocratic%20License\u0026message=HL3-CORE\u0026labelColor=5e2751\u0026color=bc8c3d)](https://firstdonoharm.dev/version/3/0/core.html)  \n\npearlOS is an awesome operating system based of (and a continuation of) the discontinued\n[pidi-os](https://github.com/GandelXIV/pidi-os). I *highly* recommend you to check out the new rust-based\noperating system made by the [same author](https://github.com/GandelXIV);\n[RezOS](https://github.com/GandelXIV/RezOS). pearlOS was made for me to learn operating system \nthings and also to become better at C and Assembly. I am extremely inconsistent\nin the way I update things and I kind of just implement things as I go so keep that in mind :P\n\n[![pearlOS](https://github.com/callmesalmon/pearlOS/raw/main/prod/boot.png)](https://github.com/callmesalmon/pearlOS)  \n*Warning: Image may be outdated.*\n\n## Requirements\n\n* [Make](https://www.gnu.org/software/make)\n* [NASM](https://nasm.us)\n* [Clang](https://clang.llvm.org/)\n* [QEMU](https://www.qemu.org)\n* [GRUB](https://www.gnu.org/software/grub/) 2.0 or later\n* [xorriso](https://www.gnu.org/software/xorriso/)\n\n## Compilation\n\n\u003e [!NOTE]\n\u003e Compilation is only guaranteed on Linux with *Clang ISO C17*,\n\u003e but it is also possible in Windows with virtualization\n\u003e solutions like WSL (on Windows 11) or hyperV.\n\n### Prerequisites\n\nOn a Debian based OS (Debian, Ubuntu, Kali etc.):\n```sh\nsudo apt-get install build-essential clang nasm qemu grub2-common grub-pc-bin xorriso\n```\n\n### Building\n\nTo build the OS and create a bootable ISO:\n```sh\nmake\n```\n\n#### Running in QEMU\n\nTo build and run the OS in QEMU:\n```sh\nmake run # or \"make qemu\"\n```\n\n#### Creating a Bootable USB\n\n1. Build the ISO:\n```sh\nmake\n```\n\n2. Use `dd` to write the ISO to a USB drive (replace `/dev/sdX` with your USB device):\n```sh\nsudo dd if=build/pearlos.iso of=/dev/sdX bs=4M status=progress \u0026\u0026 sync\n```\n\n**WARNING:** Be very careful with the device name as this will erase all data on the target device.\n\n### Troubleshooting\n\nIf you encounter any issues during the build process, please check the following:\n1. Ensure all dependencies are installed\n2. Check that you have sufficient disk space\n3. Verify that your system meets the minimum requirements\n4. Consult the [troubleshooting guide](/doc/TROUBLESHOOTING.md) for common issues\n\n## Uninstalling\n\nTo uninstall, simply run:\n```sh\nmake clean\n```\n\n## Differences\n\nIf you want to see the differences between pearlOS and [pidi-os](https://github.com/GandelXIV/pidi-os),\nsee [PIDI-DIFF.md](/doc/PIDI-DIFF.md).\n\n## Contributing\n\nI accept all meaningful contributions! As long as it doesn't break the\nproject, I'll probably accept your contribution.\n\n## Activity\n\nI'm a bit inconsistent on when I actually, y'know, maintain and update this,\nbut I can assure you, even if you see a 5-month pause, THE PROJECT IS NOT DEAD.\nIf the project dies, you can expect archival or at least a message.\n\n## Documentation\n\nThe official pearlOS documentation can be viewed [here](/doc), but keep\nin mind that I'm not that consistent on updating the documentation,\nthough it becomes pretty clear on what you have to do if you just...\nrtfc (read the fucking code).\n\n## License\n\nThis project is licensed under the [HL3-Core](https://firstdonoharm.dev/version/3/0/core.txt)\n(Hippocratic License 3 Core) license. As long as you abide by the terms of the license, you can\nuse this software however you like.\n\n## Developers\nSince late June of 2025, pearlOS has been codeveloped by @callmesalmon and @androvonx95.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallmesalmon%2FpearlOS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcallmesalmon%2FpearlOS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallmesalmon%2FpearlOS/lists"}