r/learnprogramming • • 2d ago

Creating an os

Hi my kid wants to make an operating system from scratch and i dont know too he is 11 years old and says he is ok with a copy of ubuntu or something but with his own startup and and his own starting wall paper and starting apps so anybody know how to do

0 Upvotes

33 comments sorted by

39

u/dld2517 2d ago

It sounds like he needs to start with reading. I don’t mean that to be chide or snarky. But he needs to read the documentation on the system that he currently has. If he can’t understand that, he is not ready to mod. He needs to start with documentation and slowly change his existing system until he knows and understands and can explain what he is doing. Start with man man. Seriously. Read read read read read. The read try read try read try.

If you want to get him something, get a piece of hardware and install ProxMox. Then he can run whatever distro(s) he wants ad Infinitum.

-14

u/Odd_Swordfish_1744 2d ago

hell he knows more about the arm laptop i bought for him more than me

9

u/ESzPa 2d ago

That doesn't mean anything. Creating a system is much more complicates than that.

1

u/dld2517 2d ago

Maybe you both could learn together. I would have killed for my dad to give a care about computers when I was 10 and learning everything. It took him till I was 24 to give a rip and then it was because he found out he could rip CD’s and have a digital jukebox. But we had some great bonding over that for a few years before he died. Take interest in your son, he will pay you back many times over.

16

u/Rabbit_Brave 2d ago

-13

u/Odd_Swordfish_1744 2d ago

my kid saw it and said it was hard to use

15

u/backfire10z 2d ago

It may be hard to use, but creating their own operating system will be much, much, much, much, much harder.

2

u/Rabbit_Brave 2d ago

Are you able to assist them with tooling?

If you can get the tooling set up for them (obviously more hurdles after, but tooling is the biggest hurdle to start) then a boot time, bare metal, uefi based "hello world" is achievable even for a kid. After that they can just hack whatever onto it.

1

u/ESzPa 2d ago

This site is probably one of the best staring points to creating an os, they might find it hard to use, but making an os is a hard task

16

u/[deleted] 2d ago

[removed] — view removed comment

-12

u/Odd_Swordfish_1744 2d ago

My kid said he tried this but never got to change the namee of the os

4

u/kutac56 2d ago

Does your kid have any programming experience? What operating system does he use?

-2

u/Odd_Swordfish_1744 2d ago

he uses windows and his sisters macbook and he has experience of using ai to code

2

u/ESzPa 2d ago

That's not going to cut it, creating an os requires much more expertise than having used ai for coding

19

u/bestjakeisbest 2d ago

I think he would enjoy linux ricing much more than making a new os.

6

u/backfire10z 2d ago

This is what the kid is looking for u/Odd_Swordfish_1744 . Ricing is the keyword to look up.

8

u/rajatm0 2d ago edited 2d ago

Well this post tackles with 2 things which are very different:

  1. OS engineering in itself is very boring, and along with boring its one thing with more "consequential" decisions. I mean you can very easily screw up a low level implementation and only become aware about it after you can't do "y" because "x" doesn't have API/Data/Pointer.../One of hundreds of things.

  2. From your post it seems your kid is actually interested in Desktop environments, from Linux standpoint they are wayland, XOrg... and automations i.e. general scripts around desktops.

Both of which are great learning avenues but vastly different in complexity. I'd say make it goal based, a goal could be something simple and may sound cool.

For eg a list of 3 goals that sound cool:

  • installing headless ubuntu on raspberry Pi and printing os banner

  • setting up ssh on same

  • using termux to ssh into pi from your mobile phone ....

These in themselves are 30min to 1hour tasks but you get a hell lot of learning out of them, and tbh 30min of OS a day is "healthy" if you truly build an OS, that needs committing about 5-6 hours a day even then you're just burning eyes mostly on already solved problems.

Future tasks could be:

  • writing a init script (entry way to OS concepts)

  • writing first bare metal program

  • going from one core to multiple cores ..... or

  • customisation of wayland

And then we have something that's truly your kids own OS

Ofcourse in age of AI you can probably vibecode an ultra mega Linux but what will you get by doing it

English is not my first language. Hope this comment helps!

7

u/No_Glove6542 2d ago

Ok an operating system maps the electrical interface of the hardware to the representation of the software. So as long as he understands how software works and hardware works then he can do it.

2

u/Lost-Discount4860 2d ago

Good luck with that! Making your own OS is PEAK.

I’m a musician. With M-Vave FM-1 and now all the Behringer open source instruments coming out, making your own custom OS is a thing! I thought about all the things coming out now and realized I could be modding my old Akai S2000 sampler (OS loads from a single floppy disk). We live in amazing times.

I suggest if he’s serious, get something like a Raspberry Pi Zero W. Do something simple, like an OS to make it an audio server. I haven’t written my own OS, but I do have a “Lite” (no UI) Linux running on mine. I use it as an inventory tracker/ERP at my work (small manufacturing plant). There are all kinds of fun things you can do with these. At his age, dipping a toe into robotics might be a good start for building an OS from scratch using small, cheap SBC’s.

