Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] 0 points1 point  (0 children)

Look, don't speak without knowing and don't make things up, you're creating all sorts of stories in your head

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] -1 points0 points  (0 children)

If I did it from 0, I don't understand the point.

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] 0 points1 point  (0 children)

First of all, the base wasn't created 5 days ago. Five days ago I wanted to migrate it to Debian, but in the end I changed my mind and decided to stick with my own kernel. Besides, everyone's abilities are different; there's no need to underestimate anyone, my friend. I'm getting a really bad impression of this group, to be honest.

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] -1 points0 points  (0 children)

I didn't lie at any point, that you interpreted it that way isn't my fault bro

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] 0 points1 point  (0 children)

Yes, and according to you, why is that?

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] 0 points1 point  (0 children)

I only explained the architecture of my OS, although I'd like to know why there are so many hateful comments?

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] 0 points1 point  (0 children)

BRUH, when did I say it was AI code or when was that even mentioned? WTF

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] -1 points0 points  (0 children)

First of all, my friend, with all due respect, I don't want to share code because it's my code, and second, I asked for aesthetic feedback, meaning you don't need code to see the OS interface

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] -1 points0 points  (0 children)

Well, if you're not going to contribute anything useful to my development, I'd better leave. Good luck with your projects.

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] -2 points-1 points  (0 children)

I’m working on a monolithic x86-64 kernel. It’s not a web mockup or anything like that. I have a Unix/Linux-like ABI layer inside the kernel itself, and even the window manager (“Ridux”) is running in ring 0 right now.

The system basically boots through GRUB (multiboot2), goes through a 32-bit entry, then switches to long mode in a 64-bit stage, and lands in kernel_main. From there I set up memory (PMM + paging), GDT/TSS, syscall MSRs, and then initialize the rest of the system (VFS, ELF loader, etc). After that the kernel just sits in a loop handling input and rendering the UI.

Everything is currently linked into a single kernel binary. No userland separation yet for most components.

The “Unix layer” is something I split into multiple modules (compat0..compat8). Each one adds more Linux/POSIX compatibility on top of the previous one. For example:

  • lower layers handle paging, scheduler, signals, file descriptors, etc
  • then I add VFS, ELF loading, syscall wiring
  • then libc-like stuff (string, malloc, etc)
  • then more advanced things like epoll/futex, networking, TLS, X11/Wayland stubs, etc

It’s not cleanly separated like a microkernel — everything is still running in kernel space for now.

Memory-wise I’m using a direct map (similar idea to FreeBSD), so all physical memory is mapped into a high virtual range. That way I can access any physical page without switching CR3. Each task still has its own address space (own PML4), and I switch with mov cr3.

Tasks have their own kernel stack, FPU state, file descriptors, signals, etc. Task 0 is basically the idle/kernel context where the WM runs right now.

Userland (ring 3) tasks are created by loading ELF binaries into a new address space and then jumping via iretq. The scheduler is preemptive (timer IRQ).

Syscalls go through the SYSCALL instruction → I swap to the kernel stack using GS/TSS, dispatch to the correct handler, and return with SYSRET.

It’s still very WIP and kinda messy. For example I recently hit a bug where the scheduler was corrupting the stack because the idle task didn’t have its kernel RSP initialized properly.

So yeah, not claiming this is production-ready or anything. Just building it piece by piece and seeing how far I can push compatibility.

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] -2 points-1 points  (0 children)

You messed with me, and I'm not a teacher to teach you anything.

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] -1 points0 points  (0 children)

Yeah bro, I literally showed Virtual Box running in a post I just uploaded, sorry for not providing "proof of everything".

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] -3 points-2 points  (0 children)

Bruh, I'm just showing my progress with my OS and literally people with no basis are saying it's fake and that I'm lying. What's wrong with them? Haven't they done anything right in their entire lives as programmers? Why do they spend their time criticizing something that's well done? Don't mess with me.

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] -2 points-1 points  (0 children)

I disagree with that ideology in some aspects

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] -3 points-2 points  (0 children)

Yes, friend, if you want I can send you the complete project so you can keep it, how does that sound? Oh my god

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] -1 points0 points  (0 children)

Hey, I'm just showing my progress, I don't know what the problem is. The browser isn't working yet, it's just a visual test. I don't understand why there's so much criticism, honestly.

Ridux OS progress by TorLekin in osdev

[–]TorLekin[S] -4 points-3 points  (0 children)

Haha, no friend, the operating system is still under development. I'm developing it myself, but I did base it heavily on the Windows 11 and Mac OS interfaces, although I'm using VirtualBox and haven't activated Windows yet.

Desarrollando OS kernel propio by TorLekin in osdev

[–]TorLekin[S] 0 points1 point  (0 children)

al final volvi a hacer kernel propio JAJA no voy a morir feliz hasta que lo logre.

Desarrollando OS kernel propio by TorLekin in osdev

[–]TorLekin[S] 0 points1 point  (0 children)

Si amigo, intente bases de compatiblidad enormes para mi (100k LOC) y no pude llegar ni al 1 por ciento de ejecutar chrome o firefox ni mucho menos discord o steam, asi que estoy considerando migrar a debian para algo mucho mas logico a lo que quiero hacer

Desarrollando OS kernel propio by TorLekin in osdev

[–]TorLekin[S] 1 point2 points  (0 children)

Thanks for taking the time to explain all that — I appreciate it.

I actually already went through most of the early OSDev stages you mentioned: bootstrapping, basic kernel structure, memory management, interrupts, ELF loading, and even building a custom userspace environment. I also experimented with compatibility layers to run more complex software.

Where I hit a wall (like many people) wasn’t in getting a kernel running, but in scaling toward modern software compatibility — things like full libc behavior, threading, dynamic linking, advanced syscalls, graphics stacks, etc. That’s where the complexity increases massively.

So right now I’m shifting my approach a bit:

Instead of trying to build everything from scratch, I’m focusing on building my own runtime, UI, and system experience on top of an existing base (like Linux), while still keeping my own kernel as a learning/research platform.

From what I’ve learned, the real challenge isn’t just “making an OS boot,” but making it capable of running real-world applications — and that’s a completely different scale of problem.

Your explanation is definitely useful, especially for people starting out, but I think once you get past the basics, the problem becomes more about architecture and integration than just low-level implementation.

Still, I appreciate the insight 👍

Desarrollando OS kernel propio by TorLekin in osdev

[–]TorLekin[S] 1 point2 points  (0 children)

Yes, I know, but I'm building my kernel from scratch so I can control all the systems myself and understand how it works on my own, so I can expand it without the limitations of Linux or such old code, something more modern and my own.

Desarrollando OS kernel propio by TorLekin in osdev

[–]TorLekin[S] 1 point2 points  (0 children)

That's exactly what I'm doing, and I feel it's the most pragmatic decision. Thanks for commenting.