frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Aurion OS – A 32-bit GUI operating system written from scratch in C

https://github.com/Luka12-dev/AurionOS
33•Luka12-dev•2h ago
Hi HN! I'm 13 and I built Aurion OS as a solo learning project over 14 days (~12 hours/day).

It's a 32-bit x86 operating system written entirely in C and x86 Assembly with no external libraries.

What it has: Custom bootloader and kernel VESA framebuffer graphics (1920x1080, double-buffered) Window manager with draggable, overlapping windows macOS-inspired dock with transparency PS/2 keyboard and mouse drivers ATA hard drive driver with filesystem PCI bus enumeration RTL8139 network driver (WIP) Real-time clock Runs on just 16MB RAM (up to 10 windows simultaneously)

Built-in apps: Terminal (with DOS mode), Notepad (save/load), Calculator, Paint (multiple colors and brush sizes), Snake game, Settings (theme switching), and System Info.

Currently works best on QEMU, VirtualBox, and VMware. Real hardware support is still a work in progress.

Next goal: TCP/IP networking stack.

I'd love any feedback, suggestions, or criticism. This is my first OS project and I learned mass amounts while building it. Happy to answer any technical questions!

Comments

Luka12-dev•1h ago
Author here! Happy to answer any questions about the implementation.
cyberax•1h ago
How much was built with the AI? An OS is definitely a fun project and the classic x86 is a pretty good platform for that!
Luka12-dev•1h ago
I wrote the core architecture and most of the code myself. I used Claude occasionally to help debug tricky issues and understand some concepts, but the design decisions and implementation are mine.

I think AI is a great learning tool when you're trying to understand low-level concepts for the first time.

gmueckl•1h ago
How did you decide between assembler and C for various parts of the kernel? Some choices are very different from what I would have picked, so I'm curious about your thought process.
Luka12-dev•1h ago
My general rule was:

Assembly for anything that HAS to be assembly: bootloader, GDT/IDT setup, interrupt handlers, context switching, and port I/O wrappers.

C for everything else: window manager, apps, drivers, GUI rendering.

Some parts I probably could have done in C with inline assembly but I found writing pure ASM for the low-level stuff helped me understand exactly what was happening at the hardware level.

What choices looked different to you? I'd love to hear your perspective always looking to improve!

marssaxman•1h ago
That's an ambitious project!

What was your inspiration for the filesystem?

Luka12-dev•1h ago
Thanks!

The filesystem is currently pretty simple - a basic flat structure on the ATA drive. I was inspired by FAT-style simplicity since I needed something working quickly for the Notepad save/load feature.

Planning to implement something more robust, as the project grows.

What would you recommend for a hobby OS filesystem?

toast0•1h ago
> RTL8139 network driver (WIP)

It's good to have support for real networking hardware, but consider virtio-net as well. A lot of VMs support it and it's more streamlined. 32-bit x86, bios boot means doing a lot of things for compatibility with systems that were old enough to drink before you were born... skipping to simplified virtualized interfaces wherever possible makes a lot of sense; even if your OS can run in 16 MB of ram, you're probably not going to run it on a 486 with 16 MB of RAM and a real parallel IDE drive ... at least not at first. You can always come back and make that work if you want... deferring tricky things until later so you can work on the fun stuff keeps you having fun and engaged with your project.

Also, consider trying to get your OS running on v86. It's fun having your hobby OS work in a browser. The biggest limitations I've run into are 32-bit x86 only, single processor only; but those might not be that big of a deal... looks like your OS is also 32-bit x86 only, and I don't see anything about SMP in your project. If there's anything missing from v86 that you depend on, I've had a wonderful experience with submitting PRs; copy often reworks my patches to be much better before applying them, which I always appreciate rather than a back and forth attempt to get me to make it better :) I've also seen copy (and others) take reported issues and fix them, if you've got a problem that you can't write a patch to resolve.

> Real hardware support is still a work in progress.

I ran into a fair amount of issues with 16-bit code; qemu doesn't check segmentation limits but real hardware does. Real hardware would crash, but it worked fine in qemu. My kernel is multiboot and I use 3rd party bootloaders, but I do SMP, on x86, that involves starting the Application Processors in 16-bit real mode and then moving them into 32-bit modes, but you have to do the segmentation dance correctly until you get there; doesn't help when qemu just lets you do whatever. :P

PS 12 hour days are a lot; hope you're getting all your other stuff done :P

Luka12-dev•1h ago
Great suggestions, thank you!

virtio-net makes a lot of sense for VM testing - I'll look into implementing that alongside the RTL8139 driver.

v86 is a really cool idea, having Aurion OS run in a browser would be amazing for demos. I'll definitely explore that.

And yeah, the 12 hour days were intense but honestly I was having so much fun I barely noticed haha. School still gets done though :)

sourcegrift•1h ago
No offense, and God forbid I sound like a "fanboy" but I'd highly recommend using Rust or Zig instead of c for the rest of your project. I appreciate C and assembly and am pretty "conservative" in my choices of PL but both rust and zig, despite having their own disadvantages, and also a slightly unpleasant community based on where you come from, are actually plain better than C in every respect. The abstractions are 0 cost and often pretty "transparent" so you know exactly what's happening behind the scenes.
Luka12-dev•1h ago
Thanks for the suggestion! I've heard great things about both Rust and Zig for systems programming.

I started with C because most osdev resources and tutorials use C, and I wanted to understand manual memory management at the lowest level first.

Might explore rewriting parts in Rust or Zig in the future, the safety guarantees do sound appealing for kernel code!

