Skip to main content
Welcome guest. | Register | Login | Post

Building Your Own Distro

4 replies [Last post]
supermike's picture
Joined: 2006-02-17

For onlinebacon's sake, and for my curiousity, how does one build their own distro, build a community around it, and grow it?

I've already looked at LFS (Linux from Scratch) but it was pretty aggravating and wasn't like an SDK that you could then redistribute. It just made you an OS and that was it. What if you want to not make your own OS on your own PC, but make your own distro that makes that OS on other PCs?

I guess it comes down to getting the kernel, adding all the modules to it, adding the hardware support, adding the GNU stuff to it that make it Unix-like, throwing on, and then throwing on GTK and GNOME. From there on out, you need to build an apt library somewhere so that people could apt-get their other stuff. But that's the basics.

You'll need an installer and people seem to like graphical installers more than text installers when it comes to Linux, for some reason, these days. Even Ubuntu is learning this.

You'll need something like anaconda for hardware testing and device driver installation.

I think Fedora is a classic example of a sweet graphical installer, easy to use, for an end user to make the OS. You'd have to make something very similar to that. Ubuntu could learn a thing or two from this.

Then comes the community. They need to be very alert and be willing to look at how patches are made in other communities and apply similar concepts to the apps in your own community. In this manner, you can roll out security patches just as fast as the next guy.

Then comes the feedback and the testing, and a vision on where you want to go with this to make it better.

Then comes the split, where people will want one version of the OS for server, another for home workstation, another for power user business workstation, another for LTSP terminal, and still another for locked down business workstation with web browser and no local file support for anyone except admins.

Then comes the extra tools for rolling this out en-masse to a large office, and updating it, remotely. Or being able to roll out customizations and desktop icons, en-masse, upon login.

A shortcut is to go with Debian and build on that, but then that's aggravating because the first hour of the install looks like a Debian install. What if you wanted to do something completely different?

AndrewB's picture
Joined: 2005-12-18

Well the first phase would prob be no more than distutils, and a few other applications. LFS would be the best help, or Gentoo st1. But study carefully.
As for the community. It WILL grow slow, trust me! And you most definetly need to be open to changes from original spec.
As for the generic installers you mention, I stray away from them if possible, so it is more dependant to who you aim it at.
Hard ware detection can be done with kernel, modules, and dmseg etc.
And it will have to be very generic

dylunio's picture
Joined: 2005-12-20

I think the simplest way of going around building a distro is to have a spare partition onto which you install a base system by compiling things agains your hosts compiler. Once you have this base, you can tar it up and let people download it and put it on a spare partition of their own - things such ar package managers and maybe a Gentoo-esque graphical install via live CD can follow.


tbuitenh's picture
Joined: 2005-12-21

Don't do the package manager last, having no package manager means you won't notice when different packages overwrite each others files. You don't need to have the equivalent of apt-get, but you do need something like dpkg.
Usually, using an existing package manager is better than writing your own, because you then can reuse the packages or package buildscripts of other distributions. Of course, if you have special ideas about package management, do write your own.

Rpath's conary seems like an interesting package manager to use, apparently it's quite easy to build rpath-based distros.

libervisco's picture
Joined: 2006-05-04

I agree with Taco. It shouldn't be much of a problem to compile a package manager among all the stuff you'd compile first in a new distro. What dylunio said, you'd first compile the build tools (the toolchain stuff I believe) in a separate partition under your current running system (thus using the current build environment) and then boot into that and recompile it again under itself just in case. Then you go compiling other stuff to it, such as a package manager and the basics you want for your own distro.

That's however only if your distro is being built from scratch using various software components of your choice. Another and probably simpler way is to base it off an existing distro. Some of them already have instructions on making livecd's of your current installation which is a start towards your own distro.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.