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
-
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.
$ 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.