Continued Adventures in Distro Remixing
I've been making a personal Fedora remix for a while now... since Fedora 10. While that might sound hard, thanks to Fedora's livecd-tools package and their livecd-creator script, it is really quite easy. I even made a screencast about it. I recently started making a remix of Scientific Linux 6.0 and wanted to share.
As you may recall, I prefer Fedora on my personal desktops but on servers I prefer Red Hat Enterprise Linux or a RHEL clone. There are actually a few clones to pick from and I've been using CentOS for a number of years. One thing I like about CentOS is that one of its goals is to stay as true to RHEL as possible by attempting to be 100% binary compatible with it, bugs and all. Unfortunately the CentOS developers have gotten somewhat backlogged with the onslaught of RHEL releases over the last few months (6.0, 5.6, and 4.9) and have taken a lot of criticism for release delays as well as falling behind on security updates in the process.
Trying out Clone #2
CentOS is definitely the most widely used RHEL clone with an estimated 6 million users who are eagerly awaiting the releases of CentOS 6.0 and 5.6. I can't really fault the CentOS developers for the delays because they are a completely volunteer organization and do development in their spare time.
Another popular RHEL clone is Scientific Linux (SL) which is put together by a small number (two or three?) of developers who are paid to work on it by Fermi National Accelerator Laboratory and the European Organization for Nuclear Research (CERN). SL's main goal is to produce an enterprise grade Linux distribution to meet the needs of scientists and people working with scientific data. SL strays a bit from the stock RHEL package set by adding some additional science related software including some changes to a few core packages to accommodate additional filesystems (reiserfs and AFS). SL is also known for its additional "tweak" packages that are designed to easily change some of the application default configurations.
The primary reason I had previously avoided SL was because I really did not want to deal with their changes and additions to RHEL. Now I'm giving it a try. What has changed? SL has a fairly public development process. For example, they came out with several alpha and beta releases of SL 6.0 before releasing the final version on March 3. They have adopted several of the Fedora developer tools and have given many public presentations about their development process.
While reading about SL I discovered that with their 6.0 release they have switched to Fedora's livecd-creator for producing their Live media. They have also released the kickstart files they used to build their live media and have quite a bit of documentation including a Create your own SL6 LiveCD page. While CentOS does offer live media, they don't use livecd-creator... and their live media does NOT offer an install option. I certainly hope that changes for CentOS 6.0.
Another thing I learned was that as a result of feedback from their userbase, the SL developers have decided to drop their "tweak" packages with 6.0... at least initially... although they may offer them as an option later for those that want them.
Why Make a Remix?
There certainly are a lot of Linux distributions. Just check LWN's distributions page or DistroWatch to see what I mean. It seems that a week doesn't go by without a few new distro announcements. I really do not want to create new distributions. I just want to create a few personal remixes of my favorite distributions. Doing so, despite it requiring some effort and being somewhat time consuming, has a few advantages.
- I can add the distro packages I want
- I can remove some of the distro packages I don't want
- I can add some third-party software if desired
- I can produce fresh media with updates already applied
- I can tweak some settings if desired including branding imagery
- I can learn from the experience and have fun
I really don't have any desire to create any new public distros. My remixing is primarily for my own use and I haven't done any significant development where I could call it a different distro. I tend to do a lot of installs and having up-to-date media with the software I want added really saves me time getting new systems up and going.
Building my own SL LiveDVD Remix
Looking at the SL 6.0 LiveDVD release, the packages it contains, and the kickstart files used to create it... I decided there were a few things I didn't like that I would like to change by creating my own remix. What things?
- The SL 6.0 LiveDVD is too big. Weighing in at 2.2 GB, it won't fit on a 2 GB USB thumb drive for my preferred LiveUSB installs
- It includes a lot of software I don't use in most cases
- It includes packages from some third-party repos and I would prefer reduced dependency on those
- GNOME is the default desktop environment but I prefer KDE
- There have been quite a few updates since SL's media was produced
I'm not really going to give a blow-by-blow of the complete process since I've already covered most of the information in previous blog postings and a screencast. Both Fedora and Scientific Linux have reasonable documentation on the subject as well. If anyone has any questions regarding the process, feel free to ask by leaving a comment to this blog posting and I'll try my best to answer or point you in the right direction.
I began the process by making a local mirror of the SL 6.0 release including their updates. That took a while and about 38 GB of disk space for both the i386 and x86_64 arches... including all of their .iso images. I didn't have to create a local mirror but it will save me a lot of download time during the remix build process... especially since I plan on doing it periodically as additional updates are released. I have rebuilt my Fedora 14 remix 56 times so far.
Then I created two SL 6.0 KVM virtual machines on my Fedora 14 x86_64 workstation using the SL 6.0 LiveDVD .iso... one for 32-bit and the other for 64-bit. I got the environments setup, and studied their kickstart files. I borrowed bits and pieces from the Fedora 14 KDE spin kickstart files. I built a few remixes and tested them out in my VMs... and I repeated the process until I was happy. There are a few more changes I will be making over time but so far, I'm fairly happy with the results.
Possible Future Remixes
I'm a long-time active member of the OpenVZ community and I hope to make an SL 6.0 remix that can function as an OpenVZ LiveDVD as well as install media. I would definitely get rid of most of the desktop oriented packages, install the OpenVZ kernel and userspace utilities... as well as include current releases of the most popular distro OS Templates. I see a real need for this... and I just have to find time to do it.
With the current remix kickstarts I'm using I have a very reasonable desktop system mainly because that is what I started with using the stock SL 6.0 kickstarts. On most servers I do not want desktop environments and applications so one other remix I'm considering is geared more towards use on servers. The live media is just so easy to test hardware compatibility with and very quick to install when compared to the "install only" media so a LiveDVD or CD geared for server installs sounds good to me.
If anyone wants a copy of any of my personal remixes or kickstart files, feel free to email me.