Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/emomaxd/kernel

A learning-oriented project focused on developing a basic OS with a simple bootloader and kernel. The goal is to understand low-level programming and OS development concepts.
https://github.com/emomaxd/kernel

assembly bootloader c-language c-plus-plus driver kernel kernel-driver linux linux-kernel low-level operating-system system-programming x86 x86-64

Last synced: about 1 month ago
JSON representation

A learning-oriented project focused on developing a basic OS with a simple bootloader and kernel. The goal is to understand low-level programming and OS development concepts.

Awesome Lists containing this project

README

        

# Kernel

## Overview

This project involves developing a custom operating system (OS) that includes a bootloader and a kernel. The OS is written in Assembly and C and is intended to run on both real hardware and virtual machines. The project features a basic bootloader using Limine.

## Building & Running

To run the OS in a virtual environment, simply execute:

```bash
make all & make run
```

## Burning into Flash

1. Identify the address of your flash drive (e.g., `/dev/sdX`).
2. Run the following command, this will create image.hdd file

```bash
./flash.sh
```
3. Use the `prepare_flash.sh` script with two command-line parameters:

```bash
sudo ./prepare_flash.sh image.hdd /dev/sdX
```

4. Once the OS is burned onto the flash drive, you can boot it on real hardware.

---

![OS Output](git/OS_output_qemu.png)