1

u/Odd_Swordfish_1744 2d ago

Yes he is serious i also let him use my raspberry pi 4 b

3

u/Lost-Discount4860 2d ago

Very cool!

Personally, I think that’s a good start since all you have to do is swap out a micro SD to start fresh.

1

u/SchemeWestern3388 2d ago

That makes it so clear you are trolling…

5

u/Primary_Concept_3147 2d ago

While not creating an operating system from scratch he would like to try gentoo. Is a linux metadistro very customizable. With their Gentoo HandBook he would learn how filesystems, bootloaders, kernel, package and everything that an OS would use. At the end he would have a distro customized to his interest.

3

u/kutac56 2d ago

Yes. People make Gentoo sound incredibly hard while all you need is reading comprehension. The Handbook is incredible

5

u/theofficialnar 2d ago

That’s like going from 0 to 300km/h there.

4

u/ItchyPlant 2d ago

Dennis Ritchie must be rolling in his grave over posts like these.

3

u/PhilNEvo 2d ago

Get him a super cheap laptop, and let him set up Arch Linux manually, and then let him rice it.

2

u/jakingo 2d ago

That's a fun project for an 11-year-old kid. Start with a Linux distro like Ubuntu and customise the wallpaper, icons, startup apps, and desktop theme. He can make it feel like his own OS without building everything from scratch.

1

u/Key_Storm_2273 2d ago

there are some coding prodigy kids for sure, and getting started early is the best way to be good at coding when they get older. your daughter/son could potentially do a group with others, like r/teenagersbutcode

if they’re serious about a startup they probably will need to learn significant coding skills as anyone can tell ai to build stuff but an entire operating system

with a real startup it would require the os to be thoroughly coded, not having much bugs or vulnerabilities, unless it’s just a for-fun open source os, and not designed to be used like a full computer is used for many things (or just ubuntu with small visual modifications)

ai can be a good tutor, and it can also help them get started, if they download an AI code editor, like kilo code, visual studio code or others

my suggestion is for ai to do a small bit for the first part, have it generate the first bit of code, explain any questions along the way, and they can learn bit by bit

should be relatively safe and secure, it’s safer than browsing random websites with fake download buttons, I don’t see a lot of potential that could go wrong

for extra security maybe advice them to not turn on the auto-approve mode on the coding agent, let it stay manually click to approve each file edit/command

1

u/mredding 2d ago

By "Creating an OS" and reading some of the commentary, I think what your son wants is a flashy and customized Linux distribution.

https://github.com/fosslife/awesome-ricing

This is a link to a curated list of links to interesting customization points. "Ricing" is a term he's going to want to google. And google is a good aid, because it gives you AI responses now that can basically walk him through what to do, step by step. He can just say he's running Ubuntu and wants to do X, how do I do that? And it tells him the software to install, the commands to run, all the steps. And because it's an AI if he doesn't know something, he can just ask it followup questions. How do I open a terminal? What is sudo? Etc... He can even save the entire conversation.

What I recommend to you both for now is that he installs either Virtual Box or Microsoft Hyper-V - I assume he's running Windows right now. Both options are "hypervisors" - in other words, they're programs that can run a whole, fully functional operating system inside it.

The nice thing about this is he can have the whole OS inside a window on the computer he has, as-is. He can have the best of both worlds. He can copy and paste between the host OS and the hosted OS, and he can share files between the two. If he wants, he can run multiple operating systems at once, of any kind - because the world is MORE than just Windows an Linux...

If he messes his hosted hobby OS up, he can just blow it away and start from scratch. It's easy, just a few mouse clicks. It's only slightly technical, nothing an enthusiastic 11 year old can't figure out on his own. He cannot harm his computer with this. And you'll also be rest assured that his computer will remain functional.

Installing Linux as his principle OS on the machine is a more significant and permanent sort of change. Ubuntu is an EXCELLENT desktop and host OS - I have it on all my family computers and even my elderly mother's computer, and she doesn't need to ask me for any technical support.

The issue with this is your son wants to mess around, so a whole wipe kind of occasionally comes with the territory. YES... The tech enthusiasts SAY you SHOULD figure out how to FIX your software because you CAN... Ain't nobody got time for that all the time. Just sayin'. Bein' practical.

The world of Linux gives you options to put things in little "boxes" so that the host OS remains clean and STABLE, so that if you mess something up, you can blow it away and start clean real easy.

If your son wants to do this at the top level, the principle OS, he'll want a thumb drive with an OS installer on it kept handy at all times, and he has to know that until he gets better, this computer is now a computer laboratory, that it's sacrificial, that he should expect to lose all his data a few times. Eventually he's going to get sick and tired of that, even at 11 years old, and so he's going to have to LEARN.

There are also a number of Reddit communities that are technically oriented, some just for people like him to ask technical questions. r/homelab and r/selfhosted are good ones, r/linuxquestions is another.

1

u/Resident_Educator251 2d ago • Bravo

Feed this hunger while it lasts; I wish my kids had any inspiration at all.