![]() |
Debian GNU/Linux on an |
![]() |
Here you can find some installation guidelines on how to install Debian GNU/Linux on an Acer TravelMate 630 series laptop. If you have any comments or further info you'd like to add, just send me an e-mail at daniel@elvin.se.
One more thing. The information provided here is provided as is. I take no responsibility whatsoever if you mess up your coffee machine, toaster, laptop or whatever it might be.
Last updated: Daniel Elvin, 2005-June-14
Acer TravelMate 630 series
Processor: Intel Pentium 4 Mobile, 1.8 GHz Core chipsets: ALi M1671 (north bridge)
ALi M1535+ (south bridge)Memory: 256 MB, DDR266 soDIMM Disk bus: Ultra ATA/100 Disk: 20/30/40 GB¹ Disc media: Removable 8x DVD/2x8x24x CD-RW Network: 10/100 Mbps FastEthernet, Realtek RTL 8139C
modem 56 kbps, V.90¹
WLAN IEEE 802.11b support with built-in antenna¹Ports: 1x CardBus type II with ZV support,
1x parallell ECP/EPP,
1x IrDA port,
1x RJ-11 (for modem),
1x RJ-45 (for netwok),
1x VGA (for external monitor),
2x USB ports (USB 1.1),
1x IEEE 1384 (FireWire) port,
1x S-Video (PAL/NTSC) TV-out
1x audio line in (external microphone)
1x audio line out (external speakers)USB: ALi M5237 PCMCIA/CardBus: O2 Micro OZ6933 FireWire: VIA Tech, OHCI compliant IrDA: Fast IR provided by south bridge chip Audio: ALi 5451 chipset
built-in microphones and speakersGraphic: nVidia GeForce2 Go 100, 16 MB, up to 1920x1200, 32 bpp, 85 Hz
4x AGP 3D engine, DualView support, hardware accelerated MPEG-2/DVD encoding, with support for external monitor and TVDisplay: 14.1"/15" TFT for up to 1024x768 (32 bpp)/1400x1050 (32 bpp) ¹ Only available on some of the 630 models.
Status
This is the current status of the features provided.
Linux v2.4 Rock solid XFree86 Smooth TouchPad Running fine in X Sound Greeeeeat! ACPI Kind of USB (storage) Yup! USB (mouse) You bet! USB (keyboard) As expected TV out support Ohh yes! PCMCIA So gentle CD-R Yes FireWire (storage) Verify IrDA Verify Modem Won't use it anyway
Background
The TravelMate 630's comes with either WinXP or Win2000 preinstalled. But I had other thoughts for mine ... :-)
I actually made it dual boot - both Windows 2000 and Debian GNU/Linux. First, I repartitioned the disk and installed Windows 2000 on the first (primary) partition. Acer provides some drivers that was quite useful. Anyway, this page is not about installing and setting Windows up. You just had that info for free.
BTW, if you need some additional drivers, ACER Laboratories Inc. (ALi) offers a special device drivers download page. They also provides a Linux FAQ.
Outline
The big picture is:
- Boot from a Debian GNU/Linux CD and install a basic Debian GNU/Linux system.
- Install some tools and utilities.
- Download, configure and install a new Linux kernel.
- Install and configure the X window system, a window manager and all other bells and whistles.
Basic Linux first
Since the TravelMate 630 is fairly standard, I downloaded a condensed bootable CD image from LordSutch.com. Debian has a list of other CD image providers, and Debian themselves offers official (full) CD images as well.
In short, download any bootable Debian GNU/Linux image you like, burn it, and boot the TravelMate from it. If you are unfamiliar with the Debian installation procedure, see e.g. the Debian installation guide. My advice is: stay away from tasksel and dselect. They are no friends of mine.
Some tools
I assume your TravelMate is up and running a basic Debian GNU/Linux system by now. First, we need some handy tools before we continue. If you are unfamilliar with the Debian package management system (dpkg and its brothers and sisters) see e.g. the Debian package management system or the shorter APT and DPKG reference guide.
Before we proceed we need to define were to fetch the packages from. This is stored in the file /etc/apt/sources.list. Just cut the following lines into it and you are home free.
deb http://ftp.se.debian.org/debian testing main contrib non-free deb-src http://ftp.se.debian.org/debian testing main contrib non-free deb http://ftp.se.debian.org/debian-non-US testing/non-US main contrib non-free deb-src http://ftp.se.debian.org/debian-non-US testing/non-US main contrib non-free deb http://security.debian.org/ testing/updates main contrib non-free deb-src http://security.debian.org/ testing/updates main contrib non-freeThe se domain suffix is the country code for Sweden. Change it to whatever country code suites you better. The Debian Worldwide mirror site lists available mirrors. Also, the testing keyword selects what Debian release to use. I use the testing release since it is fairly close to the edge without that much bleeding stuff.
Once the list of package targets are typed into the sources.list file, the list of available packages and their revisions has to be updated. Note, this must be done manually every now and then. (Hey! I mean once a week or something and not necessarily every hour ;) Update the package list by
% apt-get updateTo upgrade already installed packages to their latest revisions, do
% apt-get upgradeIf it states that some packages have been kept back, then also do a
% apt-get dist-upgradeHere we go! Now, it is time to install the tools
% apt-get install apt-utils kernel-package ncurses-dev gcc wget tar
Debian package management
A very convenient way of installing a set of packages on a host is to just transfer the list from a previously installed Debian host and use that as a template. To do that, do as follows (on the reference host):
refhost% dpkg --get-selections > selections.txtThen transfer the selections.txt to the new host and then (on the new host).
% apt-get update % dpkg --set-selections < selections.txt % apt-get dselect-upgrade
A new kernel
Download a new kernel, configure and install it. Make sure you have write permissions in the directory before you download the kernel.
% cd /usr/local/src % wget -O - http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.25.tar.gz | tar xzNote, that 2.4.25 is the latest release of the 2.4-family as of today (2004-02-19). Check kernel.org before downloading.Now, configure the kernel. You can either use my kernel configuration, by downloading it to the kernel source dir. Save it as <kernel source dir>/.config and then reconfigure the kernel based on it. In the kernel source dir, do
% make oldconfigOtherwise, configure the kernel by you own.
% make menuconfigIf you want to configure your kernel by yourself some hints might be helpful. Enable at least the following entries either as modules (M) or built-ins (*). I won't argue if you prefer modules instead of built-ins or vice versa. You need the loadable modules anyway, to load the graphics card module and ALSA (sound) support later.
Loadable module support –––> [*] Enable loadable module support ATA/IDE/MFM/RLL support –––> <*> ATA/IDE/MFM/RLL support IDE, ATA and ATAPI Block devices –––> [*] Generic PCI IDE chipset support [*] ALI M15x3 chipset support Network device support –––> Ethernet (10 or 100 Mbit) –––> [*] Ethernet (10 or 100Mbit) [*] EISA, VLB, PCI and on board controllers <*> RealTek RTL-8139 PCI Fast Ethernet Adapter support Character devices –––> <*> /dev/agpgart (AGP Support) [*] ALI chipset support [*] Direct Rendering Manager (XFree86 DRI support) Sound –––> <M> OSS Sound ModulesExit the kernel configuration and save it.Whether you configured your kernel by yourself or used my config, the next step is to build and install the kernel the (beautiful) Debian way. First, clean-up previous builds (if any):
% make-kpkg cleanThen build the kernel
% make-kpkg --append-to-version=-2004.02.19 kernel_imageAnd finally, install the new kernel (assuming you are using the LILO boot loader).
% dpkg --install /usr/local/src/kernel-image-2.4.21-2004.02.19_10.00.Custom_i386.debReboot and enjoy! Wasn't that beautiful? :-)
Kernel upgrade
To upgrade the kernel do as follows. Download and unpack the newer kernel source.
% cd /usr/local/src % wget -O - http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.32.tar.gz | tar xzNote, that 2.4.32 is the latest release of the 2.4-family as of today (2006-01-10). Check kernel.org before downloading.Then copy the kernel configuration from the previous (older) kernel.
% cp linux-2.4.<xx>/.config linux-2.4.32/To configure the new kernel based on the previous one do
% cd linux-2.4.32 % make oldconfigYou'll then have to answer questions concerning the new options available. In most cases, the default alternatives are valid.
Note!
Current Debian Testing (a.k.a. Etch) installs gcc-4.0 which is unsupported as compiler suite for the 2.4.xx-kernels. To solve that, append an explicit define of e.g. gcc-2.95 as follows.Then rebuild and install the new kernel. Reboot and enjoy!
% MAKEFLAGS='CC=gcc-2.95' make-kpkg --rootcmd sudo \ --append-to-version=-2006.01.10 kernel_image % dpkg --install ../kernel-image-2.4.32-2006.01.10_10.00.Custom_i386.deb
Bells and whistles
The TravelMate is now up and running a basic Debian GNU/Linux system. Next step into eternity is to decorate it with some the fancy bells and whistles.
The X Window System
So far, the console environment is up and running. Now over to the GUI part - the X Window System. Start by adding some more packages. At least you'll need
% apt-get install xserver-xfree86 xbase-clients xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xtermThen you also need a window manager (AfterStep, BlackBox, Enlightenment, FluxBox, WindowMaker, SawFish, etc.), and maybe also a desktop system (e.g. Gnome, KDE). Personally, I prefer BlackBox as the window manager and skip the desktop system. BlackBox is a very tiny window manager without many of the fancy stuff available in some of the other WM:s. But that's the way i like it. You can either install the Debian package by
% apt-get install blackbox bbkeysor download a more recent version on the Blackbox home page. Whichever window manager you prefer, install it before proceeding.nVidia offers binary drivers only, i.e., no Open Source stuff from there. You'll need a kernel module and an X driver. These can be downloaded from ftp://download.nvidia.com/XFree86/Linux-x86/.
Note: When exiting X it may cause a flickering problem. Change the BIOS settings for the Boot display on the Main page, to Auto. Thx Josef! (If this description was too brief to be understod, you should probably not play around with your BIOS settings at all.) A similar problem on a TM 630 LCI was solved in the build 2880 but not in the 3123 or 4191 builds. (Thx Tim!) I don't know the status of this in the post 4191-builds.
To download and install the kernel video driver module and the XFree86 driver module, do
% cd /usr/local/src % wget ftp://download.nvidia.com/XFree86/Linux-x86/1.0-5336/NVIDIA-Linux-x86-1.0-5336-pkg1.run % source NVIDIA-Linux-x86-1.0-5336-pkg1.runTo load the kernel video driver module at boot add it to the /etc/modules file.
% echo "nvidia" >> /etc/modulesIf this had been a Windows installation guide it had said that you now had to reboot the computer. But since this is Linux and not Windows, you can simply just make sure the kernel video driver module is loaded, i.e.
% modprobe nvidiaNow, either download my /etc/X11/XF86Config-4 file or do it yourself. Mine is inspired by the one posted by Thimo Neubauer. When XFree86 is configured it is time to fly. Start X with
% startxor% startx -- -layout TVif you want the TV-out profile enabled.Stephane Crivisier told me that a resolution of 1400x1050 can be achieved by changing vertical refresh rate and horizontal sync frequency to
HorizSync 29-65 VertRefresh 10-60and adding resolution 1400x1050 to the desired color depth entries. Thanks Stephane!
X Window System tweakin'
To get rid of the annoying "Caps Lock" key, disable it in the .Xmodmap file.
% echo "clear Lock" >> $HOME/.XmodmapTo load this modification at startup every time, do
% echo "xmodmap $HOME/.Xmodmap" >> $HOME/.xinitrc
Blackbox tweakin'
My personal Blackbox tweaking involves setting up the key bindings of $HOME/.bbkeysrc and the line bbkeys -i & to $HOME/.xinitrc. Add the line session.menuFile: $HOME/.bbmenu to the file $HOME/.blackboxrc and then the file $HOME/.bbmenu to enable menues.
Mounting local filesystems
If NTFS was supported in the kernel, and Windows 2000 is installed, then the NTFS partition can be mounted automatically, do:
% addgroup ntfsThen note the gid (i.e. group ID) of the newly added group
% adduser <your username> ntfs% grep ntfs /etc/group | cut -d: -f3and extend the /etc/fstab% echo "/dev/hda1 /mnt/ntfs ntfs ro,user,gid=<the gid>,umask=0337 0 0" >> /etc/fstab
Sound
The soundcard ALi 5451 works with the ALSA (Advanced Linux Sound Architecture) driver. To set it up, do as follows
% apt-get install alsa-source alsa-headers alsa-utils alsa-base % cd /usr/src % tar xzf alsa-driver.tar.gz % cd modules/alsa-driver/ % ./configure --with-cards=ali5451 % make % make installTo load the modules automatically at boot add the module names to the /etc/modules by
% echo "soundcore\nsnd-ali5451" >> /etc/modulesLoad the sound modules by
% modprobe -a soundcore snd-ali5451Set up some aliases for the sound modules by downloading my /etc/modutils/sound (or edit your own manually).
Regenerate the modules configuration file
% update-modulesThe volume needs to be set manually with some mixer. I use aumix and have added the following /etc/aumixrc. (Then I removed /etc/init.d/alsa to run aumix automatically.)
Firewire - storage
Support for Firewire (IEEE 1394) storage devices are enabled and used in the following way.
Note: This is currently untested!Enable (at least) the following kernel options either as modules or built-in.
IEEE 1394 (FireWire) Support ---> <M> IEEE 1394 (FireWire) Support <M> OHCI-1394 Support <M> SBP-2 support (Harddisks etc.) <M> Raw IEEE1394 I/O supportTo enable the FireWire drivers do
% modprobe -a ohci1394 sbp2Maybe you'll need to rescan the SCSI bus before you can mount the newly attached FireWire storage device. Kurt Garloff provides a script rescan-scsi-bus.sh that does exactly this.
Then mount the device (assuming that the FireWire disc is the only SCSI device enabled)
% mount /dev/sda1 mntSee FireWire hard drive HOWTO by Ole Hagenes for a more in-depth description.
USB - general
To be able to plug-in your USB devices when the system is up and running you need support for hotplugging. Enable it in the kernel configuration:
General setup ---> [*] Support for hot-pluggable devicesThere are some utilities that makes life a lot easier. Install them
% apt-get install usbutils hotplug
USB - storage
In the kernel configuration, enable
SCSI ---> <M> SCSI support <M> SCSI disk support File Systems ---> <M> DOS FAT fs support <M> VFAT (Windows-95) fs support USB ---> <M> Support for USB <M> OHCI (ALi, ...) support <M> USB mass storage supportLoad modules for SCSI and USB storage support, and VFAT file system support.
% modprobe -a sd_mod scsi_mod usbcore usb-ohci usb-storage fat vfatGet the USB utilities and list which devices are available
% lsusbThe USB storage device is now available as one of the SCSI devices. Mount it and it's ready for use. The [umf]mask options are to enable use by any user.
% mount -t vfat /dev/sda1 /mnt -o users,umask=000,dmask=000,fmask=000
USB - mouse
Support for a USB mouse is enabled by the kernel configuration option
USB ---> <M> Support for USB <M> OHCI (ALi, ...) supportLoad the module
% modprobe -a mousedev usb-ohciInstall the USB utilities and check the connected USB devices
% lsusbAdd the following section to the /etc/X11/XF86Config-4 to enable the USB mouse in X
Section "InputDevice" Identifier "USB Mouse" Driver "mouse" Option "SendCoreEvents" "true" Option "Device" "/dev/input/mice" Option "Protocol" "ImPS/2" Option "ZAxisMapping" "4 5" EndSectionand then also a line to the ServerLayout sectionInputDevice "USB Mouse"
PCMCIA/PC Card
Since I set up the use of a 3Com OfficeConnect Wireless 11a/b/g PC Card, this section is a mixture of enabling PCMCIA support and setup for the WLAN-card. (And for my own purpose, the access point is a 3Com OfficeConnect® Wireless 11g Cable/DSL Gateway.)
The OfficeConnect-card is based on the Prism54-chipset. So, for a more thorough guide see the README file provided by prism54.org.
First, download the latest kernel patch from prism54.org.
% cd /usr/local/src/ % wget http://prism54.org/pub/linux/snapshot/kernel/v2.4/patch-2.4-prism54-cvs-latest.bz2 % bunzip2 patch-2.4-prism54-cvs-latest.bz2I usually apply the patch to a copy of the kernel tree, but you can of course skip the copy part and apply it directly to the original kernel source tree.
% cp -a linux-2.4.25 linux-2.4.25-prism54To apply the patch, do
% cd linux-2.4.25-acpi-prism54 % patch -p1 < ../patch-2.4-prism54-cvs-latestThen reconfigure the kernel
% make menuconfigThe essential config options are
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers General setup ---> [*] Support for hot-pluggable devices Library routines ---> <M> Hotplug firmware loading support General setup ---> PCMCIA/Cardbus support ---> <M> PCMCIA/Cardbus support [*] Cardbus support Network device support ---> Wireless LAN (non-hamradio) ---> [*] Wireless LAN (non-hamradio) <M> Intersil Prism GT/Duette/Indigo PCI/PCMCIAThen rebuild the kernel and install it
% make-kpkg --append-to-version=-prism54-2004.02.20 kernel_image modules_image % dpkg --install ../linux-2.4.25-prism54-2004.02.20_10.00.Custom_i386.debThen you also need a firmware to upload to the card. It was previously avalable from prism.org/firmware. But because of copyright restrictions they've disabled that download for now. Either follow their instructions of downloading and renaming the Windooze-driver, or download it from me.
% mkdir -p /usr/lib/hotplug/firmware % cd /usr/lib/hotplug/firmware % wget http://www.fagotten.org/daniele/acer-tm630/isl3890Next, you then also need some additional Debian packages
% apt-get install pcmcia-cs wireless-tools hotplug fxloadIf you had the usbmgr package installed previously it will be removed, since hotplug replaces it.
To enable the WLAN-card at boot, add the following lines to /etc/modules
yenta_socket pcmcia_core ds serial_cs firmware_class prism54Then also modify the /etc/network/interfaces according to your prefered address assignment mechanism. For a DHCP assigned address, addiface eth1 inet dhcpand for a statically assigned address, addiface eth0 inet static address 192.168.0.5 netmask 255.255.255.0 gateway 192.168.0.1When the kernel is up and running with the prism54-support enabled, and the modules above are loaded, then we are ready to fly. First, set the card in managed mode, since it will not be used as an access point.
% iwconfig eth1 mode ManagedTo probe available access points, do
% iwlist eth1 scanTo connect to one of the available access points, do
% iwconfig eth1 ap any % iwconfig eth1 essid "3Com" % iwconfig eth1 key open % ifup eth1
News for me (and you). Create a separate wlan config file for each of the networks you want to login to. That is, edit /etc/wlan/wlan.conf and create a new entry with the SSID for your favorite Access Point. Then create a config file for this network, named /etc/wlan/wlancfg-<SSID>. Typically, edit the channel, WEP settings or whatever suites your net. See /usr/share/doc/linux-wlan-ng-doc/config.linux-wlan-ng.gz for documentation.
ACPI -
Advanced Configuration and Power InterfaceTo get power management up and running, read the excellent guide to ACPI by Emma Jane Hogbin. In short you need to:
- download the kernel patch from ACPI4Linux (e.g. acpi-20030619-2.4.21.diff.gz)
- patch the kernel
% cd <kernel dir> && gunzip -c <acpi kernel patch file> | patch -p1- update kernel configuration (.config)
% make oldconfigand answer the questions or run make menuconfig and enable ACPI on the "General settings" menu- build the new kernel
% make-kpkg --append-to-version=.acpi.<current date> kernel_image modules_image- install it
% dpkg --install <newly built kernel.deb file>- and make ACPI modules load automatically
% echo "processor\nac\nbattery\nbutton\nfan\nthermal\n" >> /etc/modulesTo view the battery status do
% cat /proc/acpi/battery/BAT0/{state,info}There is also an ACPI daemon you could install to get notifications of ACPI events to user-space applications, see acpid(8) for more info.
% apt-get install acpid
NOTE:
I never got the ACPI working with the latest of nVidia drivers,
the 4363, but it works fine with the 4191 driver, however.
IrDA
Note: This is in theory only. Currently untested.
In kernel configuration, enable the following:
IrDA (infrared) support ---> Infrared-port device drivers ---> <M> ALi M5123 FIR (Experimental)Install and boot from this new kernel. You also need the Debian package irda-common (or irda-utils in the unstable dist).% apt-get install irda-commonWhen the new kernel is up and running, disable the default serial port driver
% setserial /dev/ttyS1Then install the IrDA protocol and ALi FIR drivers
% insmod irda ali-irccTo start searching for available devices do
% irattach irda0 -sThat should do.
CD-R
With SCSI-support enabled in the kernel configuration, i.e.
SCSI support ---> <M> SCSI support <M> SCSI disk support <M> SCSI generic support ATA/IDE/MFM/RLL support ---> IDE, ATA and ATAPI Block devices ---> <M> SCSI emulation supportburning a CD is easy. Do% mkisofs -r -J -o <iso_image> <source directory> % cdrecord -speed 8 -dev ATAPI:0,0,0 -v -eject <iso_image>Read more on http://www.hut.fi/cc/services/cdrw/CD-burn.html.
Java
This is yet another section of more private than public interest (probably).
The Blackdown Java run-time environment is reported being both faster and more reliable on Linux. Add the following to /etc/apt/sources.list
deb ftp://ftp.tux.org/java/debian/ sarge non-freeAnd install the run-time environment (RE) and software developers kit (SDK)% apt-get install j2re1.4 j2sdk1.4For more information, see blackdown.org.
Additional info
I ran into some trouble I'd like to share but didn't know where to put it.
From Stable to Testing
Some additional notes if you want to change from Stable (Woody) to Testing (Sarge) distribution.
After you have updated packages to testing, make sure you run lilo before rebooting!! It will otherwise hang at the LI text. If you are already there, I solved it by booting from the LNX-BBC disc, remounting the root partition rewritable
% mount <device> <mount point> -o rw,remountand run% lilo -r /mnt/.../part<x>and than reboot.
I got screwed by DebConf since my original XF86Config-4 contained the nv driver while I manually had changed it to nvidia. Changing back to nvidia again solved the nasty Unresolved symbols referred to in a number of libs.
Links
Acknowledgements
Many thanks to the all the people involved in the Linux kernel development, all the Debian GNU/Linux maintainers, and all the ones providing the useful pages listed in the links list above.
Thanks also to Tim Dijkstra for the tip conserning the driver version to fix the flickering and stripes problem when exiting X or opening another terminal. Another huge thanks to Joseph for the tip to change the BIOS settings and for reporting that the USB stuff works just out of the box.