Software // Enterprise Applications
News
1/23/2008
09:28 AM
Connect Directly
Google+
Twitter
RSS
E-Mail
50%
50%

How To Roll Your Own Linux Distro

Whether you want to customize Knoppix, respin an existing distribution of the open-source operating system, like Puppy Linux, or are intent on creating your own package from scratch, we'll walk you through the process.

Go with stable over speedy. One of the possibilities you might discover along the way is the possibility of using compiler optimizations to speed things up. This means compiling the source code for your distribution's kernel or tool chain to use instructions implemented on a specific variety of processor, such as the multimedia MMX / SSE / 3Dnow extensions. The bad news is that implementing these optimizations can be a flaky affair, and sometimes you don't find out just how flaky until you've gone fairly far down into the build process. The default compiler flags should work just fine for beginners. As Jim Gifford says in the above-linked document, "The fact that I don't have any problems compiling everything with [a certain instruction set] doesn't mean you won't have any problems either."

Don't eat your own dog food -- yet. The term "eating your own dog food" means using what you create in a quotidian fashion to test how good it is. The roll-your-own-Linux version of this sentiment would be to use the system you've created as your daily, production system. Unless you're working on copies and not original data, this is not the hottest idea on the world. Existing, publicly vetted distributions already have been given a thorough shakedown by the community and are less likely to have showstopper issues. Creating your own distribution comes with far less of an assurance that you'll get a given level of stability or feature completeness. But sometimes running into such walls headlong is a way to learn about them firsthand, if you have the time and inclination for it.

Respin An Existing Distribution

There are three basic ways to roll your own distribution, depending on the scope of what you want to accomplish and the level of technical expertise you have to bring to the project. The first, easiest, and possibly the most immediately useful to most people, is remastering an existing distribution.



(click image for larger view)


Starting a Gentoo installation process with the Gentoo Live CD. The regular command-line version of Gentoo's install CD will work just fine as well, but some people may be more comfortable with a GUI.

View the image gallery.

Remastering, or respinning, involves installing a given distribution, customizing it, and then recompiling the distribution, modifications and all, back into an image file (typically an .ISO). In the last couple of years this approach has become much easier thanks to collections of community-created tools and scripts to automate the process, so it's something that is rapidly becoming a native function for many distributions. If you're just getting your feet wet with Linux and want to try your hand at creating a modified distribution, this is the best place to start.

One of my most personally beloved distributions, Puppy Linux, can be remastered in this fashion in a number of different ways. The most basic way to do this is through the built-in Puppy Simple CD Remaster script, which recompiles everything in the current live file system to a CD. The script will pause and prompt you as it goes along, letting you know when and where to make any changes you'd like to apply -- e.g., adding hardware customizations to the /etc directory. (Tip: Puppy's default file manager (ROX-Filer) lets you explore an .ISO file like a read-only directory, so you can peek manually at the results once you're done.)

Note that if you want to do this with a hard-drive-based install of Puppy, your best bet is to create a "frugal" install of Puppy on the hard drive, make whatever changes you want, and then respin that. The "frugal" install allows Puppy to coexist with other operating systems on the same partition (mainly other Linux installations). It stores the entire contents of the Puppy install as five big files, one of them an image file that represents Puppy's filesystem. This is as opposed to the "full" installation, where Puppy requires a whole partition unto itself and writes out all the files conventionally. The Simple CD Remaster script will not work properly as-is if you have a full installation, although allegedly it can be forced to do so.

The Simple CD Remaster script is probably the best place to get your feet wet, since it gives you some exposure to how all this works in a fairly controlled fashion. A more complicated but technically advanced approach is the third-party HackyRemaster script. This script takes the contents of the Puppy CD or .ISO file, expands it to a working folder (which can be hosted anywhere), and lets you make any changes you like directly to the file system. Once finished, the whole thing can be recompressed and remastered back to an .ISO file.

Previous
2 of 5
Next
Comment  | 
Print  | 
More Insights
Building A Mobile Business Mindset
Building A Mobile Business Mindset
Among 688 respondents, 46% have deployed mobile apps, with an additional 24% planning to in the next year. Soon all apps will look like mobile apps and it's past time for those with no plans to get cracking.
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Tech Digest - August 27, 2014
Who wins in cloud price wars? Short answer: not IT. Enterprises don't want bare-bones IaaS. Providers must focus on support, not undercutting rivals.
Flash Poll
Video
Slideshows
Twitter Feed
InformationWeek Radio
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.