Installing Gentoo Linux on an Acer TravelMate 290 laptop

by Aurelien Botman, February 2005
Published on www.botmanfamily.net/~aurelien/articles.

Abstract

This document describes in detail how to install Gentoo Linux on a PC-laptop (model Acer TravelMate TM290LCi), focusing especially on the methods the author used to get the various hardware components to function correctly or at least reasonably. Although it is therefore quite specific to the TM290 model, it is hoped that some parts of this document will be helpful to owners of similar laptops considering installing the Linux operating system.

Table of Contents

  1. Why Linux?
  2. Why Gentoo?
  3. First steps: preparing the laptop
  4. Details of the Acer TM290LCi hardware
  5. Hard disk setup
  6. Gentoo installation
  7. The first reboot - verdict on work remaining
  8. Graphical display environment
  9. Desktop environment
  10. Other software
  11. Remaining hardware
  12. Result - what works and what doesn't
  13. Final notes and further reading

Why Linux?

I wanted to have Linux on my laptop for both personal and practical reasons. The practical reasons are linked to my studies (physics research): I usually write my reports in LaTeX, which is far easier under Linux; I also write quick Perl or C programs for various purposes, which is achieved with minimal effort under Linux. The personal reasons include the brittleness of Windows XP despite being reasonably well looked-after, and the fact that I simply enjoy playing around with Linux systems, rebuilding, tweaking, optimising and re-compiling.

However, I wanted to also keep Windows XP on the laptop (i.e. run what is known as a "dual-boot" system) since under Linux there is still quite poor support for some hardware such as my webcam, and some softwares have no viable equivalents (for example, I use MS Money, and the nearest Linux competitor, gnucash, doesn't even come close to having the same functionality and features).

Setting up such a dual-boot system is risky to say the least, and creates additional problems (where do you keep your "main" set of data and documents, etc). I would strongly advise considering a pure non-dual-boot system; however in my case for the reasons above I decided to go for the dual-boot option.

Why Gentoo?

I had already tried, to various extents, different "flavours" of Linux. What follows is a personal opinion and you should choose the distribution you feel most comfortable with. Of the "level-1" (point'n'click) distributions, I have tried SuSE, RedHat, and Fedora. SuSE I found too brittle for my liking. RedHat was good, but when it changed to Fedora I was deeply unsatisfied with how some things (like sound support) were handled. FC2 also had a dual-boot bug, destroying Windows if it was on the same computer, which luckily I found out before upgrading!

Next I tried a "level-2" (where you have to make extensive use of command-line tools to administer your system) distribution: Debian "sarge". For a while I was very happy with it. When I tried to use packages from the "sid" (unstable) repository to get more up-to-date versions of programs, things got broken really quickly. It all became too messy. So I decided to move on and try another: Gentoo.

Gentoo Linux is a "level-3" distribution, the hardest variety - you have to build/compile your whole system from scratch and source code. There are various advantages to this approach which I will leave you to find out on the Gentoo website, but one of them includes the fact that by building your system in this way you get to learn an enormous amount on how Linux actually works. Which leaves you with a greater understanding of how to fix things if they get broken (which at some point they will), theoretically.

First steps: preparing the laptop

The very first thing to be considered is what to do if, during the installation process, all the data which is currently on the laptop is somehow destroyed. This is a real possibility - a single wrong letter or number input can easily result in tragedy. I not only mean physical data or documents, I also mean things like Windows itself. What if all the data was irrecoverably lost? What if the laptop was basically unusable for hours or even days while the mistake is repaired?

Usually (such as in my case, for example) the answer simply consists of making a complete backup of all the data plus having the Windows original CDs nearby, but sometimes other steps also need to be taken before starting can even be considered.

The next step is deciding what type of Linux is going to be installed and whether the system should be built as a dual-boot or not. In my case I wanted a dual-boot Gentoo/Windows system, but the rest of this document is also generally valid for single-boot and other Linux distributions.

The last step, and one which helps enormously later, is making a list of all the hardware known to be connected to the laptop. By this I mean processor type, amount of physical memory, sound card details, USB bridge type, graphics adapter details, ... any information that can be obtained about the system will ultimately be useful at some point.

Details of the Acer TM290LCi hardware

This is, as far as I have been able to determine, the hardware setup of the TM290 laptop. Various sub-models will have different variations, of course.

Processor: Intel Pentium M 1.3Ghz (instruction set equivalent to Pentium 4)
Memory: 512Mb DDR SDRAM
Root Device: 30Gb Ultra ATA/100 HDD (see next section)
Host bridge: Intel Corp. 82852/855GM Host Bridge
Display: 1024x768@60Hz VGA LCD driven by Intel 855GM with 32Mb shared RAM
USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)
USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller
PCI bridge: Intel Corp. 82801 PCI Bridge
ISA bridge: Intel Corp. 82801DBM LPC Interface Controller
IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller
SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller
Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller
Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller
FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller
Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter
CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller

