Skip to content

SachaTending/x64OS

Repository files navigation

x64OS

its uefi compatible

Another attempt to write os using c++, now using limine boot protocol, sorry to risc-v and arm users, this os targets only amd64 based cpus, idk if im gotta support these cpus in future

Latest bootable iso link: from github actions

TODO List:

  • GDT
  • IDT
  • PMM
  • VMM
  • Interrupts, timers
  • Serial port(only COM1)
  • Scheduler
  • VFS
    • tmpfs
    • ext2/3/4
    • fat32
    • tarfs(basicly initrd)
    • Getting list of files and other stuff
  • Program loading
  • PCI
  • Drivers support
  • Networking
    • Ethernet
    • UDP
    • TCP
    • ICMP
    • more protocols support
  • USB

Building and running

You need xorriso(for creating iso image), gcc(or clang, with amd64 instruction set support), nasm and make(reason why Makefile exists)

To build, use:

make # single core building
make -j$(nproc) # or multi threaded building

As a result, you get:

  • bin/kernel.elf: Kernel
  • image.iso: Bootable iso image, BIOS/UEFI(x32 and x64) compatible

Used source code/tools

Limine as bootloader

PMM Code taken from Lure OS

IDT/GDT Code taken from Boron OS

Frigg from managram project

Freestanding headers by mintsuki https://github.com/osdev0/freestanding-headers

About

its uefi compatible!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published