Skip to content

turbanOS is a minimal 32-bit x86 educational OS featuring keyboard input, VGA text output, and an interactive terminal to demonstrate core OS concepts like booting.

License

Notifications You must be signed in to change notification settings

mark-net/turban-os

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

turbanOS

A minimal 32-bit x86 operating system with keyboard input, VGA text output, and a simple interactive terminal.

turbanOS fetch command

fetch command

turbanOS date and time

show date and time

turbanOS help command

list of commands

Features

  • Bootloader compliant: Uses Multiboot standard for compatibility with GRUB and other bootloaders
  • Hardware interaction: PS/2 keyboard driver with interrupt handling
  • Text output: VGA 80x25 text mode with scrolling and cursor support
  • Terminal interface: Interactive command-line with basic commands
  • Memory management: Stack allocation and interrupt descriptor table setup
  • PIC remapping: Properly configures the Programmable Interrupt Controller

Commands

  • help - Display available commands
  • clear - Clear the terminal screen
  • fetch - Simple echo test
  • time - Show current time
  • date - Show current date
  • reboot - Display system information

Project Structure

  • boot.asm - Assembly boot code and interrupt setup
  • kernel.c - Main kernel with terminal, keyboard, and VGA drivers
  • link.ld - Linker script for kernel memory layout

Building

Requires NASM, GCC, QEMU VM and a cross-compiler toolchain for i386. The kernel is loaded at 1MB and follows standard Multiboot conventions. I recommend that you use microsoft WSL for compilation. For WSL:

nasm -f elf32 boot.asm -o boot.o && gcc -m32 -ffreestanding -nostdlib -fno-stack-protector -c kernel.c -o kernel.o && ld -m elf_i386 -T link.ld -o kernel.bin boot.o kernel.o && qemu-system-i386 -kernel kernel.bin

Purpose

Educational project demonstrating basic operating system concepts: boot process, hardware interaction, keyboard driver, and user interface implementation.

About

turbanOS is a minimal 32-bit x86 educational OS featuring keyboard input, VGA text output, and an interactive terminal to demonstrate core OS concepts like booting.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published