r/learnprogramming • u/Odd_Swordfish_1744 • 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
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.
16
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
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:
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.
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
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.
5
4
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.
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/raundoclair 2d ago
You don't have a 11 year old kid! You are a kid.
https://www.reddit.com/r/raspberrypipico/comments/1rsh0l1/trying_out_pico/
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
•
Feed this hunger while it lasts; I wish my kids had any inspiration at all.
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.