{"id":20130049,"url":"https://github.com/tralahm/simple-os-kernel","last_synced_at":"2026-05-19T19:14:21.858Z","repository":{"id":113331762,"uuid":"269283173","full_name":"TralahM/simple-os-kernel","owner":"TralahM","description":"Operating System Development is one of the most Technically Involving Pursuits for a Computer Scientist.From writing kernels, to multi-stage boot-loaders, to device drivers, getting your hands dirty.","archived":false,"fork":false,"pushed_at":"2020-06-04T17:32:15.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-13T08:45:23.646Z","etag":null,"topics":["32-bit","64-bit","assembly","bios","bootloader","cpp11","firmware","grub","kernel","ld","nasm-assembly","os","tralahm","tralahtek"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TralahM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.rst","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":{"github":"TralahM","patreon":"TralahM"}},"created_at":"2020-06-04T06:53:49.000Z","updated_at":"2023-08-18T10:23:21.000Z","dependencies_parsed_at":"2023-07-14T15:15:37.981Z","dependency_job_id":null,"html_url":"https://github.com/TralahM/simple-os-kernel","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TralahM%2Fsimple-os-kernel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TralahM%2Fsimple-os-kernel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TralahM%2Fsimple-os-kernel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TralahM%2Fsimple-os-kernel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TralahM","download_url":"https://codeload.github.com/TralahM/simple-os-kernel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241577071,"owners_count":19984940,"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":["32-bit","64-bit","assembly","bios","bootloader","cpp11","firmware","grub","kernel","ld","nasm-assembly","os","tralahm","tralahtek"],"created_at":"2024-11-13T20:37:11.090Z","updated_at":"2026-05-19T19:14:16.832Z","avatar_url":"https://github.com/TralahM.png","language":"C++","funding_links":["https://github.com/sponsors/TralahM","https://patreon.com/TralahM"],"categories":[],"sub_categories":[],"readme":"\n[![Build Status](https://travis-ci.com/TralahM/simple-os-kernel.svg?branch=master)](https://travis-ci.com/TralahM/simple-os-kernel)\n[![Documentation Status](https://readthedocs.org/projects/simple-os-kernel/badge/?version=latest)](https://simple-os-kernel.readthedocs.io/en/latest/?badge=latest)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n[![Organization](https://img.shields.io/badge/Org-TralahTek-blue.svg)](https://github.com/TralahTek)\n[![Views](http://hits.dwyl.io/TralahM/simple-os-kernel.svg)](http://dwyl.io/TralahM/simple-os-kernel)\n[![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-brightgreen.svg?style=flat-square)](https://github.com/TralahM/simple-os-kernel/pull/)\n[![GitHub pull-requests](https://img.shields.io/badge/Issues-PR-red.svg?style=flat-square)](https://github.com/TralahM/simple-os-kernel/pull/)\n[![Language](https://img.shields.io/badge/Language-cpp-f34b7d.svg)](https://github.com/TralahM)\n\n# simple-os-kernel.\n\nThis is an OS development experimentation i am carrying out using C(or actually) C++, and assembly to develop my own operating system.\nSimple targeted at 32-bit system architectures.\n\nIt leverages the *Bootloader* **GRUB**\n\n## Tools you need to develop an OS\n- An **Assembler**\n    An Assembler takes your assembly code and give's you the low-level outputs like an object containing your controls on CPU registers the assembler here I use is NASM(netwide assembler).\n\n- A Cross-Compiler\n    In order to develop an operating system, you must have a cross compiler because you must compile your kernel for it's executable format here i use **GCC**(gnu compiler collection) .\n\n- A **Linker**\n    The linker take's your objects and link them to getter here i use GNU **binutils**.\n\n- A **Virtual** **Machine**\n    In order to test your operating system, you must have a vm(virtual machine) but it isn't necessary here i use *virtualbox*.\n\n\n[![TralahTek](https://img.shields.io/badge/Organization-TralahTek-black.svg?style=for-the-badge)](https://github.com/TralahTek)\n[![TralahM](https://img.shields.io/badge/Engineer-TralahM-blue.svg?style=for-the-badge)](https://github.com/TralahM)\n[![TralahM](https://img.shields.io/badge/Maintainer-TralahM-green.svg?style=for-the-badge)](https://github.com/TralahM)\n\n\n# How to Build and Install\n\n```console\n$ git clone https://github.com/TralahM/simple-os-kernel.git\n$ cd simple-os-kernel\n$ make clean\n$ make\n$ make iso\n```\n\nAn ISO image will be built which you can test with *QEMU*, Virtualbox, or create a bootable disk.\n\n# Contributing\n[See the Contributing File](CONTRIBUTING.rst)\n\n\n[See the Pull Request File](PULL_REQUEST_TEMPLATE.md)\n\n\n# Support\n\n# LICENCE\n\n[Read the license here](LICENSE)\n\n\n# Self-Promotion\n\n[![TralahM](https://img.shields.io/badge/Twitter-TralahM-blue.svg?style=for-the-badge)](https://twitter.com/TralahM)\n[![TralahM](https://img.shields.io/badge/Github-TralahM-black.svg?style=for-the-badge)](https://github.com/TralahM)\n[![TralahM](https://img.shields.io/badge/Kaggle-TralahM-purple.svg?style=for-the-badge)](https://kaggle.com/TralahM)\n[![TralahM](https://img.shields.io/badge/LinkedIn-TralahM-red.svg?style=for-the-badge)](https://linkedin.com/in/TralahM)\n[![Blog](https://img.shields.io/badge/Blog-tralahm.tralahtek.com-blue.svg?style=for-the-badge)](https://tralahm.tralahtek.com)\n[![TralahTek](https://img.shields.io/badge/Organization-TralahTek-cyan.svg?style=for-the-badge)](https://tralahtek.com)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftralahm%2Fsimple-os-kernel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftralahm%2Fsimple-os-kernel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftralahm%2Fsimple-os-kernel/lists"}