r/osdev • u/AlexRiven201 • 13h ago
Just a personal ArchISO project I've been tinkering on :3
Nothing huge. Just a highly opinionated Mint-flavored Arch. I like my system. That should be enough, no?
r/osdev • u/AlexRiven201 • 13h ago
Nothing huge. Just a highly opinionated Mint-flavored Arch. I like my system. That should be enough, no?
r/osdev • u/EfficiencyNo3042 • 4h ago
I've been developing BlockOS, an independent x86_64 operating system written primarily in C/C++.
BlockOS is no longer just a basic kernel experiment. The project currently includes:
I'm looking for OS developers and especially Linux kernel / low-level C/C++ developers who would like to contribute.
Areas I'd particularly like help with:
The goal isn't to make another toy kernel. I want to develop BlockOS into a stable, usable general-purpose operating system that can eventually be used on real hardware.
You don't need to understand the whole codebase to contribute. Individual subsystems can be worked on independently.
GitHub: https://github.com/gurijb2016-afk/Blockos
If you're interested in OS development, kernel development, drivers, or low-level C/C++, feel free to comment or message me.
Contributions, testing, code review and technical discussion are all welcome.
r/osdev • u/compgeek38400 • 7h ago
Continuing my post on my journey to learn how to create an OS. Right now I'm just working on a kernel. I have spent the last 10 days trying to get my head around a recursive page directory. I have no idea why it took me so long, I've used recursion since the mid 70's walking tree structures.
1) Understanding a recursive kernel. Finally getting my head around this lets me 'recover' 4M I had planned on using to keep track of page tables. As part of this journey I finally had AI write some functions on initializing, getting both physical and virtual addresses of page tables, and using a recursive page table. Once I finally figured it out, I threw them all away and wrote my own.
This leads to my second learning.
2) AI can be really touchy. I have two types pde_t and pdt_t (both uint32_t), but I tend to think of the indexes (pde and pdt) as the references to the page themselves. AI insisted on referring to them as the pages instead of the indexes they really were. I know that this was MY fault, but it did nothing to make things clearer. The real learning was I'm not much better at talking to AI than I was a week ago.
3) I still hate writing test script. I am doing it, but have taken to writing a test script on things as part of debugging. It seems a reasonable compromise. If I just write test scripts, knowing myself, I will eventually lose interest in the project itself. I know I have a prior (re)learning about don't skimp on the test scripts. So if I have a few minutes between household tasks, I am still writing some of the simpler test scripts.
Finally:
4) I forget if it is posted in r/osdev or r/kerneldevelopment, and I can't find the post again to credit the person that found it (my apologies there), but I found a new resource today, it it is on the University of Wisconsin (my alma mater) titled: Operating Systems: Three Easy Pieces and it looks really interesting.
These are the main thing I've learned over the last 10 days. And now that I know them, I have some questions.
a) Where do you map your video memory, in the kernel, or in user space? One point of a kernel is to coordinate access to shared resources. I think video memory fits this definition, and it could be really bad when I introduce multiple processes, if they are all writing to video memory. I am definitely going to map vga memory (0xB0000 into my kernel, with SYSCALL access to update it. I am unsure about ega, I'm not sure I want to support it, at least to start. What are your thoughts?
That's all for this post, thanks for reading, I hope it helps others that are trying to learn OSdev.
r/osdev • u/Fun-Entertainer-1053 • 11h ago
I want to compile C programs in my OS itself rather than copying it manually to the disk image every single time. How can port GCC, or is there any other way to do it?
r/osdev • u/Accomplished-Tap5211 • 16h ago
I am currently using the Ubuntu 26.04 in my Victus by HP Gaming Laptop 15-fa1xxx laptop.
I want a OS which is very small in size and usage , i want the most battery backup as much as possible, i will be triple booting it .
There is a dGPU of nvidia 2050 and tht new OS shld not be using it.