Hard disk setup

The Acer TM290 comes with its disk pre-formatted into three partitions: drives C and D (both fat32, the former later reconverted to ntfs), and the enigmatic "AcerData" (fat16) whose contents are not accessible from Windows. Presumably the latter contains Acer-specific items such as hardware serial codes (the contents could theoretically be viewed under Linux by mounting the partition correctly, but I have not investigated yet).

When I had installed the first dual-boot system (RedHat 9), I had opted to move all the Windows data to drive C, and split drive D into a /boot partition and an LVM containing further partitions. One of the LVM-contained partitions I made windows-visible again as D. This whole repartitioning avoided my losing any data, and was performed by Disk Druid contained on the RedHat installation CD. Thus my hard disk now looks like:

/hda
    /hd1      20Gb  ntfs   Windows XP (C:) (bootable flag on)
    /hd2      102Mb ext3   /boot
    /hd3
        /hd5  5Gb   reiserfs  /
        /hd6  512Mb swap   swap
        /hd7  5Gb   fat32  Music (D:)
    /hd4      8Mb   fat16  ACERDATA

This results in 25Gb for Windows, and 5.6Gb for Linux. Oddly, 5Gb is ample for Linux whereas Windows struggles with the 25Gb once SP2 and a few basic packages such as Office are installed. The D drive was not converted to ntfs as C was, in order to provide a partition which could to some extent be shared by both Linux and Windows. The main use of this transfer partition, besides holding documents being worked on in both environments, is to house a common music collection.

Gentoo installation

Setting the system up for the Gentoo installation was straightforward. The Gentoo Universal LiveCD was booted up with the -nokeymap option (to provide an opportunity to load the local keyboard character mapping). The hda5 partition was re-initialised to reiserfs (effectively erasing the previous Debian system) but the hda2 partition was not touched as that already held a valid GRUB (which I would later update). I had chosen a stage1 approach as that would enable me to compile the whole system from scratch, optimised for the Pentium M (i.e. setting -march="pentium4").

At this point a problem was encountered: I had assumed I would be able to carry out a network-less install, since my internet access point was via wifi (the IPW2100 wifi chipset requires a driver to be specially compiled into the kernel) and would hence only work once the bootstrap process was completed. But no amount of coaxing could convince Portage to read from the valid package tree copied from the LiveCD - it insisted on attempting to fetch them anew from the internet. Fortunately later on I was able to get access to a Ethernet access point, allowing the installation to continue.

The actual system download took around 45 minutes in total, whilst the stage1 and stage3 compilations took around 3 hours each. The initial .config file used to compile the kernel can be found here, but it should be noted that it is possible to further reduce the number of drivers hard-compiled without affecting the system (for the first compilation, a "generous" approach was favoured with the attitude that streamlining could occur later).

Following the completion of the kernel compilation, the ipw2100 driver package was downloaded and added to the kernel tree, with the configuration files set as suggested in the package's README file, then the resulting module was added to the init.d machinery. After this point, the whole system was theoretically self-sufficient and ready for the first reboot.

The first reboot - verdict on work remaining

As anyone who has installed a fairly complex Linux system will testify, the first reboot is always a magical moment where hours of hard work and research either pay off or get consigned to the "wasted hours" category. In my case, quite amazingly, the system booted up without any help very happily, and a few seconds later I was back in Linux, running the compiled kernel. The fact that such a complex bootstrap process was a resounding success goes to show how well the Gentoo system is designed and implemented.

At this point, the computer was successfully running a text-only Linux operating system. A few ping commands showed that the wifi had been correctly detected and was working without flaw (the wifi had been the hardest component to convince into an operational state, in the other Linux distributions I had tried previously). The Ethernet adapter also proved to be in full working condition. The keyboard layout had been correctly set to my locale.

