Find the answer to your Linux question:
Results 1 to 5 of 5
Over the past few months I have been messing around with gnu/linux and other f/oss software. In that short amount of time I have become extremely interested in the community ...
  1. #1
    Linux User ImNeat's Avatar
    Join Date
    Feb 2006
    Location
    N. America
    Posts
    392

    Creating a distro

    Over the past few months I have been messing around with gnu/linux and other f/oss software. In that short amount of time I have become extremely interested in the community and the philosophy behind much of the movement. While I realize reasons for using this software varies greatly from person to person - and many people won't like that I call it a 'movement' - the general concept as a whole has really captured me.
    This has really gotten me wondering how distributions, mainly successful distributions, are created.

    To someone like me, with little knowledge of software, a distro is pretty much the linux kernel with a chosen default wm and custom package manager. What really goes into the creation of a distribution? What are some of the key elements of a distribution? Has anyone ever personally helped develop a distro/program?

    I know practically nothing about programming or coding - but I would like to hear everyone elses ideas/opinions on the topic, and maybe get some answers to questions I havn't even thought of yet.
    10" Sony Vaio SRX99P 850MHz P3-M 256MB RAM 20GB HD : ArchLinux
    14" Dell Inspiron 1420N 2GHz Core2Duo 2GB RAM 160GB HD : Xubuntu

  2. #2
    Linux Enthusiast carlosponti's Avatar
    Join Date
    Dec 2004
    Location
    Oklahoma
    Posts
    560
    what i can tell you is to look at "linux from scratch" its a distro that you build like you would build your own distro. you start with a kernel etc and put together the software. i would stay away from building your own distro but if you want to learn the dynamics of distro compilation linux from scratch is for you. Once you learn i would say contribute to your favorite distro.

    http://www.linuxfromscratch.org/
    Blog
    Registered Linux user 396557

  3. #3
    Linux User Kojak's Avatar
    Join Date
    Apr 2006
    Posts
    421
    Well, I can tell you a bit about distro-creation.

    First and foremost, you need to have an idea what the distro should be about. Latest and greatest? Fork or built from scratch? Newcomer or geekdistro? Which apps to install by default?

    When some of those things are answered, you usually have an online build-server. You grab the sources from apps and compile them e.g. to a kernel that you compiled with your own flags, your own archictecture (e.g. i586). Once the kernel is built from scratch, you start compiling all other apps against it with your distro-specific flags. Once there is a certain number pf packages for a running base-system ready, you usually create a first test iso, in order to see if the base system runs or not. Of course, you will need an installer. This is the most tricky part as there is a lot of scripting and/or tweaking that needs to be done. Some installers, like Anaconda are only compatible with certain base-layout = distros that have a similar layout to Fedora. If Anaconda proves to not be the solution, then you can try if other installers might be compatible with your system-layout. If nothings helps, you will need to create your own installer (with the graphics, too). This can be a text-based script or a graphical installer, depending on what you prefer. Once the installer works together with the base system, all other applications will be built through the build-server. Then, after certain intervalls, you will create new isos, until you have a basic iso with your basic DE that works. Then the bugfixing part begins and you figure out the details, e.g. how the desktop will look like. Only when you have a reasonably stable system, you announce the first Release Candidates. Those will rely on feedback of the community for further bugfixing. When all important problems are fixed, you declare a final release.

    Oh, and you have to make sure that the communication with other developers of the distro is top-notch. Usually, there are mailing lists and e.g. IRC meetings for discussing the agendas. Some distros also have groupware software or wikis for managing the different projects and keeping the roadmap up to date. And then, there must be someone who organizes everything. It is usually best to have one CEO, organizing the work of the kernel/base system team, grapic-designers, beta-testers and other packagers and whoever else is included in the distro-devel process.

    I hope you get a rough idea of what it looks like. Creating a distro with a small team will last as long as necessary. If your devel-crew is quite large (above 30 persons involved) you can usually manage to create sheduled releases (every one year or six months e.g.).
    Windows free since 2002 | computing since 1984

  4. #4
    Linux User ImNeat's Avatar
    Join Date
    Feb 2006
    Location
    N. America
    Posts
    392
    Quote Originally Posted by Kojak
    Well, I can tell you a bit about distro-creation.
    Response much appreciated, you answered most of my questions. That's all pretty amazing. I'm not looking to create my own distro - but I'd like to financially back one someday. What is generally the incentive for most developers, artists etc? Simply having a great time making the product - or donations? I see where say, linspire, gets some drive. But what about the people who created arch my love?

    How about big-time kernel development like Linus and the others. Where's their money coming from? Do they have solid financial backing?
    10" Sony Vaio SRX99P 850MHz P3-M 256MB RAM 20GB HD : ArchLinux
    14" Dell Inspiron 1420N 2GHz Core2Duo 2GB RAM 160GB HD : Xubuntu

  5. #5
    Linux User Kojak's Avatar
    Join Date
    Apr 2006
    Posts
    421
    Most guys that do not work on e.g. Red Hat or SUSE or Mandriva or Linspire do their work in their spare time, in order to experiment, have a great time, give something back to the community or whatever. They usually have a paid job (some as programmers, some as anything else) that allows them to put some money into the projects. The biggest cost-factor is the domain with the servers and the bandwidth you have to pay. A medium-sized Linux project usually has something around 10 Terrabytes of bandwidth usage per year. Many of those costs are covered by sponsors/advertisement, but sometimes you have to pay for it yourself. It is very different with every distro.

    If you are interested in developing a distro, I suggest you test some of the smaller projects and ask if you can help to contribute to it. When working on small distros, you aren't all that lost at the beginning and learn quite fast how things are done. Big projects like Fedora and Debian are imho not the best "first step" to take into the Linux-developing world, as the team structure is very large and you will need a longer time to get to know the whole project without any prior experience. But a general rule of thumb is: Simply ask. Most times, you will get a very positive reply.
    Windows free since 2002 | computing since 1984

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •