Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/emomaxd/kernel
- Owner: emomaxd
- Created: 2024-08-22T11:27:42.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-08-29T18:59:59.000Z (3 months ago)
- Last Synced: 2024-09-29T14:42:31.699Z (about 2 months ago)
- Topics: assembly, bootloader, c-language, c-plus-plus, driver, kernel, kernel-driver, linux, linux-kernel, low-level, operating-system, system-programming, x86, x86-64
- Language: C
- Homepage:
- Size: 64.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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)