Back to Products
AcharyaOS — custom x86_64 operating system logo built from scratch in C and Assembly

AcharyaOS

In Development

A custom operating system built completely from scratch — an incremental hobby OS with a working boot path, a kernel that reaches an interactive shell, and a growing GUI and network stack.

Target: x86_64
Language: C + Assembly
Build: Make + Cross-Compiler
Boot: GRUB Multiboot2 / QEMU
Style: Modular & Educational

Feature Inventory

Kernel Core

  • Bootloader & 64-bit handoff
  • GDT, IDT, PIC remapping
  • Memory allocator & virtual memory
  • Timer interrupts (PIT 100Hz)
  • Round-robin scheduler
  • System calls
  • Logging framework

I/O & Drivers

  • VGA text output
  • Keyboard driver
  • Mouse driver
  • ATA disk support
  • Simple filesystem

Interactive Shell

  • Command history & dispatch
  • help settings files
  • ethinfo arp route
  • ping <ip> udpinfo
  • User login system (guest/guest)

GUI Stack

  • Framebuffer graphics
  • Window manager
  • Buttons, menus, icons
  • Desktop environment
  • Settings framework
  • File explorer scaffold

Networking Stack

  • Ethernet foundation
  • ARP protocol
  • IPv4 support
  • ICMP ping
  • UDP

System Services

  • Configuration subsystem
  • Package management
  • Service manager
  • User account system
  • User-space demo

Boot Sequence

The complete kernel initialization log from kernel/kmain.c:

acharyaos — boot log
AcharyaOS kernel starting
------------------------------------------------
[init] Loading kernel GDT... done.
[init] Text Output driver (drivers/vga) active.
[ ok ] Color output verified (this line printed in default grey).
[init] Remapping legacy PIC... done.
[init] Loading IDT... done.
[init] Starting keyboard driver... done.
[init] Starting framebuffer graphics core... done.
[init] Starting window manager... done.
[init] Starting mouse driver... done.
[init] Starting button control layer... done.
[init] Starting menu control layer... done.
[init] Starting desktop environment... done.
[init] Starting settings application... done.
[init] Starting graphical file explorer... done.
[init] Starting Ethernet support... done.
[init] Starting ARP support... done.
[init] Starting IPv4 support... done.
[init] Starting ICMP support... done.
[init] Starting UDP support... done.
[init] Starting PIT timer at 100 Hz... done.
[init] Installing kernel-owned page tables... done.
[init] Starting early kernel heap... done.
[init] Starting round-robin scheduler core... done.
[init] Creating initial kernel processes... done.
[init] Installing syscall interface... done.
[init] Probing ATA disk... done.
[init] Mounting filesystem... done.
[init] Loading configuration... done.
[init] Initializing startup services... done.
[init] Initializing user accounts... done.
[init] Preparing user-space demo... done.
[login] username: guest
[login] password: guest
[login] welcome, guest
[login] handing off to shell
------------------------------------------------
AcharyaOS kernel initialization complete.

Technology Stack

🔧

C

Kernel & Drivers

⚡

x86_64 Assembly

Boot & CPU Setup

🔨

GNU Make

Build System

🖥️

QEMU

Emulation

🥾

GRUB

Multiboot2 Bootloader

🔗

Cross-Compiler

x86_64-elf-gcc

💾

ATA PIO

Disk I/O

🌐

TCP/IP Stack

Custom Implementation

Community Appreciations

Show your support for AcharyaOS

Related Products