Open Source Software vs. Commercial Software:
Migration from Windows to Linux
An IT Professional's Testimonial
Migration Experiment
The last time I used Linux and tried to migrate from Windows, was with Red Hat 7.1 in 2002. My experience was OK, but at the time I had a couple of hardware devices that were not supported, and I just couldn't get everything up and running to match my Windows systems. However after installing Fedora 8 I was pleasantly surprised that I could now overcome the hurdles I had before. I was able to get almost everything working right out of the box. I have to take my hat of to the many people that have formed the Linux kernel (the heart of Linux) into what it is today. The kernel supports just about any device you can imagine right out of the box. So, on to the details of this journey.
So, now that I had decided to scrap Windows and install Fedora 8, I knew I would have some obstacles to overcome. Mainly, I would have to get this PC up and running, and be able to retain the same functionality that I had with Windows. So I started with the base install of Fedora 8. My version of a base install includes a "Custom" install and I usually add the server options like "Web Server", "Mail Server", etc. Incase I ever need an experimental machine to do some testing, it's nice to have these items already installed and inactive, rather than having to install them later. These packages are all very small, so they hardly take up any space. Most of the space hogs are the bigger programs like OpenOffice, and other Development libraries that some people probably don't need. The topic of what software to install is a subject for another day, as there is so much software included with Fedora 8 it would be impossible to list the options here.
During the process of migrating away from Windows XP and over to Fedora, I documented the steps that I needed to take, incase I decided to migrate another PC at some point. The instructions below cover Fedora 8-10, and possibly newer. I will post them below as I feel that others can benefit. Some items did not work right out of the box, and I had to do some research and combine suggestions from multiple sources. Therefore, I have compiled together everything that worked for me. The open source community has already given us so much, the least I can do is provide my notes on migrating to Fedora to help others make the migration as well. I figured if I have done the legwork and research, that I should share and hopefully avoid others from having to go through all of the same repetitive work.
After I got the base Fedora installation up, everything worked for the most part, but I needed to do some tweaking. This is to be expected with any operating system, it's impossible for the operating system installation to know exactly how you want it set up. And on newer computers, some new hardware will not be supported yet. This is just a fact and will always be. The authors of the operating system are always behind the creators of the hardware. This is the case for Windows and Linux alike. In Windows, you just contact the vendor or manufacturer of your hardware to get a driver. In Linux, you have to rely on the driver or support to be written from scratch. This sounds like a big problem, but remember that you have many thousands of talented developers all over the world contributing to Linux. And, if there is currently no support for your hardware, chances are there will be soon. Those that contribute to the Linux kernel (this is the main heart of Linux that everything relies on), are very good at writing the code to work with just about any hardware you can imagine. The Linux kernel is one of the most amazing things about Linux. It is completely written with a modular design in mind, with enough code to get you up and running, with the ability to insert modules (or code) on the fly and immediately activate hardware, and never with a reboot. Users of Windows are very familiar with rebooting the computer, but with Linux rebooting is very seldom needed (most cases rebooting is done as it is easier than stopping and starting system services, but this is pretty rare).
In my case, I even had a couple of items that didn't work so well in Windows, like my Microsoft Sidewinder gamepads. Yes, a Microsoft hardware product that didn't work well with their own operating system (I had issues where the joysticks would intermittently stop working correctly and after troubleshooting sound card drivers and DirectX drivers, I eventually gave up because I could not reliably get them working with Windows XP, they only worked reliably in Windows 95 and 98). I found that somebody had written a module for the Linux kernel for the Sidewinder gamepads and they have worked flawlessly on the exact same hardware that I had Windows running on before. I got a little lucky as my PC is a dual-processor Intel Pentium III, and I don't have any devices newer than about 2 years old. So, everything that I was able to throw at it just plain worked.
My format of this article is to list the challenges that I faced when migrating from Windows XP to Fedora, and how I was able to solve them. Your mileage may vary, but I am providing them here for at least a good start, if not a full solution for you as well.
Getting Fedora Linux
First, you need to download Fedora. I like it on DVD as it's all on one disc that way. But, there should also be a link for downloading on CDs as well. Visit: http://www.fedoraproject.org, and click on "Get Fedora". On the following page, click on "Show me all download options in one page!". Under "Install Media", select the DVD, or the CD files.
After your downloads are complete, I HIGHLY recommend verifying them. If not, you risk getting many installation problems. To verify the downloads, download the file SHA1SUM that is located in the same folder as the ISO images that you downloaded. If you have Linux, simply run the "sha1sum" utility and give it the name of your ISO file. This will generate a key number. Open the SHA1SUM file you downloaded, and make sure the key numbers match exactly. If you are downloading the ISO files on a Windows system, you must download the "sha1sum" utility. The "sha1sum" utility is not included with the Windows operating system like it is with Linux, so simply doing a Google search should locate a copy of it for you to download.
If an ISO file is corrupted and the two key numbers above do not match, don't worry. Luckily, there are tools available to repair the files, rather than downloading them all over again. Unfortunately though, I only know of a way to do this on a Linux machine. Windows doesn't have any built-in utilities for doing this. In my example, I use the "rsync" program on a Linux computer to repair a broken ISO file. It is possible to get rsync running on Windows. One of the easiest versions to get and install is called "cwrsync". You can get cwrsync here: http://www.itefix.no/i2/node/10650. I have not verified it on Windows but I am assuming the steps are similar.
So, to repair a broken ISO file, first you need to find a Fedora mirror that supports rsync connections. The list of Fedora mirrors can be found here: http://mirrors.fedoraproject.org/publiclist/. Look at the "Content" column and find a Fedora mirror that supports rsync (like mirrors.us.kernel.org/). Next, run the following command to let rsync do a compare and fix the file. You must give it the full path of where the good file is located at the mirror site, and the folder path where the local file is contained, for example:
rsync -av rsync://mirrors.us.kernel.org/fedora/releases/10/Fedora/i386/iso/Fedora-10-i386- DVD.iso ~/temp/fedora10/
This example would repair the file "Fedora-10-i386-DVD.iso", stored on your computer in the folder: ~/temp/fedora10/. After running this, you will get a lot of disk IO as rsync scans the local file and looks for changes, etc. But, rsync is an amazing program, and soon find out which pieces of the file are corrupt and/or missing, and will only need to download the pieces needed.
Performing The Installation of Fedora
Also, I have purposely not delved into detail on installing Fedora, as there is already thorough documentation out there on this. Here is a link to the official Fedora 10 installation guide, the latest version at the time of this writing, sponsored by Red Hat. It is quite long winded, but it has every detail needed to help get you up and running. So grab a cup of coffee, a hot chocolate, or your favorite drink and enjoy the installation.
Installation Tips
A few notes on the installation that I would like to point out, that may come in useful:
First, I have always been a big fan of the XFS filesystem. But what is the XFS filesystem? I won't get into too much detail on filesystems, but in short it is a very stable, fast, and flexible filesystem that can be used in Linux. A few of the most notable features are its speed, and the fact that it is a journaling filesystem (meaning that it keeps a journal of read/write operations to ensure no data is lost), and is very efficient at storing either very large files or series of many small files. The default filesystem that Fedora uses is called "ext3" which is almost as good, however there have been studies that show XFS has some slight advantages. I have used XFS for over 10 years, without a single file corruption problem and I've never needed to defrag it either. It's a "set and forget" filesystem for sure. But, in order to get XFS support when installing Fedora, you must pass the boot loader the "xfs" parameter. This can be done when you get to the first Fedora installation screen when it first boots from the CD. Press Tab for more options, and type in "xfs" and press Enter. This should launch the installer with support for the XFS filesystem. When you get to the point of setting up the hard drive partitions, be sure to select the XFS filesystem instead of the EXT3 filesystem, which is the default.
If you have an anonymous FTP server on your network, you can copy the contents of the DVD over to it, and use a network boot CD to start the installation. This is mostly convenient on machines that do not have a DVD drive. Otherwise, there is really no benefit from this method, other than not having to keep track of the DVD. But, it's not very well documented that you must pass the parameter "askmethod" to the boot loader. This is done just like the above step, press Tab at the first prompt when you boot from the CD and enter in "askmethod" and press enter. If you wish to use this and have XFS support, you would need to pass the parameters as "askmethod xfs" both at the same time, and then press Enter. Later on in the installation, it will ask you for the source, where you can select a network location, and specify it as: ftp://yourftpserver/foldername, where this location holds the contents of the installation DVD.
Post Installation Notes and Fixes of Fedora
So, let's dig in. After installing Fedora, you should now have a working Linux computer that boots up to a command line prompt (the default for most installations). After logging in and running "startx", it goes right in to X Windows and you should see all of your applications that are pre-installed in the menus. If you are not familiar with Fedora, spend some time and dig around, you will find some neat programs and games in there. Also, I highly recommend to read the official Fedora Documentation if you are a new Linux user.
Next Section : Migrating from Windows to Linux: Basic Tweaking
Previous Section: Conclusion, Goodbye Microsoft