Skip to content

A 32 bit x86 based homebrew OS written completely from scratch in assembly and C

Notifications You must be signed in to change notification settings

maheswarantp/TerminalOS_2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TerminalOS (V3 probably?)

  • This is the third version of Terminal OS, original linked here
  • So again, a new version of Terminal OS, hopefully the last one where i can finally make this run on hardware
  • EDIT: It can successfully run on real hardware, yay!!!

Installation

Packages needed

  • gcc compiler and binutils (i686-elf-gcc and i686-elf-ld)
  • nasm
  • qemu
  • grub2
  • some linux distro

Steps

  • Run build-env/build.sh to setup appropriate build environment
        bash build-env/build.sh
    
  • Make the following folders build, mnt and debug
        mkdir build mnt debug
    
  • Run makedisk from MakeFile
        make makedisk
    
  • Run make
        make run
    

Known issues:

  • Build process has to be run twice for kernel changes to take effect, no idea why
  • FAT Filesystem code can access only the first block of data from disk for now, fix to be issued later.

Features:

  • 32 bit protected mode operation

  • FAT-12 readonly filesystem

  • GRUB as bootloader

  • TTY Text mode based interface

  • POSIX compiliance (maybe?)

  • Kernel, User seperation (maybe?)

  • Paging

  • Higher half kernel

filesystem image irq0 timer !IMG_20220406_091104

About

A 32 bit x86 based homebrew OS written completely from scratch in assembly and C

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published