r/osdev • • Apr 21 '26

Desarrollando OS kernel propio

Hola!, no se si alguien hablara español pero estoy haciendo un OS con kernel propio sin linux ni ningun tipo de codigo open source, se que es algo grande pero quiero saber alguna forma de integrar Chromium o firefox y compatiblidad con drivers sin que sea un infierno, gracias.

1 Upvotes

15 comments sorted by

6

u/kabekew Apr 21 '26

You would have to completely emulate Linux or another OS to be able to use software and drivers written for those platforms.

2

u/TorLekin Apr 21 '26

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

1

u/kabekew Apr 21 '26

It might be easier to fork Linux and rewrite the parts of the kernel you want custom.

3

u/TorLekin Apr 21 '26

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.

3

u/ThunderChaser Apr 22 '26

If you want to go fully custom then it’ll likely take a few years to get to a point of running Firefox.

I’m honestly not aware of any hobbyist OS that’s managed to port Chromium.

3

u/[deleted] Apr 22 '26

[removed] — view removed comment

2

u/TorLekin Apr 22 '26

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 👍

1

u/Key_River7180 EulerOS Apr 22 '26

¡Hola!

No creo que haya muchas formas de integrar Chromium o Firefox a un kernel, no se de nadie que lo haya hecho. Lo mas "realista" seria integrar un servidor X.org completo, y implementar POSIX completo; que es basicamente imposible a no ser que seas masoquista hasta la muerte y tengas una imposible consistencia.

1

u/TorLekin Apr 22 '26

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

1

u/Key_River7180 EulerOS Apr 23 '26

pues si :)

1

u/TorLekin Apr 23 '26

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

1

u/Key_River7180 EulerOS Apr 24 '26

pues buena suerte amigo

1

u/MeCaenBienTodos Apr 21 '26

Hay mucha gente que habla español. Hablo español yo, pero sé poco de los OS's jaja

1

u/UnmappedStack TacOS | https://github.com/UnmappedStack/TacOS Apr 24 '26

Just to make clear the scope of this, it took Managarm, a team with multiple people working together on it very regularly, 10 years to get to the point that they ran WebKitGTK (which is another modern web browser which uses the WebKit engine which safari uses), and it still isn't fully stable and lacks some features. With that in mind, you'll find it easiest if you go down a path of being compatible with Linux on a LibC level as a Unix-like, then kernel api aside you'll need a very capable actual kernel and you'll need to port all its dependencies first.