Commentary

Serdar Yegulalp
 

My Own Linux Distro: The Beginning

Here's a project I've been thinking about for a good long time, and which I've finally decided to get under way in public: I'd like to try and build my own custom Linux distribution.

Here's a project I've been thinking about for a good long time, and which I've finally decided to get under way in public: I'd like to try and build my own custom Linux distribution.


More Software Insights

White Papers

More >>

Reports

More >>

Webcasts

More >>

There's a whole slew of reasons I want to do this.  Obviously, I'd like to learn more about Linux from the inside out, which is never a bad thing.  I also want to get a flavor for the issues involved in working with Linux on that level -- why certain decisions are made about things, what the consequences are for making such decisions, and so on.  And finally, it sounds like a heck of a lot of fun -- the kind of tinkering that I could really sink my teeth into.

The first thing I want to nail down are the design goals for this distribution:

1. Lightweight.  I don't want to build anything huge -- just something that can boot from a CD or flash drive, run a few basic commonly used applications, and be able to save the user's settings persistently.  This isn't the same thing as trying to figure out how to cram the most applications into the smallest space.  Installing to a hard drive also is optional at this point, but I'd like to have that if I can.

2. Logical.  After reading about the GoboLinux directory structure, for instance, I thought I might try and implement something similar myself.  The existing nest of directories in Linux always seemed terribly counterintuitive and I wanted to take a step away from that if I could.

3. Useful.  The more real work I can get done with the distribution when I'm finished with it, the better.  This means I'll be adding in builds of applications like Firefox, Thunderbird, OpenOffice, etc., as I move along.

4. Well-behaved.  I'd like to try and make sure that this distribution plays nicely with things like ACPI, at least on the machines I run it on myself.  I don't plan to run using terribly exotic hardware, so a number of things (like PC Card support) can probably be omitted entirely from the kernel, and thus I can probably pare down some of the complexity that might come from trying to run everywhere.

5. Public.  Meaning that each step I take is going to be documented here -- not just when things go wrong (as I'm sure they will at some point), but when things go right, and why.

Obviously one of the first resources I plan to make use of is Linux from Scratch, with its instructions for assembling and building a distribution from the ground up, and Gentoo Linux, the other major wellspring for Linux do-it-yourselfers.  I doubt I'll use Gentoo except maybe in a compare-and-contrast sort of way -- at a glance, LFS's materials seem much easier to wrap my mind around.

Again, at first, I won't be doing more than gathering information and soliciting feedback at first, and discussing my rationalizations for specific choices as I go -- but that part alone ought to be enough to keep me busy for a while.  Wish me luck.


Related Reading




Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

InformationWeek encourages readers to engage in spirited, healthy debate, including taking us to task. However, InformationWeek moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing/SPAM. InformationWeek further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
T-Shirt Giveaway T-Shirt Giveaway: Each week we're selecting one great comment from our readers. The author of the comment will receive an InformaitonWeek Community t-shirt. So get posting!
Subscribe to RSS

Resource Links