Skip to content

ggkkaa/MangOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is an open source operating system. It uses docker as it's build environment. I will redo this later but for now it's just build instructions.

Requirements to run: Docker and QEMU

First run docker build buildenv -t mangos-buildenv to get your docker build environment set up. Then open your docker like this:

Linux/MacOS: docker run --rm -it -v $(pwd):/root/env mangos-buildenv Windows(CMD): docker run --rm -it -v "%cd%":/root/env mangos-buildenv Windows(Powershell): docker run --rm -it -v "${pwd}:/root/env" mangos-buildenv

To actually build it, in your docker instance run

make build-x86_64

For x86_64(other architectures may come in the future)

Then type exit to leave the build environment and run

qemu-system-x86_64 -cdrom dist/x86_64/kernel.iso

from the project root folder.

TASKS TO DO ('✔' means done, '.' means in progress) [✔] - Very basic printf that outputs to serial - if the current char is '%' skip it and check the one after it - if its 'd' take an integer - if its 's' take a string - if its 'p' take a pointer [✔] - Make the kernel load its own GDT [✔] - Implement an IDT [✔] - Exception handling (i.e. just make an exception handler that prints when errors occur) [✔] - Basic Log, uses ANSI escape codes for coloring errors differently from info. [✔] - Find the "MMAP" tag in the addr and print out the areas of memory it tells you [ ] - Make a page allocator (Bitmap, Page list, whichever one you feel like) [ ] - Implement paging using the allocator [ ] - Load the new page table [ ] - REACH GUI MODE

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published