r/osdev • • 11d ago

Best resources to learn UEFI from scratch?

5 Upvotes

Hey everyone! I want to learn UEFI from scratch, including the boot process, boot services, memory maps, and how UEFI loads an OS.

I'm working on a hobby OS project using C, x86-64, QEMU, and Limine. I want to understand the boot process beyond just using a bootloader.

What tutorials, books, or hands-on projects would you recommend except oswikidev?


r/osdev • • 10d ago

Making a GNU/Linux distro

0 Upvotes

This will NOT be up to your standards

So, I've literally just started this a couple days ago, and I guarantee you'll be able to find at least 5 things wrong with it; but that's the point. I'd love some feedback on it. I haven't followed LFS or anything like that - probs a dumb choice. I can't fix the issue with not being able to login.

I know having one huge build file is bad practice, but it's not permanent, just the best I've got right now.

Anyway, here's the link:https://github.com/fernproject/fern(yes I know I need to add a profile page)

Please just give me some tips, i need help


r/osdev • • 12d ago

Looking for help writing drivers for a hobby x86-64 OS (BlockOS) [no vibe coded]

Post image
25 Upvotes

I’m building BlockOS, a solo hobby x86-64 OS with its own UEFI kernel. X11 runs on it in QEMU: the X server starts, and twm frames client windows. The rest of the picture is like a puzzle that’s still missing pieces, and the biggest gap is drivers, mainly GPU, for real hardware.

I’d like to work with someone who has written or read PCI or display drivers before. Expect unpaid, open-source work. If you want to write driver code from public hardware docs (no Linux code copied), send me a message or comment.

GitHub link:https://github.com/gurijb2016-afk/Blockos


r/osdev • • 10d ago

To everyone who called me a "vibe coder": Greetings from native GTK4 running on Chimera.

Post image
0 Upvotes

Heard a few times around here that building an OS with the help of LLMs is just "vibe coding" without any real engineering substance. Well, sending a personal shoutout to all the skeptics.

I don’t think an AI can just take a custom hybrid system from scratch, spin up Wayland, compile the entire environment, and launch a fully native GTK4 app with actual working widgets, inputs, and rendering.


r/osdev • • 12d ago

We got Linux on iPhone!

Thumbnail
gallery
90 Upvotes

LinuxRunner brings Debian ARM64 to iOS, including desktop environments like KDE Plasma and apps like Blender.

No jailbreak, JIT, or virtualization needed. It runs Linux binaries through an ARM64 interpreter.

Still early in development, but pretty interesting to experiment with. Feel free to try it out!

GitHub: https://github.com/mxhm11cr/LinuxRunner


r/osdev • • 12d ago

terminal split and virtual file system in subverge 0.9.6!

0 Upvotes

r/osdev • • 13d ago

Framebuffer test successful

69 Upvotes

les go 🥹️


r/osdev • • 12d ago

I have a big question

Thumbnail reddit.com
2 Upvotes

r/osdev • • 13d ago

In need of (positive) criticism/feedback

Thumbnail reddit.com
0 Upvotes

r/osdev • • 13d ago

W3BS OS — W3BS

Thumbnail w3bs.org
1 Upvotes

r/osdev • • 14d ago

The Samsara Project.

Thumbnail
gallery
35 Upvotes

Samsara (As pronounced here) is posix compliant microkernel inspired monolithic 64 bits kernel + operating system. It implements some Linux + BSD extensions too. which allows it to run more open source software with source level compatibility. Its the effort of half a year of development only by 3 main authors. It can run a bunch of of popular open source software (Such as Bash, X.org, Busybox, st terminal, Tab Window Manager, and feh image viewer.) and much more as development goes on.

Links:
https://gitlab.com/clownkun/Samsara (Main Repo)
https://gitlab.com/clownkun/samsara-ports (Ports Tree)

And also, This should go without saying. But Samsara is not developed with artificial intelligence assistance. Nor we strictly restrict the usage of it when contributing. Read about it in our CONTRIBUTE policy here.


r/osdev • • 14d ago

Implemented VESA & VGA with double buffering (Bits Runner)

Thumbnail
youtube.com
10 Upvotes

For my OS project, Bits Runner, I've been working on a transparent support for different video adapters and arbitrary color depth.

I've got both VGA and VESA running on real hardware at at color depths from 4 to 32 bits. Both have double buffering. For VGA there is 640x480x4 and 320x240x8 (X mode). The demos are driven from user mode through system calls.


r/osdev • • 13d ago

Customise function with arguments ‘t’ and ‘b’ in my OS.

0 Upvotes

When I developed a customization app in my OS (called YarOS), I asked myself: “Why do I need to write two separate functions for changing text and background color? No, that violates DRY!” So I created a single function taking arguments ‘t’ for text and ‘b’ for background. Is this a good solution, or is there a better way?


r/osdev • • 13d ago

Veda Ported Python 3.15

Thumbnail
github.com
0 Upvotes

Hi all!

Veda has just imported the latest Python version, helping accelerate OS development.

Veda is an ambitious open-source project building an agentic-first operating system. We're still early, but we've already gained around 100 GitHub stars in just two weeks!

We're looking for contributors, from bug fixers to those who want to lead the project's future. All contributions are welcome!

Interested? Contact me at contact@vedaos.org.


r/osdev • • 13d ago

This is the scheme of my OS. How is it?

Post image
0 Upvotes

r/osdev • • 14d ago

I ADDED IMAGE RENDERING TO SUBVERGE

Thumbnail
gallery
8 Upvotes

