Skip to content

prosdev-org/PRosBSD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

133 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PRosBSD / 3-Clause BSD License / GitHub Actions Workflow Status / Version

PRosBSD is an experimental OS written in C and C++, inspired by x16-PRos, aiming for compatibility with the FreeBSD ABI and memory safety.

Important

TODO:

  • add screenshots, GIFs

Rewrite notice

Important

This project is not dead. Check out the rewrite/0.2.0 branch.

We decided to rewrite PRosBSD from scratch, as the current version (0.1.0-dev) in the dev branch is memory-unsafe crap full of UB's. There is no point in continuing to support it further. The rewrite/0.2.0 branch will be merged into the dev branch as soon as these features are implemented:

  • VGA Text
  • printf
  • panic
  • Debugging macros (e.g., DEBUG_*)
  • Debug over GDB
  • GDT
  • IDT
  • Normal heap
  • Memory map
  • Paging
  • CMOS
  • PS/2 Keyboard
  • PIC Timer
  • Grub
  • KShell
  • PATA PIO driver
  • Some filesystem

Building

Important

This method uses docker to provide you all the dependencies. You need to install it before using this method.

Warning

Do not run this script as root. It is not supported.

./build.sh -R

Running

To run PRosBSD, use an x86 hypervisors/emulators such as QEMU/VMware/Virtualbox.

Here is an example of a command to run in QEMU

./build.sh -B

Contributing

Warning

This section is not complete yet.

Important

TODO:

  • code of conduct

License

This project is licensed under the 3-Clause BSD License.

Huge thanks

PRosBSD exists thanks to x16-PRos; we are extremely thankful to User for creating x16-PRos.

About

PRosBSD is an experimental OS written in C and C++, inspired by x16-PRos, aiming for compatibility with the FreeBSD ABI and memory safety.

Topics

Resources

License

Stars

Watchers

Forks

Contributors