Linux Installation Story
Posted: February 28th, 2004 | Author: khosrow | Tags: linux, opensource | No Comments »I have been using GNU/Linux since 2000, and have tried to educate myself on the operating system and the programs usually distributed with it as much as possible. I’ve slowly grown fond of it, and at times have become somewhat of a zealot!
At some points I have had to ask myself whether it made sense to use Linux as a primary operating system. After all, I could just do what most other students do, and keep a dual boot system – with Windows as the first option.
This past month, the motherboard on my computer died and gave me an excuse to reformat my computer while fixing this small problem. My experiences in doing yet another Linux install – this time after almost a year – made me think about some issues I had with this Operating System, that I will try to convery here.
The Beginning
I started my linux career with a popular distribution : RedHat Linux. At the time I had a very old computer that could not even work with Windows95. This first experience, I must say, was very pleasant. There was very little work that I needed to do to get the system up and running. My Unix knowledge at the time was minimal and I knew nothing of Linux, but I managed to get the system working. Initial problems with the Xserver were quickly solved and I even managed to get Samba working.
So, I was impressed. Not only was the source code freely available, but I could also get it working on my outdated computer and get a very good performance out of it.
I continued using Linux with good results, and after a computer upgrade a while later, I upgraded the system twice with the newer versions of RedHat Linux. I was getting quite good at the install and I ran into virtually no problems.
By this time I had noticed a few things that were not exactly to my liking. First, I did not like the frequent and ambiguous dependancy problems that came up every time I tried to install an RPM that I would get from some developer’s website. I really liked the ease of use when it came to installing, but since I had a habit of downloading different applications that required obscure dependancies, I was constantly trying to find out what different error messages meant.
libmysql.so.1 not found. And other such messages that did not say what packages I needed but what libraries I was
missing…. not much help.
I did like the update tool that was introduced in RH7.3 (if I’m not mistaken). This helped me stay on top of the newer versions of packages and newly available ones.
I decided to move to a more “hacker friendly” distribution. Debian GNU/Linux was a recommendation of many people due to its good package management tool and updating service. I tried their latest release but at that time kernel 2.4 of linux as out, and KDE 3.0 was out… I wasn’t patient enough and so I tried a different distro. I had heard of Slackware Linux , and decided to give it a try.
This time, the installation was more subtle. A more in-depth knowledge of the filesystem, the kernel options, and at some
points the individual packages were required. After two tries I had it going. No GUI yet! I tried to what I was used to
under RedHat, which didn’t work. After consulting a few websites, I managed to get X going with a good resolution. What’s
more is that I had version 4.3 and so my machine was now ready for eye-candy work.
I noticed that this distro didn’t have any package management and updating system. It did offer an RPM tool, but I preferred the .tgz packaged used, or I compiled my own apps. Unfortunately my system slowly became out of date with the current packages offered by Slackware team.
The Problem
I enjoyed the experience with Slackware. I was able to get the best out of my machine and I was prepared to keep the system going for a while. Things started to not work after I did an upgrade to the kernel. I realize this was due to my lack of
knowledge, but I was too busy to read detailed documentation and fix everything. (This included my ide cd-writer)
A hardware malfunction caused me to buy a new motherboard and I ended up having to reconfigure my computer.
This time when things didn’t work I decided to try my hand at another Linux distro.
Another interesting distro that had been quite popular recently was Gentoo Linux. This time, I had done my homework. I had read about different operating systems and how they attempt to keep the user up-to-date with the most recent (and stable) code. I had seen Windows do it with some success. I had read an article about BSD and how it maintains its ports tree. Gentoo seemed to be doing a similar thing. And I was ready to try it out, plus the new version of KDE was out and I was ready!
The Installation
With my past experience in installing different Linuxes and a full
backup of my harddrive, I went ahead. The LiveCD booted nicely, and got me into command line. There were instructions on the screen for beginning the process. The thing that I really liked about the LiveCD was that it detected everything automatically, and I had a working computer right there. I had internet access, I could use my cd drives and all other stuff. I even had multiple login shells! I went ahead with the initializing the disk to start the process.
But, I had to repartition since Gentoo recommended (or maybe it required) me to have a separate partition for /boot
. I went ahead and followed the instructions on exactly. I should point out that I was looking at the file available on the boot cdrom.
As much as I had liked the auto detection and the framebuffered look, I didn’t like not having a setup program guide me through the steps. That didn’t bother me too much though. I consider myself somewhat knowledgeable when it came to command line, and I went ahead. The instructions were very clear and concise. I copied the required files, setup my filesystem.
And did everything that lead up to the most important part. Here is where I ran into many problems.
I listened to the advice of the manual and installed a GRP. Which is their version of a “newbie” installation. I did everything correctly, and tried to download the linux kernel from one of their mirrors. The first try was unsuccessful. I ran their commands serveral times, and I was met with a lot of
FILE NOT FOUND!
errors on the different mirrors. Thinking that I had made a mistake, I started the installation from scratch. And this time, I loaded up the instructions from their website. The x86 Installation Guide, seemed to be more appropriate for me, so I followed it. Once again, the setup leading to acquiring and installing the kernel went very well. After 2 more unsuccessful tries to get “genkernel” (which I assume stands for generic kernel) I was turned down. I decided to stay with the installation and try to compile the kernel myself. This being my second time compiling a kernel, I was familiar with what to do. So I went ahead and compiled. This took a long time. A very long time. And it was more because I chose to install software that enabled full 3D acceleration support of my card, and would have tweaked my computer to its full potential!
I let the compile run over night and in the morning I was ready to enjoy my stream lined system. As is the case with me and all things involving me, it didn’t work! I had not setup etc/fstab
properly. There was no documentation on fixing my problem. (For those interested, I installed ReiserFS support, but something was wrong in my fstab
). On top of that I still had to read the manual to learn how to install other non-essential packages, such as KDE or Mozilla or other XWindows applications. A little frustrated and angry, I chose to redo everything. This time I selected a different installation method,
that would give me more control. This time, I was able to get genkernel. I prepared everything according to the manual. And again, after all was done, I was left in the same situation. A non-working file system…..
I was furious.
And I needed to have my computer working soon. It had taken 2 days to install Gentoo and the end result was a formatted harddrive and an angry me! So, I went with a more tried and tested method. I decided to install Slackware 9.1. Now, this was something I could do in a few hours and get all the new fancy applications as well. I started the install, but the one thing that bothered me is that I had to repartition. The /boot
partition created for Gentoo was useless here, and it was too small to be kept by itself. A quick fix up and I was on my way. For those who haven’t used this distro, Slackware has a minimal setup program. It will do some of the tasks for you, but you still need to be there for some configurations. There’s no click.. click.. click.. done.
Everything went smooth. All packaged installed correctly, and I was ready to finish up. Here I ran into a big problem.
LILO could not be installed, and I had to use a boot disk. This was unacceptable. I tried installing LILO several times.
All to no avail. After an hour of reading online help, and trying my hand at installing LILO, I decided to try one small thing :
leave out the unformatted partition made for Windows (not yet installed)
This seemed to do the trick and I’ve been using my 2.4.24 kernel with KDE 3.2 happily since!
The Ranting
I’ve had my “linux zealot” moments every now and then. But this experience hammered home a few points about Linux that I had been noticing. Although many different distributions are good way to bring variety and many options to users, lack of rigid standards can be a headache. I realize that my choices of distribution were mostly responsible for that, and slackware is a somewhat different release than other Linuxes out there, but I don’t see why I had to repartition my hard drive a different way for each distro. I also don’t like having to install different boot loaders. Gentoo comes with both GRUB and LILO. I installed GRUB, but once I installed slackware, I also had to erase GRUB and install LILO. This is very inconsistent and painful.
And the most frustrating point that I noticed about linux is it’s unfriendliness during install. Yet again, I understand that
RedHat, Mandrake and others have very nice interfaces. But the option is not there for someone who wants control and customization as well as an easy and pain-free installation. If I had opted for RedHat, I would have lost control on many aspects of the installation. But because I chose otherwise, I was doomed to suffer. Reading endless pages of manuals only to end up going back to something I’m already familiar with is not helpful or encouraging. I was impressed by
portage tree even during the setup. But to get to use it, I had to go through hell.
I know many of the purists and “1337 h4x0rz” will say I’m a whimp. But the way I see it, a modern operating system should require minimum user input during installation. After all, most of us use our computers as all purpose tools.
This means, I don’t have to tell it to start installing from sector 0x0FF0000000 …. it should just know.
I shouldn’t have to be bothered to know if my computer wants videos card support or modem support.
And most important of all, if the current OS can detect the mouse, and the graphics card, why not take advantage of them in doing the installation, so the use doesn’t have to type commands into the console, and have to know the logical device names!
I thought computers were there to automate things!