How to roll your own linux distro

DIY: Do It Yourself. That’s how Linux got started. A group of volunteers, inspired and led by Linus Torvalds, created the greatest DIY operating system the world has ever seen. You, too, can create your own Linux distribution. Here’s how.

It sounds daunting, and there’s a lot that’s definitely not for beginners. But in terms of what you can learn along the way and what you end up with, it’s on a par with building your own PC from scratch. Granted, as with building a PC from scratch, there are still plenty of reasons to buy something off the shelf — or to grab an existing distribution and simply use that. That said, there are a few solid rationales for rolling your own distro:

For education. Sometimes the best way to get to know something is just to stick your hands under the hood and get ’em dirty — with a little guidance, of course. There’s no guarantee that you’ll get to know everything, but you will gain a fearlessness about the process of learning and a sense of where to go to get answers about something (and how to get those answers) that you may not get by simply installing a populist’s distribution and getting quotidian work done.

For specific problem-solving or filling a gap. If there’s some oddball hardware configuration that you want to work with, for instance, you can create a customization of a given distribution to work well with that hardware. This might be something as simple as adding kernel-level support for a given device, or something more elaborate. Or maybe you want to create a distribution that fills a very specific need. (A while back, I wrote about Hikarunix, a sadly-now-discontinued distribution devoted to Go players; it doesn’t get more specialized than that.)

For fun. I call this the “why not?” rule. Linux exists to be tinkered with, so tinker with it, and have a blast. Obviously you won’t want to trust any production data to a system you’re doing such work with, but that’s no reason you can’t have fun with it. And if something gets messed up, you can always wipe the slate clean and start over. (After all, you’re not doing any of this in a production environment, right?)

Links:  http://embedded.com/columns/technicalinsights/205918715

Leave a comment