All Projects → shawnanastasio → ShawnOS

shawnanastasio / ShawnOS

Licence: GPL-3.0 license
A Basic x86 Operating System/Kernel

Programming Languages

c
50402 projects - #5 most used programming language
assembly
5116 projects
objective c
16641 projects - #2 most used programming language
Makefile
30231 projects
C++
36643 projects - #6 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to ShawnOS

MeetixOS
An hobby OS written in modern C++20 which aims to be Unix-like. Currently based on EvangelionNG, a GhostOS derived kernel
Stars: ✭ 179 (+358.97%)
Mutual labels:  osdev, operating-system, x86, hobby
kora-kernel
Kernel for my operating system KoraOS
Stars: ✭ 15 (-61.54%)
Mutual labels:  osdev, operating-system, x86
Mos
A hobby operating system developed from scratch
Stars: ✭ 169 (+333.33%)
Mutual labels:  osdev, operating-system, x86
Macaron
A sweet hobby made operating system written in C++ for x86 CPUs with GUI
Stars: ✭ 34 (-12.82%)
Mutual labels:  osdev, operating-system, x86
georgios
Hobby Operating System
Stars: ✭ 19 (-51.28%)
Mutual labels:  osdev, operating-system, x86
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (+69.23%)
Mutual labels:  osdev, operating-system, x86
Aqeous
(Inactive, Checkout AvanaOS, Rewrite of this) This is a New Operating System (Kernel right now). Made completely from scratch, We aim to make a complete OS for Learning purpose
Stars: ✭ 23 (-41.03%)
Mutual labels:  osdev, operating-system, x86
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+11917.95%)
Mutual labels:  osdev, operating-system, x86
RocketOS
RocketOS is a Unix based OS that uses legacy BIOS and GRUB and is written in C17. It is being developed for educational purposes primarily, but it still is a serious project. It is currently in its infancy.
Stars: ✭ 23 (-41.03%)
Mutual labels:  osdev, operating-system, x86
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (+35.9%)
Mutual labels:  osdev, operating-system, x86
Reactos
A free Windows-compatible Operating System
Stars: ✭ 10,216 (+26094.87%)
Mutual labels:  osdev, operating-system, x86
Emerald
An operating system written in C
Stars: ✭ 118 (+202.56%)
Mutual labels:  osdev, operating-system
greenteaos.github.io
🏠 Homepage of the @GreenteaOS
Stars: ✭ 16 (-58.97%)
Mutual labels:  osdev, operating-system
Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (+371.79%)
Mutual labels:  osdev, operating-system
Melvix
💻 A small operating system written from scratch
Stars: ✭ 69 (+76.92%)
Mutual labels:  osdev, operating-system
Raspberry Pi Os
Learning operating system development using Linux kernel and Raspberry Pi
Stars: ✭ 11,000 (+28105.13%)
Mutual labels:  osdev, operating-system
Libhermit
HermitCore: A C-based, lightweight unikernel
Stars: ✭ 190 (+387.18%)
Mutual labels:  osdev, operating-system
Nebulet
A proof-of-concept microkernel that implements a WebAssembly "usermode" that runs in Ring 0.
Stars: ✭ 2,237 (+5635.9%)
Mutual labels:  osdev, operating-system
Aura Operating System
AuraOS, the Franco-English Operating System developed in C# using Cosmos!
Stars: ✭ 111 (+184.62%)
Mutual labels:  osdev, operating-system
Unikraft
Unikraft is an automated system for building specialized POSIX-compliant OSes known as unikernels. (Core repository)
Stars: ✭ 183 (+369.23%)
Mutual labels:  osdev, operating-system

ShawnOS

ShawnOS is an Operating System/Kernel meant to help learn the fundamentals of Operating System development, primarily on Intel x86-based architectures.

The project is very much a work-in-progress at this point and many design decisions regarding the OS are yet to be made. Eventually, the project aims to reach a basic level of usability, with a functional console environment and C compiler.

All code is licensed under the GNU GPL v3 unless explicitly stated elsewhere.

Building

In order to build and run ShawnOS, a gcc cross-compiling toolchain must be present for the desired target (currently i686-elf is only supported).

The OSDev Wiki has a tutorial on how to create the required toolchain for Linux, OS X, and Windows here.

In addition to the tools mentioned in the OSDev wiki, you will also need a few more packages.

  • nasm
  • xorriso
  • mtools
  • grub-pc (Debian/Ubuntu only)

These are available in most Linux distributions' package managers.

# Debian/Ubuntu
$ sudo apt-get install nasm xorriso mtools grub-pc-bin

# Fedora
$ sudo dnf install nasm xorriso mtools 

# Arch Linux
$ sudo pacman -S nasm xorriso mtools

Once you have set up the necessary toolchain, you must update the PREFIX and PATH variables in env.sh to reflect its location.

Example:

export PREFIX='$HOME/opt/cross'
export TARGET=i686-elf
export PATH='$PREFIX/bin:$PATH'

Once you have completed this, simply run the following to load the variables:

$ source env.sh

Now you may build an ISO image of the OS:

$ make iso

If you have qemu installed for the proper architecture, you can also run ShawnOS in a virtual machine:

$ make qemu

Goals

The project eventually aims to provide a basic usable user space with console utilities and a C compiler.

Resources

Much of the code from ShawnOS is adapted from or inspired by the following resources:

The OSDev Wiki

Bran's Kernel Development Tutorial

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].