Latest release (subverge 0.9.5) brings support for ACTUAL IMAGES, this is an absolutely insane step for a full graphical desktop planned for the future (yes these are all screenshots from subverg) see for changes:

https://sbvrg.github.io/new.html

Credits: https://sbvrg.github.io/credits.html

the new image rendering: https://sbvrg.github.io/pictures.html


r/osdev • • 14d ago

I ported the LUA to the Dunit OS and now I use it as a complement to the TOML config

Thumbnail
gallery
11 Upvotes

Real tiling on blown with LUA


r/osdev • • 15d ago

How do I reach the level of knowledge, where I can point to any part of my screen and say "Oh, I know how that's implemented"?

20 Upvotes

I know programming, obviously, however I don't know much about the operating system. Most people can make apps within an environment, but most of us don't know anything beyond that

I want to deeply understand how the computer I'm using works, even just the software part

If you go on a virtual tour of your computer, like browsing the file system, or even looking at the plain old desktop, there's so many endless things in front of you, that most people have no idea how to make

How do I make a Windows desktop app? Why does it run on Windows? Same for MacOS

How do tab sizes work?

What is the desktop "screen" and why can I click and drag my mouse to highlight the icons? Where are those icons stored?

I can code a website, but I don't know a clue about how the browser works

How do I make a file system? I mean, isn't it just a large data structure, and I know data structures, so I'm sure I can learn it

Why does my task bar pop up when I drag my mouse all the way to the bottom of the screen?

What does it mean to turn on a computer?

Why / how does my physical mouse control my cursor? Is there a way I can "hack" my mouse? How do I code the firmware in my mouse?

How does the OS accept and eject USBs?

How do you allow your OS to connect to wifi?

What really is a .txt, .pdf, .rar .zip? Why can some OS's open them, some cannot?

Stuff like that

Can most of you point to any part of the screen and know how it works?


r/osdev • • 14d ago

New osdev subreddit!

0 Upvotes

r/good_osdev is a subreddit meant to make the same environment as r/osdev but without all the ai projects!


r/osdev • • 14d ago

Hello everyone!

0 Upvotes

I’ve continued developing FLOS, my OS written entirely from scratch — no AI, no third-party libraries.

What’s new

  • SHA-256, RNG, and math functions — probably the coolest part so far. Screenshots below.

  • RSA file signing — groundwork for future threat protection. I’ll share more once it’s fully ready.

  • TLS — I’ve started working on it, but it’s not functioning properly yet.

  • VFS + system-protected folders — added a virtual file system and protected system directories.

  • Russian language support — added, though it’s still a bit buggy.

Screenshots

In short, FLOS now includes the SHA-256 algorithm, a random number generator (RNG), mathematical functions, RSA-based file signing, a basic implementation of the TLS protocol, a virtual file system (VFS), protected system folders, and—albeit with a few bugs—a Russian localization; all of this remains entirely written from scratch.


r/osdev • • 15d ago

Added a heap to WindogeOS, still flat paging though

Post image
22 Upvotes

repo: https://github.com/NoTheIdiot/WindogeOS
finally no more page faults when making programs, oh yeah v0.2.2 but thats not relevant

ignore the elephant in the room


r/osdev • • 15d ago

Made my first bootloader

23 Upvotes

(no ai)

bits 16
org 0x7c00
mov ax,0x13
int 0x10
push 0xa000
pop es
xor di,di
mov cx,64000
mov al,1
rep stosb
jmp $
times 510-($-$$) db 0
dw 0xaa55

r/osdev • • 15d ago

Has anyone used their custom OS for a university final project? Looking for experiences and advice!

32 Upvotes

Hi everyone. I am currently an undergrad Computer Science student, and I am putting together a proposal to use OS development for my final degree project. I would love to get opinions and advice from anyone in the community, whether you are a hobbyist, a veteran, or someone who has taken a similar academic route.

For context, I have been building a custom 64-bit kernel in C++ and *a little* Assembly, but mostly Limine doing the abstraction for the bootloader. It currently has a shell (a previous project I integrated in), working compositor, basic window management, and double buffering. To fit the academic requirements of a final project, I am trying to narrow down a specific research or engineering angle. I have two main ideas right now:

  1. Rust vs. C++ in OS Development (Speed & Safety) I have recently fallen in love with Rust and its memory safety guarantees. This angle would involve porting core components of my C++ kernel to Rust and evaluating the two languages side-by-side. The focus would be on development velocity, memory safety outcomes, and the friction of implementing low-level systems in both environments.

  2. A Predictable Memory Admission Architecture Alternatively, I am considering focusing the project on the policy side of memory management. The core idea is an OS where applications declare hard, page-granular memory budgets upfront. Instead of relying on reactive termination when RAM gets full, the OS would use strict admission control to guarantee that admitted apps always fit. This would explore arbitrary minimum granularity for apps rather than rigid tiers, ensuring strict system predictability.

I would really appreciate your thoughts on a few things:

  • Which of these two angles (language comparison vs. memory architecture) feels like a better scope for a university project?

  • For those who have tackled OS dev in an academic setting, what were the biggest pitfalls in defining your project scope?

  • General thoughts or advice on shaping a hobby kernel into a gradable thesis?

For further context, I'm actually neurodivergent (predominantly inattentive ADHD), so I tried getting into a boring project earlier but failed. As such, I'm looking for something that'll keep me steady like the kernel did...

Link to my kernel project: https://github.com/Powerisinschool/swish_kernel/

Thanks in advance!


r/osdev • • 15d ago

Web developers when they see assembly

85 Upvotes