Skip to content
/ sdx Public

a simple x86_64 UNIX like hobby OS

License

Notifications You must be signed in to change notification settings

ngn13/sdx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sdx | simple/shitty and dirty UNIX for x86_64

as of oct 30 ive been working on this UNIX like OS for over 2 months now, and i decided to publish the git repo even tho the project itself is not even close to a stable release yet

tons of shit missing and still bunch of shit i need to do so im actively working on this project

roadmap

this is not an actual roadmap idk wtf im doing i just add shit here when i complete it

  • multiboot
  • paging
  • long mode entry
  • video/framebuffer functions
  • printk/printf
  • simple heap implementation
  • IDT
  • PIC
  • PCI
  • AHCI
  • IDE
  • FAT32
  • scheduler
  • ...

building

start by obtaining the source code, you can just clone the repository:

git clone https://github.com/ngn13/sdx

for building from source, you will need cross-compilation tools for x86_64, this tools may be available in your distribution's package repository, or you can build them from the scratch using the automated script:

make tools

this script will build the necessary tools and install them to /opt/cross/bin

after installing these tools, you should generate a create a configuration file, you can just copy the default:

make config

then you can use make to build all the binaries:

make

and you can create a raw disk image using the scripts again:

make image

running

for safety, it's suggested you only run this in a virtual system, you can use QEMU, which is most likely available in your distribution's package repository:

make qemu

debugging

if you use the QEMU setup detailed in the previous section, then you can debug the system using a remote GDB setup:

make debug

you can also use the QEMU monitor

contributing

if you want to help me check off some of the shit on the roadmap or if you just want to make fun of my dogshit code or if you want to discuss about the best cars moive feel free to create an issue/PR

resources

here is an awesome list of resources/documentation that i use (ill keep extending this as i find more resources), this list doesn't contain any spec documents, however specs are referenced in the source code

also there's a great community with bunch of helpfull people in #osdev chanel on libera