TralahM / simple-os-kernel

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.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Documentation Status License: MIT Organization Views PRs Welcome GitHub pull-requests Language

simple-os-kernel.

This is an OS development experimentation i am carrying out using C(or actually) C++, and assembly to develop my own operating system. Simple targeted at 32-bit system architectures.

It leverages the Bootloader GRUB

Tools you need to develop an OS

  • An Assembler 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).

  • A Cross-Compiler 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) .

  • A Linker The linker take's your objects and link them to getter here i use GNU binutils.

  • A Virtual Machine In order to test your operating system, you must have a vm(virtual machine) but it isn't necessary here i use virtualbox.

TralahTek TralahM TralahM

How to Build and Install

$ git clone https://github.com/TralahM/simple-os-kernel.git
$ cd simple-os-kernel
$ make clean
$ make
$ make iso

An ISO image will be built which you can test with QEMU, Virtualbox, or create a bootable disk.

Contributing

See the Contributing File

See the Pull Request File

Support

LICENCE

Read the license here

Self-Promotion

TralahM TralahM TralahM TralahM Blog TralahTek

About

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.

License:MIT License


Languages

Language:C++ 61.6%Language:Assembly 21.7%Language:Makefile 16.6%