{"id":22264421,"url":"https://github.com/devsujay19/minimal_os","last_synced_at":"2025-03-25T14:14:37.607Z","repository":{"id":225202250,"uuid":"765147570","full_name":"devsujay19/Minimal_OS","owner":"devsujay19","description":"This is a minimal OS built with Assembly language. It can be scaled up and connected to main source C/C++ or Python file.","archived":false,"fork":false,"pushed_at":"2024-02-29T20:02:16.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-30T12:47:23.827Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Assembly","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/devsujay19.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"facebook":["https://facebook.com/people/Sujay-Mukherjee/100092647425033"],"instagram":["https://instagram.com/devsujay19"],"twitter":["https://twitter.com/devsujay19"],"replit":["https://replit.com/@devsujay19"]}},"created_at":"2024-02-29T11:19:52.000Z","updated_at":"2024-02-29T18:28:19.000Z","dependencies_parsed_at":"2025-01-30T12:45:00.702Z","dependency_job_id":"f664b1c7-2f2c-4d16-9665-149267e2e259","html_url":"https://github.com/devsujay19/Minimal_OS","commit_stats":null,"previous_names":["devsujay19/minimal_os"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsujay19%2FMinimal_OS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsujay19%2FMinimal_OS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsujay19%2FMinimal_OS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsujay19%2FMinimal_OS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devsujay19","download_url":"https://codeload.github.com/devsujay19/Minimal_OS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245476717,"owners_count":20621698,"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":[],"created_at":"2024-12-03T10:08:53.695Z","updated_at":"2025-03-25T14:14:37.585Z","avatar_url":"https://github.com/devsujay19.png","language":"Assembly","readme":"# Minimal_OS\nThis is a minimal OS built with Assembly language. It can be scaled up and connected to main source `C`/`C++`, `Python` or `Bash`/`Zsh` files.\n\u003chr /\u003e\n\n## Pre-requesites for project\n\nThe project requires a `UNIX`-like environment. If you're on `Windows`, there're various ways of setting one up. You can use `WSL` (`Windows Subsystem for Linux`), a `Linux Virtual Machine`, `Cygwin` or `MSYS2`. But, I most-likely recommend you to setup `WSL` which is the easiest to setup among other techniques. [Read the documentation](https://learn.microsoft.com/en-us/windows/wsl/install). If you're on `macOS`, then it can be very easy to install the required packages by [`Homebrew'](https://formulae.brew.sh/).\n\nFor this project, you need to install the following tools and softwares below -\n\n- `make`\n- `nasm`\n- `qemu-system-x86` for testing\n- Your preferred source code editor (e.g., [`Visual Studio Code`](https://code.visualstudio.com), `NeoVim` or `Vim`)\n\n## Tools installation\n\n### For Linux based OSes\n```\n# Ubuntu, Debian:\nsudo apt install make nasm qemu-system-x86 -y\n\n# Fedora:\nsudo dnf install make nasm qemu-system-x86 -y\n\n# Arch \u0026 Arch-based:\nparu -S make nasm qemu-system-x86\n\n```\n`NOTE` - To install all the required packages on `Arch Linux` or `Arch-based Linux distributions`, you need an [AUR Helper](https://wiki.archlinux.org/title/AUR_helpers).\n\n### For macOS\n\n```\nbrew install make nasm qemu-system-x86\n```\n\n## Guide on writing the code\n\nYou can either clone this repository or create your own by following the steps below.\n\n- Create a source directory named whatever you want (e.g., \"`src`\" or \"`kernel`\").\n- Then create a `build` directory (outside of the source directory).\n- Navigate to the source directory and inside there, create a `Assembly language` file named \"`main.asm`\".\n- Copy and paste the code from this repository to your \"`main.asm`\" file and save it.\n- Outside of the source directory, create a file for building the `Assembly` runnable OS, must be named \"`Makefile`\".\n\n## Building the OS Assembly code\n\n- To `build` a `Floppy Image` and a `Binary` file, run the command in the terminal -\n\n```\nmake\n```\n\n## Testing on a Virtual Machine\n\n- To test your `OS` in a `Virtual Machine`, run -\n\n```\nqemu-system-i386 -fda build/main_floppy.img\n```\n\n## Output\n\nAfter running `Qemu Virtual Emulator`, you can see similar screen like mine -\n\n![assembly_os](https://github.com/devsujay19/Minimal_OS/assets/132755939/41f68490-2efd-4390-94cb-2e84357c0b9a)\n","funding_links":["https://facebook.com/people/Sujay-Mukherjee/100092647425033","https://instagram.com/devsujay19","https://twitter.com/devsujay19","https://replit.com/@devsujay19"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsujay19%2Fminimal_os","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevsujay19%2Fminimal_os","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsujay19%2Fminimal_os/lists"}