8000 GitHub - ggkkaa/MangOS
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ggkkaa/MangOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues project_license


Logo

MangOS

MangOS is a small, open source operating system. It is worked on as a hobby by myself, but if you want to contribute, please do!

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

This is a simple OS made by myself to train my C skills.

(back to top)

Getting Started

Requirements

  • Docker

  • apt

  • qemu

Installation

  • Linux/MacOS:

Linux has a build script made specifically for it, to build, just make sure your docker daemon is running, and run

chmod +x ./build,sh
./build.sh

This will also automatically run qemu.

  • Windows(CMD):
docker run --rm -it -v "%cd%":/root/env mangos-buildenv

make iso
  • Windows(Powershell):
docker run --rm -it -v "${pwd}:/root/env" mangos-buildenv

To build it, run this in your build environment

make

To make an ISO file from this, run

make iso

The ISO file will be found in ./image.iso.

Running on real hardware

I'm not sure why you would want to do this, but take the ISO, and use a tool like rufus to flash it onto a USB. Then, enter your BIOS and set the USB as your boot drive.

Running on a Virtual Machine

For QEMU, the only supported virtual machine for now, run

qemu-system-x86_64 -cdrom dist/x86_64/MangOS.iso -serial stdio -m 1024

(back to top)

Roadmap

TASKS TO DO

  • - Very basic printf that outputs to serial
  • - Implement a GDT
  • - Implement an IDT
  • - Exception handling (i.e. just make an exception handler that prints when errors occur)
  • - Basic Log
  • - Make a Physical Allocator
  • - Make a page allocator (Bitmap, Page list, whichever one you feel like)
  • - Implement paging using the allocator
  • - Load the new page table
  • - TSS

(back to top)

License

This project is distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
0