{"id":18468682,"url":"https://github.com/dipankardas011/custom-operatingsystem","last_synced_at":"2026-08-08T15:02:25.016Z","repository":{"id":106358847,"uuid":"413922392","full_name":"dipankardas011/Custom-OperatingSystem","owner":"dipankardas011","description":null,"archived":false,"fork":false,"pushed_at":"2021-10-08T18:07:23.000Z","size":4466,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-08T05:49:06.626Z","etag":null,"topics":["operating-system-learning"],"latest_commit_sha":null,"homepage":"","language":"C","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/dipankardas011.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2021-10-05T17:47:53.000Z","updated_at":"2021-10-08T18:07:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"e394f717-9b26-4039-8aa3-2eea88c5eadf","html_url":"https://github.com/dipankardas011/Custom-OperatingSystem","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dipankardas011/Custom-OperatingSystem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipankardas011%2FCustom-OperatingSystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipankardas011%2FCustom-OperatingSystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipankardas011%2FCustom-OperatingSystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipankardas011%2FCustom-OperatingSystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dipankardas011","download_url":"https://codeload.github.com/dipankardas011/Custom-OperatingSystem/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dipankardas011%2FCustom-OperatingSystem/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36412036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-08T02:00:08.763Z","response_time":96,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["operating-system-learning"],"created_at":"2024-11-06T10:07:55.274Z","updated_at":"2026-08-08T15:02:24.975Z","avatar_url":"https://github.com/dipankardas011.png","language":"C","funding_links":["http://patreon.com/codepulse"],"categories":[],"sub_categories":[],"readme":"# Write Your Own 64-bit Operating System Kernel From Scratch\n\nThis respository holds all the source code for [this YouTube tutorial series](https://www.youtube.com/playlist?list=PLZQftyCk7_SeZRitx5MjBKzTtvk0pHMtp).\n\nYou can find the revision for a specific episode on [this page](https://github.com/davidcallanan/yt-os-series/tags).\n\nYou can find pre-built ISO files for this kernel at [this repository](https://github.com/davidcallanan/os-series-isos).\n\nConsidering supporting this work via [my Patreon page](http://patreon.com/codepulse).\n\n## Prerequisites\n\n - A text editor such as [VS Code](https://code.visualstudio.com/).\n - [Docker](https://www.docker.com/) for creating our build-environment.\n - [Qemu](https://www.qemu.org/) for emulating our operating system.\n   - Remember to add Qemu to the path so that you can access it from your command-line. ([Windows instructions here](https://dev.to/whaleshark271/using-qemu-on-windows-10-home-edition-4062))\n\n## Setup\n\nBuild an image for our build-environment:\n - `docker build buildenv -t myos-buildenv`\n\n## Build\n\nEnter build environment:\n - Linux: `docker run --rm -it -v \"$pwd\":/root/env myos-buildenv`\n - MacOS: `docker run --rm -it -v \"$PWD\":/root/env myos-buildenv`\n - Windows (PowerShell): `docker run --rm -it -v \"${pwd}:/root/env\" myos-buildenv`\n \u003e NOTE: If you are having trouble with an unshared drive, ensure your docker daemon has access to the drive you're development environment is in. For Docker Desktop, this is in \"Settings \u003e Shared Drives\" or \"Settings \u003e Resources \u003e File Sharing\".\n\nBuild for x86 (other architectures may come in the future):\n - `make build-x86_64`\n\nTo leave the build environment, enter `exit`.\n\n## Emulate\n\nYou can emulate your operating system using [Qemu](https://www.qemu.org/): (Don't forget to add qemu to your path!)\n\n - `qemu-system-x86_64 -cdrom dist/x86_64/kernel.iso`\n - NOTE: When building your operating system, if changes to your code fail to compile, ensure your QEMU emulator has been closed, as this will block writing to `kernel.iso`.\n\nAlternatively, you should be able to load the operating system on a USB drive and boot into it when you turn on your computer. (I haven't actually tested this yet.)\n\n## Cleanup\n\nRemove the build-evironment image:\n - `docker rmi myos-buildenv -f`\n\n## Results\n![OS running](RUN.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdipankardas011%2Fcustom-operatingsystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdipankardas011%2Fcustom-operatingsystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdipankardas011%2Fcustom-operatingsystem/lists"}