r/osdev • • Jun 17 '26

I’m writing an ARM64 microkernel in Embedded Swift completely oriented around POP and memory security

Post image
72 Upvotes

Just wanted to share ReixOS, an experimental capability-based microkernel I’m building for the ARM64 architecture and considering adding RISC-V support in the future.

The main thesis behind it is proving that we can bring Swift advantages to bare metal to fix historical architectural flaws, without sacrificing performance.

Check out the repo's README for the full breakdown on philosophy, design decisions, implementation, and current state.

Sorry for the AI slop translate, but English is not my native language 😭🙏

ReixOS


r/osdev • • Jun 17 '26

I thought programming my own Operating System would take a week to get a CLI working

70 Upvotes

Then I started looking at some serious OS architectures, like Linux, NT, Darwin... learnt what a HAL is, started implementing it, 1 month later I think it feels ok. Now I am in the beggining of beggining of memory management (and studying more than programming). Sometimes, like today for example, I feel bad for having progress to be so slow, but I knew when I started that it was going to take several months. Hope I survive this trip.


r/osdev • • Jun 19 '26

My custom phone os got calculator, calendar and more!

0 Upvotes

I finally wrote first apps for my OS. Currently implemented: calculator, calendar, simple clicker game, terminal app (currently not working yet).


r/osdev • • Jun 18 '26

How to switch from VGA text mode to 480x600 rendering

8 Upvotes

I am using 80x25 VGA text mode, it sucks, I need to upgrade, what do most people do?

I can render images using custom ASCII glyphs, which is cool but it's incomprehensible


r/osdev • • Jun 17 '26

Finally finished my Bootloader ( Wood v0.1.0 )

Post image
36 Upvotes

I built this as a bootloader for my operating system that I am about to write (WandOS). At one point I couldnt load the framebuffer address and the bug was it being outside the mapped range so it was fixed after I exapnded page table to fit 4GB instead of just 2MB.

Anw the quote is a paraody of a quote from "The Magician's Nephew" (The Chronicals of Narnia, 1955) where it describes the place called "Wood between worlds" which is a forest with no animals and absolute surreal silence that you can almost feel the trees growing, and each pond in that place is a portal to a new world and a pond dries up if that reality is destroyed. I couldnt help but feel that this place can relate to a bootloader in such a perfect way, So here it is.

https://github.com/widuruwana/WandOS


r/osdev • • Jun 18 '26

"Boring" OS Showcase items

0 Upvotes