apitman•56m ago
I disagree. Rust and Zig bring millions of lines of code of dependencies and complexity in their toolchains. We can hope for a relatively simple Zig compiler someday, but probably not Rust. If you care about portability (now and in the future), C is a much better choice.
joexbayer•1h ago
Very cool! Would suggest https://oshub.org/explore if youre interested in hobby operating systems.
Luka12-dev•1h ago
Thanks! I'll definitely check out oshub.org, looks like a great resource.
jackpeterfletch•58m ago
AI Account.

Everything in that account has appeared in the last 6mo. Very unnatural commit activity, and clearly contradicts the claim that this is their first OS project. Is linked to a faceless YT channel.

Luka12-dev•54m ago
Fair question! I understand the skepticism.

The account is newer because I only recently started putting my projects on GitHub. I've been programming in C and Assembly for a while before that, just locally on my machine.

The commit activity might look unusual because I worked in very intense 12h/day sprints over 14 days.

As for AI, I'm happy to do a live walkthrough of any part of the codebase, explain the design decisions, or answer any specific technical questions about the implementation.

I appreciate the scrutiny though it keeps the community honest!

d--b•58m ago
https://github.com/Luka12-dev

sigh

qingcharles•22m ago
What's the point of your comment?
Xeamek•10m ago
probably to highlight how this isn't genuine account?

Show HN: OneCLI – Vault for AI Agents in Rust

https://github.com/onecli/onecli
83•guyb3•4h ago•33 comments

Show HN: Understudy – Teach a desktop agent by demonstrating a task once

https://github.com/understudy-ai/understudy
50•bayes-song•3h ago•12 comments

Show HN: Axe – A 12MB binary that replaces your AI framework

https://github.com/jrswab/axe
101•jrswab•6h ago•70 comments

Show HN: Rudel – Claude Code Session Analytics

https://github.com/obsessiondb/rudel
116•keks0r•7h ago•72 comments

Show HN: Web-based ANSI art viewer

https://sure.is/ansi/
19•lubujackson•2d ago•6 comments

Show HN: s@: decentralized social networking over static sites

http://satproto.org/
393•remywang•20h ago•198 comments

Show HN: PipeStep – Step-through debugger for GitHub Actions workflows

https://github.com/Photobombastic/pipestep
6•photobombastic•3h ago•2 comments

Show HN: Raccoon AI – Collaborative AI Agent for Anything

https://raccoonai.tech
3•scorchy38•2h ago•1 comments

Show HN: Baltic security monitor from public data sources

https://estwarden.eu/
3•makefunstuff•3h ago•0 comments

Show HN: An application stack Claude coded directly in LLVM IR

https://github.com/dot-matrix-labs/alien-stack
2•dboreham•3h ago•0 comments

Show HN: Hyper – Voice Notes for Whiteboarding Sessions

https://apps.apple.com/us/app/hyper-ai-for-real-talk/id6760206718
3•kthaker1224•3h ago•0 comments

Show HN: Cloud to Desktop in the Fastest Way

https://nativedesktop.com/
2•lasgawe•3h ago•0 comments

Show HN: Verge Browser a self-hosted isolated browser sandbox for AI agents

https://github.com/zzzgydi/verge-browser
3•zzzgydi•3h ago•0 comments

Show HN: Open-source browser for AI agents

https://github.com/theredsix/agent-browser-protocol
137•theredsix•1d ago•49 comments

Show HN: Autoresearch@home

https://www.ensue-network.ai/autoresearch
74•austinbaggio•21h ago•19 comments

Show HN: Autoschematic is a new infra-as-code tool built on reversible computing

https://github.com/autoschematic-sh/autoschematic
2•pfnsec•4h ago•0 comments

Show HN: I built a tool that watches webpages and exposes changes as RSS

https://sitespy.app
305•vkuprin•1d ago•79 comments

Show HN: A2Apex – Test, certify, and discover trusted A2A agents

https://a2apex.io
3•Hauk307•4h ago•2 comments

Show HN: NatShell Local-first natural language shell (no cloud, no API keys)

https://github.com/Barent/natshell
2•barent•4h ago•3 comments

Show HN: Vanilla JavaScript refinery simulator built to explain job to my kids

https://fuelingcuriosity.com/game.html
115•fuelingcurious•1d ago•46 comments

Show HN: Calyx – Ghostty-Based macOS Terminal with Liquid Glass UI

https://github.com/yuuichieguchi/Calyx
24•yuu1ch13•7h ago•30 comments

Show HN: A context-aware permission guard for Claude Code

https://github.com/manuelschipper/nah/
120•schipperai•21h ago•83 comments

Show HN: XLA-based array computing framework for R

https://github.com/r-xla/anvil
12•sebffischer•3d ago•1 comments

Show HN: Riventa.Dev – AI-native DevOps that acts, not just alerts

https://www.riventa.dev/
3•christopherAs•5h ago•0 comments

Show HN: VaultLeap – USD accounts for founders outside the US

https://vaultleap.com
3•GregReve•5h ago•2 comments

Show HN: We open sourced Vapi – UI included

https://github.com/dograh-hq/dograh
8•pritesh1908•5h ago•5 comments

Show HN: A desktop app for managing Claude Code sessions

https://github.com/doctly/switchboard
2•kapitalx•5h ago•1 comments

Show HN: I built an ISP infrastructure emulator from scratch with a custom vBNG

https://aether.saphal.me/dashboard/default
63•saphalpdyl•1d ago•19 comments

Show HN: Satellite imagery object detection using text prompts

https://www.useful-ai-tools.com/tools/satellite-analysis-demo/
51•eyasu6464•3d ago•20 comments

Show HN: Klaus – OpenClaw on a VM, batteries included

https://klausai.com/
154•robthompson2018•1d ago•90 comments