Difference between revisions of "Installing Slackware 11.0 on a ThinkPad R60"

From ThinkWiki
Jump to: navigation, search
Line 45: Line 45:
 
== Before You Begin ==
 
== Before You Begin ==
  
Go into the BIOS and enable "compatibility mode" for the SATA controller (this is necessary to be able to suspend), and while you're there Diable the protection of the recovery partition if you know you won't be using Windows, and want to recover the extra 5GB (do at your own risk!) Make sure you have a basic understanding of lilo and how to recompile a kernel.  Get the Slackware installation set (disks 1-3, but you may only need the first two)
+
Go into the BIOS and enable "compatibility mode" for the SATA controller {{NOTE| "compatibility mode" is necessary to be able to suspend-to-RAM later on}}While you're there disable protection of the "recovery partition" if you know you won't be using Windows, and want to recover the extra 5GB (do at your own risk!) Make sure you have a basic understanding of lilo and how to recompile a kernel.  Get the Slackware installation set (disks 1-3, but you may only need the first two)
 
I'll also assume that you are familiar with the basic steps of installing Slackware, if you're not, consult [http://www.slackware.org/install Slackware Installation]
 
I'll also assume that you are familiar with the basic steps of installing Slackware, if you're not, consult [http://www.slackware.org/install Slackware Installation]
  
Line 51: Line 51:
  
 
Begin by booting off disk 1 of Slackware 11.0. For the purposes of installation, Slackware uses the 2.4.33 kernel which will be installed by default.  After the installation we'll be changing the kernel anyway, so it's okay to just install this default kernel for now.   
 
Begin by booting off disk 1 of Slackware 11.0. For the purposes of installation, Slackware uses the 2.4.33 kernel which will be installed by default.  After the installation we'll be changing the kernel anyway, so it's okay to just install this default kernel for now.   
 +
 +
{{WARN|Your Hard Drive is /dev/sda not /dev/hda, this is the DVD/CD drive}}
  
 
== Kernel ==
 
== Kernel ==
Line 58: Line 60:
 
# The ieee80211 kernel patch needed for the wireless drivers which can be obtained [http://ieee80211.sourceforge.net here]
 
# The ieee80211 kernel patch needed for the wireless drivers which can be obtained [http://ieee80211.sourceforge.net here]
 
# The default slackware configuration file for the 2.6.17.13 kernel (which is in that kernel's tarball in the /extra branch) This is really only necessary if you're not a kernel pro, if you are, you don't need this.
 
# The default slackware configuration file for the 2.6.17.13 kernel (which is in that kernel's tarball in the /extra branch) This is really only necessary if you're not a kernel pro, if you are, you don't need this.
 +
 +
=== Patching ===
  
 
{{NOTE|The ieee80211 stack can be built as a modules without patching the kernel, but i have not been able to do this sucessfully, so i've found this the only way to get it to work.}}
 
{{NOTE|The ieee80211 stack can be built as a modules without patching the kernel, but i have not been able to do this sucessfully, so i've found this the only way to get it to work.}}
  
Unpack the kernel and put it into the regular place (/usr/src) delete the linux link and relink it to the new kernel tree:
+
Unpack the kernel and put it into the regular place ({{path|/usr/src}}) delete the linux link and relink it to the new kernel tree:
  
 
{{cmdroot|rm /usr/src/linux}}
 
{{cmdroot|rm /usr/src/linux}}
Line 81: Line 85:
 
{{NOTE|I did this completely by hand as i'm not very good at scripting, but if you know another way, more power to you}}
 
{{NOTE|I did this completely by hand as i'm not very good at scripting, but if you know another way, more power to you}}
  
Once you've completed this, copy the config-generic-smp-2.6.17.13 file from the Slackware kernel tarball to .config in the {{path|/usr/src/linux-2.6.18/}} directory
+
=== Kernel Config ===
 +
 
 +
Once you've completed this, copy the config-generic-smp-2.6.17.13 file from the Slackware kernel tarball to .config in the {{path|/usr/src/linux-2.6.18/}} directory.
 +
Now run:
 +
 
 +
{{cmduser|make menuconfig}}
 +
 
 +
or your favorite configure method.
 +
 
 +
Parameters that must be given special attention:
 +
 
 +
{{NOTE|Do not optimize for Pentium-4 M or Pentium-4}}
 +
 
 +
#Optimize for "Pentium M"
 +
#Make sure SMP is enabled
 +
#Enable all ACPI functions that apply to the thinkpad, especially ibm-acpi (Compile these into the kernel, do not make them modules)
 +
#SATA options
 +
#tg3 Gigabit ethernet
  
 
== Configuration ==
 
== Configuration ==
  
After you have your shiny new kernel installed we'll start configuring the system:
+
After you've booted your shiny new kernel, we'll start configuring the system:
  
 
=== Wireless Network ===
 
=== Wireless Network ===
 +
 +
The first and most important thing to have working is your network connectivity.  If you're using the gigabit ethernet card, this should already be working (so long as you compiled in tg3).  If you're like me, you need your wireless up as soon as possible.
 +
 +
The first thing to do is download the latest version of the ipw3945 drivers [http://ipw3945.sourceforge.net here].
  
 
=== Suspend-to-RAM functionallity ===
 
=== Suspend-to-RAM functionallity ===
  
 
=== Synaptics Touchpad ===
 
=== Synaptics Touchpad ===

Revision as of 21:29, 14 October 2006

Overview

Slackware 11.0 requires a bit of work to get all of the major features of this great notebook working. It may take some time, but don't be daunted, it can be done. This wiki is a work in progress (like all wiki's really) and i will try to make frequent updates until i have a fairly comprehensive guide, but i will especially focus on the issues that took some time (and head scratching) to resolve.

The R60 I am using has the following specifications:

  • Intel Core Duo T2400 (1.83GHz)
  • 512MB RAM
  • 60GB 5400rpm SATA HD
  • 15in 1400x1050 LCD
  • Intel 945GM/GMS/940GML Graphics Controller
  • Built in CDRW/DVD
  • Intel Corporation PRO/Wireless 3945ABG
  • Built in Modem
  • Broadcom Corporation NetXtreme BCM5751M Gigabit Ethernet
  • Built in fingerprint reader
  • IEEE 1394 (firewire)
  • 6c Li-Ion Battery

Things that currently work properly:

  • Intel "High-Def" audio
  • WiFi
  • Ethernet
  • Suspend-to-RAM (finally)
  • X at 1280x1024
  • Dual core support (SMP)
  • DVD / CDRW support
  • Trackpoint
  • Synaptics touchpad (with scroll functionality)
  • (most everything else i don't mention below)

Things i still do not have working properly:

  • The special keys and key combos (which should be fairly easy, but i have not yet had time to work on)
  • The thumbprint reader (this is due to the fact that Slackware does not use PAM for authentication, not driver problems)
  • The highest resolution in X (1400x1050), although 1280x1024 works by default

Untested:

  • Hibernation (to disk), i normally only use Suspend to RAM, but i believe there are pages devoted to hibernation
  • Multi-headed VGA out
  • S-Video out
  • Firewire (probably works)
  • Modem
  • Integrated security chip

Before You Begin

Go into the BIOS and enable "compatibility mode" for the SATA controller

NOTE!
"compatibility mode" is necessary to be able to suspend-to-RAM later on

While you're there disable protection of the "recovery partition" if you know you won't be using Windows, and want to recover the extra 5GB (do at your own risk!) Make sure you have a basic understanding of lilo and how to recompile a kernel. Get the Slackware installation set (disks 1-3, but you may only need the first two)

I'll also assume that you are familiar with the basic steps of installing Slackware, if you're not, consult Slackware Installation

Installation

Begin by booting off disk 1 of Slackware 11.0. For the purposes of installation, Slackware uses the 2.4.33 kernel which will be installed by default. After the installation we'll be changing the kernel anyway, so it's okay to just install this default kernel for now.

ATTENTION!
Your Hard Drive is /dev/sda not /dev/hda, this is the DVD/CD drive

Kernel

I am using the 2.6.18 kernel, others may work, but this is what i will be focusing on. I recommend getting it from kernel.org instead of using the Slackware tarball in the /extra branch. (There's no good reason, just my own personal preference) Before starting the configuration you will need two thing:

  1. The ieee80211 kernel patch needed for the wireless drivers which can be obtained here
  2. The default slackware configuration file for the 2.6.17.13 kernel (which is in that kernel's tarball in the /extra branch) This is really only necessary if you're not a kernel pro, if you are, you don't need this.

Patching

NOTE!
The ieee80211 stack can be built as a modules without patching the kernel, but i have not been able to do this sucessfully, so i've found this the only way to get it to work.

Unpack the kernel and put it into the regular place (/usr/src) delete the linux link and relink it to the new kernel tree:

# rm /usr/src/linux

# ln -s /usr/src/linux-2.6.18 /usr/src/linux

Next unpack the ieee80211 stack, and patch it to the kernel source. From the ieee80211

# make patch_kernel

Next and most annoyingly, the files that were patched must be changed slightly for the modules to compile. In each .c file in the /usr/src/linux-2.6.18/net/ieee80211/ directory the line

#include "compat.h"

must be changed to

#include <net/compat.h>
NOTE!
I did this completely by hand as i'm not very good at scripting, but if you know another way, more power to you

Kernel Config

Once you've completed this, copy the config-generic-smp-2.6.17.13 file from the Slackware kernel tarball to .config in the /usr/src/linux-2.6.18/ directory. Now run:

$ make menuconfig

or your favorite configure method.

Parameters that must be given special attention:

NOTE!
Do not optimize for Pentium-4 M or Pentium-4
  1. Optimize for "Pentium M"
  2. Make sure SMP is enabled
  3. Enable all ACPI functions that apply to the thinkpad, especially ibm-acpi (Compile these into the kernel, do not make them modules)
  4. SATA options
  5. tg3 Gigabit ethernet

Configuration

After you've booted your shiny new kernel, we'll start configuring the system:

Wireless Network

The first and most important thing to have working is your network connectivity. If you're using the gigabit ethernet card, this should already be working (so long as you compiled in tg3). If you're like me, you need your wireless up as soon as possible.

The first thing to do is download the latest version of the ipw3945 drivers here.

Suspend-to-RAM functionallity

Synaptics Touchpad