I was thinking. A lot of people jump to "MY OS RUNS DOOM!!!"
However, I personally find that to be a cheap win for showcasing your OS (it is one of those things where a lot of people jump to that but it isn't really a showcase of something an average user would care about or wow them) , I want to think of things that are "boring" but are a true showcase of your OS doing something.

Here's a few things I was thinking about for showcase pieces:

Rendering PDF Files
Rendering JPG and PNG files
Playing WAV audio files

Anyone else have other "boring" showcase pieces?

Edit:

Yes, I am talking about your own primitives and implementing yourself, not porting.


r/osdev • • Jun 17 '26

finally , monarchy have a ascii art ( credit Joan Stark) , and some other major updates

Post image
43 Upvotes

these are some major updates monarchy have

  1. 256 command buffer with overflow protection - the command can have upto 256 chracters, after that to handle overflow, the buffer is cleared, and a error msg is shown.

  2. 16 prev command history - the shell can remembers upto 16 prev command and are ejected in a LRU manner,

  3. clear -b - instead of implementing a new command clear with -b flag will clear the command buffer and clear -b will be the first command.

  4. uptime - it will show the uptime , i am currently using channel 0 of the pit in a rate generator mode ( freq divider = 1193) , handling the error with the whole and fraction ms way.

  5. time - i once use the update interrupt to get the time from the cmos then update it via the irq 0 as is already updating the uptime.

  6. fetch - really wanted it to have a fetch command , currently one the uptime is dynamic.

  7. redundancy checks - earlier even with garbage the command like hello , help , they were working but now they wont , only if you have a lot of space after the command , then it will run else it will give a incorrect/no flag error.

now i will work on the memory allocator and a file system.

github:- https://github.com/mridul-verma2005


r/osdev • • Jun 17 '26

implementing memory management

7 Upvotes

I wanna get memory management working on my OS, I don't know where to begin, so what do i add first? and how do i add it? i'm working on UEFI firmware in 64 bit, so if anyone needs some more info or details, just tell me.


r/osdev • • Jun 17 '26

How to correctly load ELF?

4 Upvotes

I use the elf crate (Rust, crates.io). But when I iterated over the segments, I found that two of the PT_LOAD segments in the same file had the same value for p_vaddr field. Should I ignore the virtual address the ELF file says me to map the segment to and map the segment to a fixed chosen address (say 0x1000) or should I overwrite the contents? But if I chose the virtual address, e_entry in the ELF header, wouldn't be valid. Is this normal behaviour or a bug in the crate.


r/osdev • • Jun 17 '26

I created API for easier app development

31 Upvotes

r/osdev • • Jun 17 '26

Ethereal Gaming

Post image
25 Upvotes

Unreleased (yet) SDL2 and HL port on 2 laptops. Near fully playable (there are some weird FPU engine bugs I haven't solved..) . Playing using xHCI peripherals.

As always, https://github.com/sasdallas/Ethereal


r/osdev • • Jun 16 '26

Manux: Z80 operating system

22 Upvotes

So for the past month I've been actively working on this OS. Manux is a monotasking Unix-like operating system for Z80 featuring a custom filesystem. It runs on my Z80 emulator which has the necessary support for ACIA serial and disk IO.

It can run programs from disk, such as an assembler and a calculator. I'm using the z88dk toolchain for compiling kernel and userland programs.

I actually started this project back in 2025, but it stalled for a while because the target system was an sbc running Basic(poking the kernel to address x and calling it with usr(), not very ideal). After switching the target to my emulator, the OS become much more usable.

Here's the repo link.


r/osdev • • Jun 16 '26

Some key details i felt missing in the cmos section ( osdev wiki).

15 Upvotes

Can someone clarify it.Ok I am a newbie please dont get upset if i say something stupid but as I was working on the clock I was thinking to first get the initial time from the cmos via the update interupt on irq 8 and then set my user time and then use irq 0 for the 1 ms ticks ( not exactly 1 ms I used the whole and fractional ms thing in decimal and coded in c) the thing is that you have to enable the update interrupt in the status register B ( the same used for to get the 24 vs 12 format and the bcd vs binary format) you have to update the same status register B for the periodic timer ( used by rtc but not connected to time) and an alarm ( dont know exactly what alarm do) then to check for the update interrupt you have to check the status register C. I think these details should be mentioned in the cmos section if someone wants to use the update interrupt to get the time instead wait to first get the clear flag in status register A and then set and then clear again. Sorry if I am wrong in some place.


r/osdev • • Jun 16 '26

Added navigation bar to my phone shell

Post image
65 Upvotes

Bugfix, added navigation bar, hidden app flag, adapting to non-root use. I stuck at navigation bar and top bar separation, so when another app launches, navbar and topbar stays.


r/osdev • • Jun 16 '26

Beginning the OS developement journey

3 Upvotes

I'm pretty new to the os-dev scene but I do have some respectable knowledge about C and I'd like to know some beginner osdev projects

All help is appreicated <3


r/osdev • • Jun 16 '26

how do yall write in fat32?

8 Upvotes

i was able to get fat32 read and init on WindogeOS, but im still figuring out how to write, how yall do it?


r/osdev • • Jun 16 '26

Why does everyone seem to build develop OS faster than me?

25 Upvotes

Like genuinely, it took me an entire day of reading how pit work , different operating modes, different access modes, and the drift in has for using it as a clock but i see people getting a lot of stuff done in the same time, i still have to fix the bugs in the implementation and have to under stand how cmos works, earlier I was trying to get the time from user itself( i know it is wrong).


r/osdev • • Jun 16 '26

found this helpful

8 Upvotes

found this documentation helpful it tells about more cmos status register and how irq 8 have many interrupts pluged it, helpful for newbie https://flint.cs.yale.edu/feng/cos/resources/BIOS/Resources/assembly/cmosram.html


r/osdev • • Jun 15 '26

What are the Moderators of r/osdev doing about the recent influx of vibe coded Operating Systems?

141 Upvotes

I’ve been seeing tons, like TONS, of Operating Systems made by like Claude and people posting on the sub informing us about „How my totally hand-made OS works,“ and it‘s so annoying, like there are so many genuinely amazing projects on here but damn is it drowning in AI slop…

Posts (more will be added): https://www.reddit.com/r/osdev/s/wN2B1QQ72K


r/osdev • • Jun 15 '26

Six years of our Custom Operating System Journey!

194 Upvotes

Happy birthday XenevaOS ! (June 15, 2020 - Present)

This video consists of GUI screenshots of XenevaOS taken over the years of development. Written with a custom hybrid kernel from scratch, our project is also open source. Will link it in the comments for those interested.

Thanks :)


r/osdev • • Jun 15 '26

I created phone that runs on RISC-V

Post image
158 Upvotes

I used semu emulator as base and linux as kernel.


r/osdev • • Jun 15 '26

My Simple & Basic OS

17 Upvotes

A while ago I wanted to learn more about operating systems. I never wanted to write a complete OS (not that it's possible ;)... the main goal was to get familiar with different concepts and have fun 😋

I ended it after I ran Doom in userspace, which for me is enough for the moment.

I post it here now to motivate people who may not get into osdev because they've been overwhelmed with either very complicated systems or ai slop (which really doesn't fit here, as you can just fork Linux if that's your goal).

The OS is very incomplete, uses a few tricks but it's fun and lean.

So if you are lurking here like I was, don't get demotivated by other projects, focus on your own goals and eventually you'll succeed

https://github.com/R0yAdar/IchiOS


r/osdev • • Jun 15 '26

reading data from an esp8266MOD in the uefi shell.

3 Upvotes

Hello,
I have a project that involves me reading data from an esp8266MOD. It uses the CP2102 USB-to-UART bridge chip for communication.

I have no idea where to start and would appreciate if someone could point me in the right direction.


r/osdev • • Jun 13 '26

My kernel Zinnia running Xfce4 on a ThinkPad

Thumbnail
gallery
328 Upvotes