Skip to content

PRoX2011/ARM-PRos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARM-PRos Operating System

License Version

GitHub stars Last commit Contributions Welcome

A minimalistic 64-bit operating system written in C and Assembly for ARMv8-A architecture

Overview

ARM-PRos is my experimental operating system project for the ARMv8-A architecture. It's practically bare bones right now, but if I find the strength to develop this project further, I'll try to turn it into something more.

Roadmap

  • UART Driver: Basic text output (puts, puthex, putc)
  • UART Input
  • String Library (strcmp, strlen, atoi)
  • Kernel Shell
  • Framebuffer
  • Interrupt Controller (GIC)
  • Keyboard Driver
  • Timer Driver
  • Physical Memory Manager
  • PCI Scanning
  • FAT32 file system
  • *.ELF programs
  • Multitasking

Building from Source

Install aarch64-linux-gnu-gcc (or clang if you wanna use dcr) compiler using your package manager, then run build script:

chmod +x build-linux.sh
./build-linux.sh

Or use dcr

dcr build

Runing ARM-PRos

Install qemu-system-aarch64 emulator then run this command:

./run-linux.sh

Or manually:

qemu-system-aarch64 \
    -M raspi3b \
    -drive file="$SD_IMG",format=raw,if=sd,index=0 \
    -kernel "$KERNEL_IMG" \
    -serial stdio \
    -display gtk

Or use dcr

dcr run

Made with ❤️ by PRoX

About

Minimalistic 64-bit operating system written in C and Assembly for ARMv8-A architecture from scratch

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages