All Projects → MacaronOS → Macaron

MacaronOS / Macaron

Licence: MIT license
A sweet hobby made operating system written in C++ for x86 CPUs with GUI

Programming Languages

C++
36643 projects - #6 most used programming language
shell
77523 projects
python
139335 projects - #7 most used programming language
assembly
5116 projects

Projects that are alternatives of or similar to Macaron

kora-kernel
Kernel for my operating system KoraOS
Stars: ✭ 15 (-55.88%)
Mutual labels:  os, osdev, operating-system, x86, hobby-os, hobby-kernel
KnutOS
An x86_64 hobbyist OS written in C and Assembly
Stars: ✭ 16 (-52.94%)
Mutual labels:  kernel, os, osdev, operating-system, hobby-os, hobby-kernel
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (+55.88%)
Mutual labels:  kernel, os, osdev, operating-system, x86
Reactos
A free Windows-compatible Operating System
Stars: ✭ 10,216 (+29947.06%)
Mutual labels:  kernel, os, osdev, operating-system, x86
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (+94.12%)
Mutual labels:  kernel, os, osdev, operating-system, x86
georgios
Hobby Operating System
Stars: ✭ 19 (-44.12%)
Mutual labels:  kernel, osdev, operating-system, x86, hobby-os
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 (+13685.29%)
Mutual labels:  kernel, os, osdev, operating-system, x86
duckOS
Yet another hobby x86 UNIX-like operating system written in C and C++. Features a dynamically linked userspace, an in-house c standard library, and more! And yes, it runs DOOM.
Stars: ✭ 250 (+635.29%)
Mutual labels:  kernel, os, osdev, operating-system, hobby-os
GENADEV OS
An AArch64 hobbyist OS for the Raspberry Pi 3 B+
Stars: ✭ 14 (-58.82%)
Mutual labels:  kernel, os, operating-system, hobby-os, hobby-kernel
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 (-32.35%)
Mutual labels:  kernel, os, osdev, operating-system, x86
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 (+426.47%)
Mutual labels:  osdev, operating-system, x86, hobby-os
Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (+961.76%)
Mutual labels:  kernel, os, osdev, operating-system
AhnTri
Super-simple OS
Stars: ✭ 54 (+58.82%)
Mutual labels:  os, osdev, hobby-project, hobby-os
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 (-32.35%)
Mutual labels:  os, osdev, operating-system, x86
LudOS
A toy monolithic kernel written in C++
Stars: ✭ 38 (+11.76%)
Mutual labels:  kernel, os, osdev, operating-system
Aquila
AquilaOS: UNIX-like Operating System
Stars: ✭ 413 (+1114.71%)
Mutual labels:  kernel, os, osdev, operating-system
opuntiaOS
opuntiaOS - an operating system targeting x86, ARMv7, Aarch64
Stars: ✭ 566 (+1564.71%)
Mutual labels:  os, operating-system, hobby-os, hobby-kernel
chaos-2
A hand-made SMP-aware kernel
Stars: ✭ 20 (-41.18%)
Mutual labels:  kernel, os, osdev, operating-system
Emerald
An operating system written in C
Stars: ✭ 118 (+247.06%)
Mutual labels:  kernel, os, osdev, operating-system
Cardinal
Operating system designed to be fast and secure.
Stars: ✭ 20 (-41.18%)
Mutual labels:  kernel, os, osdev, operating-system

Macaron OS

Progress

Macaron OS

Features

Kernel

  • Higher Half Kernel
  • Keyboard, mouse, ATA, PCI and BGA drivers
  • VFS with Dev and Ext2 FileSystem support
  • Paging, physical and virtual memory managers
  • Userspace processes and threads

Userspace

  • Libc - At this moment contains Posix syscalls and malloc
  • Libsystem - Custom MacaronOS syscalls, logging and EventLoop
  • Libipc - Low level one to many connections sending bytes to each other
  • Tools/protocol_generator.py - Genrates a complex serializable messages what works on top of Libipc
  • System/WindowServer - Compositing window server for applications
  • Libgraphics - Android-like library for graphcis primitives
  • Libui - Android-like GUI library
  • Macaronlib - A library that's shared beetween userspace and kernel. Declares the system's ABI and contains STL-like templates

Build instructions

Get fuse-ext2 tools

MacOS

The building process is described here. Just follow the top answer.

Linux

apt install fuseext2

Get Ext2 formatter

MacOS

brew install e2fsprogs

Linux

apt install e2fsprogs

Get qemu

MacOS

brew install qemu

But the best option for mac is to build it yourself. More info here.

Linux

apt install qemu-system-i386 qemu-utils

Get a crosscompiler:

MacOS

brew install i686-elf-gcc

Linux

./Scripts/i686-elf-tools.sh

Get NASM

MacOS

brew install nasm

Linux

apt install nasm

Get Macabuilder

Macabuilder is a build system developed to simplify Macaron OS building process. You can find build instructions here.

Run Macaron OS

After everything's set up, just launch Macabuilder executable from the root project directory. It will find MacaronOS.maca file, build and run MacaronOS.

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