Swamp’s experience installing Gentoo Linux on a Compaq Presario 1800 Laptop (Model: 18XL580)
The situation: I had an old Presario 1800 laptop sitting around, unused because after 3 service packs and 4 million patches on top of natural winrot Windows 2000 ran like a stuck pig with the clap.
The remedy: Linux.
Although I have a good deal of experience with Linux on desktop and server platforms I have never bothered to put it on a laptop. No time like the present right? Plus I can look cool in airport terminals running Enlightenment with some fractal generators and TOP running in a console for no apparent reason except to be doing something far beyond the comprehension of the average laptop owner’s limited experience. …also to be a bit pretentious.
The Laptop
Specifications for the Presario 18XL580
CPU: 800 MHz Pentium 3 with 256KB L2 cache
BUS: 100 MHz
RAM: 192 MB PC100 Sync DRAM, upgradeable to 320 MB
HD: 20 GB
NIC: Intel 10/100BaseT
DISPLAY: 15.0" TFT Active Matrix XGA display
CDROM: 8X DVD-ROM drive
MODEM: 56K ITU V.90 modem
FLOPPY: 3.5" 1.44 MB
VIDEO: ATI Rage Mobility 128 with 8 MB VRAM • TV-Out (RCA)
PCMCIA: 1 32-bit CardBus
USB: 1 port
..and of course those stupid Compaq Internet Zone buttons.
lspci says:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
It is a modest laptop, now over 4 years old at the time I write this. XP can run on it but the specs cause winrot to sneak up way fast. A solid Linux install should out live the hardware.
Which Linux
If I was to consider time constraints I would have gone for a package based distribution like Suse or Slackware but I am a masochist. I want to get the maximum performance out of the little thing so I considered Linux From Scratch (LFS). I once built a system with LFS and it only took about a month of my free time. After that I had a high level understanding of this whole Linux fiasco and a very customized system. I also had lost a month of my life and swore I would never do it again.
Thus the glory that is Gentoo Linux was the winner. Gentoo also has you compile the whole system from source code but it gives you a mess of pre-made scripts that more or less automate the process. Combined with their Portage system of updates it rocks your whole family. Again, it is not the fastest way to get Linux on there but, if you have the time, it makes for one nice custom system that has almost infinite upgrade potential.
The first step
I started by downloading and burning a Gentoo 2005.1 LiveCD (Minimal), which is about 60 MB in size. After booting up from the CD I was presented with a happy little Gentoo prompt.
Now what.
Gentoo’s strong point is the documentation. Gentoo is not so much a distribution as it is a community that writes the ebuild scripts (for automating the compilation of source code) and the documentation. So I just went trough the x86 install instructions on Gentoo’s site. Since that is already documented there I have no reason to reprint it here. Instead I will tell you what my problems where and how I solved them.
I am a god!
No I am not and neither are you. If you get everything to work, drivers and all, by one quick read and execution of the Gentoo install instructions you are damned lucky or on you 10 th install or both.
I started from a stage 1 install, because I am a masochist remember, so I could tweak everything from the start. Starting at a stage one install meant I would need to install most of the source code from the internet. I could have tried and configured my wireless card (an old Orinoco Gold 802.11b card) to do this but soon realized that I could just plug in a cable to the NIC and not frustrate myself from the beginning.
I did the bootstrapping and partitioning and all that with little trouble. Just read the instructions.
I went for this minimal partioning:
/boot 128 MB ext2
swap 512 MB
/ All the rest reiserfs
My first real problem came from my desire to have a cool boot console look. When you boot from the LiveCD (or Knoppix) you are presented with a high-resolution colorful console with Tux images and pizzazz. This is because the kernel is compiled with frame buffer support. In a perfect would that is not a problem. Whoever my world is not perfect. The compile went fine. I setup grub as my bootloader and rebooted. The kernel launched and I got a prompt. Woot! All is well.
Next to setup X11 so I can do cool flashy stuff. I read through all of the X.org documentation at Gentoo.org and compile it. I then run all 3 configurator tools and all fail to provide a workable xorg.conf. The problem was 2 fold. Firstly the touchpad mouse was not detected and setup. I final got it working with the following xorg.conf settings:
XXXXXXXXXXXXXXXX
X
XXXXXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXXXXXX
Now X would boot. Yeah!! ..but if looks all funky. Boooo! I played around editing xorg.conf in nano for an hour till I was crying. It was a manly cry like for a fallen comrade in combat. Long story short I had to recompile the kernel without frame buffer support. I did that and X worked. Woopie!
Now don’t be scared of re-compiling the kernel. It really isn’t the hard and takes about 15 minutes on my P3 800. I have now memorized the commands. My kernel is a 2.6 version. The 2.4 commands are a little different.. but why live in the past?
For 2.6:
cd /usr/src/linux
make clean
make menuconfig
make && make modules_install
cp arch/i386/boot/bzImage /boot/Swamp-rocks-kernel-2.6.13-r3
Of course call your kernel what ever you want but do not forget to update your grub.conf.
UPDATE: I was being a dumb ass and was trying to build my own ebuild scripts along with installing some cvs only builds and hosed the system a bit. It worked but I killed X. I know I could have spent the time and fixed it but I was lazy.
I tried a Suse 10 install but the kernel was too robust for my squeaky old laptop to run at an acceptable speed. Next I tried Ubuntu and it was great, very smooth install and ease of use. I even did a whole version upgrade after a month and it required very little mentalness. Ubuntu however has a limited number of available packages plus it made me feel a little pedestrian so back to Gentoo I went.
Holy crap! A gui install interface was added to 2006.0. Rock on little penguin! It cut the install time in half. At least the configuration part of the ordeal. It made for an even groovier system after compile time (3 days).
X.org configuration was a lot better this time around. Here is my final X.org config:
XXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXX
I did however have a bit of trouble getting opengl running. glxgears was only doing 100 fps. DRI support was always pooping out. I had to compile the testing version of x11-drm and all started to work. glxgears jumped up to 500 fps after that. Now I can run Freespace 2. Welcome to gaming 1998 style!