OS-Development

Rose-OS - Makefile teardown

In this post, I will be describing programs and resources used to build Rose-OS and how we combine then into a single, automated Makefile. Programs used to generate the kernel gcc nasm bochs (Emulator) ld cat rm gcc Is the compiler we use to compile our code. Normally, this command preprocesses, compiles, assembles and links our code, but we can stop it from doing this with some command-line options.
Read more

Loading a simple kernel written in C

In this post, we are describing how to write a simple C program and loading it from a 32-bit boot sector code. In this post, our kernel is as simple as it can get. It consists of a stored variable in a specific location in the code. Boot sector The code we are going to use in this section has nothing new. We are changing from 16-bit to 32-bit to be able to access more memory range.
Read more

Entering 32-bit protected mode

In this post, we will cover how to enter 32-bit protected mode. This is a requirement if we want to be able to create a OS with the features we are used to. Otherwise, we will have very little storage space allowed due to the 16-bit reference limit. Boot sector To enter 32-bit protected mode, we first have to bootstrap our code from a 16-bit sector. This is necesary because the initial code location is stored in a space-restricted zone.
Read more