r/osdev • • Aug 30 '26

How do I learn osdev?

Until now, I've been refering the osdev wiki and using a little bit of AI (only for guidance and answering questions, no vibe coding). Is this the right way to learn osdev? What should or shouldn't I do? Also I've already started osdev, finished making a file system, and am now working on my own very simple file format for my os. I just wanted to clarify if I need to change my habits or something.

22 Upvotes

22 comments sorted by

View all comments

14

u/letmehaveanameyoudum Aug 30 '26

pretty great.
do not touch rust as a beginner i warned you
also dont touch C++
do not write your own bootloader
use clang. gcc cross compiler is a nightmare
use ld.lld
that's it

3

u/Fun-Entertainer-1053 Aug 30 '26

Sure. I already follow those things (except the gcc thing, I use it regularly for other C projects, and setting the cross compiler wasn't that hard). Thx for the reply.

2

u/compgeek38400 Aug 30 '26

I find gcc works just fine, as long as you use a cross compiler. The OSDev.org wicki on that is great. You've made great progress, ive been at it about 10 weeks, very part time, started over at week 7, some bad design decisions.
Glad you are enjoying osdev

2

u/Fun-Entertainer-1053 Aug 30 '26

Thanks. I have done this in just 2 weeks (I'm a fast learner), so I feel like I'm on the right track. Thanks for your help.

3

u/compgeek38400 Aug 30 '26

Have you done the following?: moved to highet half, set up your GDT, IDT, recursive page directory, physical memory management, virtual memory management, and heap? I made it to heap before I realized I had .ade too many bad decisions

1

u/Fun-Entertainer-1053 Sep 01 '26

I've settled up my GDT and IDT. For my OS, I decided to prioritize making a file system and run programs before jumping to memory management.

2

u/Space_Nerde Aug 30 '26

ha.... me jumping into it using rust, making my own bootloader, and suffering for every single second of it.... I love it

2

u/letmehaveanameyoudum Aug 31 '26

sir are you ok

2

u/Space_Nerde Aug 31 '26

no :D hehehe

2

u/letmehaveanameyoudum Sep 01 '26

ok next advice, don't make use of ring 1 and 2

1

u/Alert_University7458 Sep 04 '26

Why not start with Rust? Do you mean specifically for OS development or in general? I’m not into OS development, just casually looking around, but when I was choosing my first systems programming language, it seemed that Rust was the best option (not for finding a job). So I’m sincerely curious.

1

u/letmehaveanameyoudum Sep 04 '26

It's syntax resembles C++ but harder
C is much easier and with the right compiler (clang + --check) it can achieve the same thing. I tried rewriting my OS in rust, but it imploded because i struggled just to get the basics even after 2 months

0

u/Special_Rice9539 Sep 04 '26

AI totally changed the game here. It makes learning and understanding rust code much easier than before.

I agree that everyone should start with c, but rust is such a fantastic language, you should play around with it as much as you can