The work ahead could now be divided into 4 parts: getting the graphical display environment, getting a desktop environment, installing a reasonable set of software, and finally convincing the remaining hardware to work.

Graphical display environment

Gentoo Linux recommends the use of X.Org rather than XFree86 as the X11 server, so that was duly downloaded, compiled and installed. The process took around 2 hours. The command to probe the hardware and generate a "safe" configuration is X -configure which should be preferred to the xorgconfig method (which despite many efforts generated a bad configuration file which would crash the X server). Modes can be safely set to 1024x768@60 and the driver to i8x0. The full xorg.conf file can be found here. The final setup can be tested with the included "tiny window manager" twm - which revealed a working video card, keyboard and touchpad. I have no need for 3D acceleration so no time was spent to investigate functionality any further.

Desktop environment

I find KDE too bulky and Windows-like, so I usually go for the GNOME alternative, as in this case. The download, compile and install took around 6 hours. No special configuration or setup was needed - it worked straight out of the box.

Other software

I chose to complete my software with mplayer (media player), totem (dvd player), tetex (LaTeX system), acpid (for battery management) and skype (for VoIP). I wanted to download openoffice too, but at 219MB I haven't got around to it yet. The whole of the former set, however, downloaded, compiled and installed themselves flawlessly at the click of the "emerge" button. Quite impressive.

Remaining hardware

Once Gnome and its decent volume manager and sound mixer had been installed, the integrated ICH4 soundcard worked fine with no configuration or setup other than the initial enabling of ALSA and disabling of OSS in the kernel options.

The CD writer has not been tested yet.

The laptop's "special buttons" on the top panel have no action unless the correct module is installed, which has not been done yet.

The CRT <-> LCD switch function was not needed and has not been tested.

The modem was not needed and has not been tested.

Result - what works and what doesn't

After around 16 hours of work, the following functionality has been achieved. Where a function is marked not tested, the reader is referred to the further reading section where references are given to web sites detailing the configuration of such hardware. The most notable result from the table is the unexpected full success of the Wifi driver.
Hardware Works? Notes
Hard disk yes fine with ntfs (Read-only), fat32, ext3, reiserfs
LCD yes X.Org with 1024x768 at 60Hz
Sound card yes out-of-the-box
Ethernet yes out-of-the-box
Wifi (802.11b wireless lan) yes required ipw2100 driver
Touchpad yes out-of-the-box (additional functionality requires synaptics driver)
CD reader yes out-of-the-box
CD writer not tested reported to work out-of-the-box if scsi emulation is enabled
Special Acer buttons not tested reported to work with acerhk, acme, xev, lineak
CRT <-> LCD switch not tested reported to work with some effort
Modem not tested reported to work with slmodem driver
System hibernation/sleep not tested reported to work out-of-the-box
CPU frequency scaling yes requires cpudyn
USB 1 & 2 not tested reported to work out-of-the-box
Firewire not tested reported difficult to set up
IrDA not tested reported difficult to set up
3D (DRI) probably appears to work, but lacked testing tools for full performance analysis

Final notes and further reading

I have shown that with a large time investment but little effort it is possible to setup a dual-boot Linux/Windows system on this particular laptop, with reasonable functionality of most hardware. The resulting Linux installation is completely suitable for general use, however it does not make full use of all the hardware available, or at least it would take much further effort to obtain better performance.

The most positive aspect from this experiment for me is that out of all the Linux distributions I have tried so far, Gentoo Linux has been the easiest to install, the most performing, and the easiest to configure and administer. However it has also been the one which required the most time investment. Whether the result achieved is worth the time and effort involved is left to the reader to decide.

Personal (unofficial) support pages similar to this one:
[1] http://perso.wanadoo.es/jtur/AcerTM290/acertravelmate290.html
[2] http://www.informatik.uni-freiburg.de/~mader/tm291.html
[3] http://www.pulia.nu/linux/doc/linux_on_acer_travelmate_290CLi.html

The IPW2100 project page:
[4] http://ipw2100.sourceforge.net/

Information on soft modems:
[5] http://www.linmodems.org/

Linux on laptops generally:
[6] http://www.tuxmobile.org/acer.html
[7] http://tuxmobil.org/centrino.html

Acer:
[8] http://www.acer.com/

Gentoo:
[9] http://www.gentoo.org/

Here finishes the article.

Printable version | Copyright Aurelien Botman 2007.