Skip to content

ethan4984/rock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rock

rockOS is a simple kernel that strives to be unix-like, we use mlibc and have various pieces of unix software ported such as bash and the gnu coreutils

alt text

Features

  • PMM/VMM (4/5 level paging)
  • XAPIC/X2APIC
  • IDT/GDT/TSS
  • EXT2
  • VFS
  • RAMFS
  • DEVFS
  • SMP
  • PCI
  • AHCI
  • NVME
  • XHCI (Work in progress)
  • intel HD audio
  • HPET
  • Preemptive multicore scheduler
  • Slab allocator

Goals

  • Port various pieces of software like gcc, python, xwayland, etc
  • Create a network stack with TCP, ARP, UDP, DHCP, ICMP, etc

Build Instructions

Here are some programs you will need to build rock:

  • nasm
  • make
  • qemu
  • tar
  • sed
  • wget
  • git
  • xbstrap

Once you have those run the script build_tools.sh in /tools

To compile and run rock, there are three default build targets available:

  • make qemu
    • run with regular qemu (live serial debugger)
  • make info
    • run with the qemu console
  • make debug
    • run with the qemu interrupt monitor

Contributing

Contributors are very welcome, just make sure to use the same code style as me :^)

About

This is a 64 bit OS made for fun and learning

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages