Difference between revisions of "Installing Gentoo on a ThinkPad X60 Tablet"

From ThinkWiki
Jump to: navigation, search
(Bluetooth)
Line 1: Line 1:
This is WIP!
 
The guide will be somewhat complete in the late summer.
 
 
 
 
 
= Gentoo General =
 
= Gentoo General =
 +
When installing gentoo make shure to use the suspend2-sources instead of the gentoo-sources,
 +
and that the USE flags are set correctly.
 
In {{path|/etc/make.conf}}:
 
In {{path|/etc/make.conf}}:
 
  VIDEO_CARDS="i810 vesa"
 
  VIDEO_CARDS="i810 vesa"
 
  INPUT_DEVICES="keyboard mouse wacom"
 
  INPUT_DEVICES="keyboard mouse wacom"
 +
# X60
 +
USE="$USE acpi fbsplash hdaps"
 +
Now you can emerge the suspend2-sources, which will enable the nice splash when booting the machine.
 +
emerge suspend2-sources
  
 
= Sound =
 
= Sound =
Line 16: Line 17:
 
     PCI devices  --->
 
     PCI devices  --->
 
     <*> Intel HD Audio
 
     <*> Intel HD Audio
Now emerge alsasound and add it to the default runlevel
+
Now emerge alsa-utils and add alsasound to the default runlevel:
  emerge -av alsasound
+
  emerge -av alsa-utils
 
  rc-update add alsasound default
 
  rc-update add alsasound default
 
  /etc/init.d/alsasound start
 
  /etc/init.d/alsasound start
 +
Unmute the sound using alsamixer by pressing the m key on the Master and PCM sliders (MM=Muted / 00=Not muted)
  
 
= Display =
 
= Display =
 +
In the kernel configuration:
 +
Device Drivers  --->
 +
  Character devices  --->
 +
  <*> Direct Rendering Manager
 +
    <*> Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver)  --->
 +
Now run xorgcfg which should start smoothly. Do your personal changes (none), and save the files to their default location.
 +
Edit {{path|/etc/X11/xorg.conf}} and add the following lines:
 +
Section "dri"
 +
    Mode 0666
 +
EndSection
 +
 +
Emerge xrandr to make rotation working:
 +
emerge xrandr
  
 
= Input =
 
= Input =
Line 34: Line 49:
 
   <*> Wacom Intuos/Graphire tablet support
 
   <*> Wacom Intuos/Graphire tablet support
  
Add the following (magic) line to {{path|/etc/conf.d/local.start}}:
+
Emerge setserial;
 +
emerge setserial
 +
and add the following (magic) line to {{path|/etc/conf.d/local.start}}:
 
  setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig
 
  setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig
  
Now add the following lines to your xorgcfg generated xorg.conf:
+
Now add the following lines to your xorgcfg generated {{path|/etc/X11/xorg.conf}}:
 
  Section "InputDevice"
 
  Section "InputDevice"
 
     Identifier  "Cursor"
 
     Identifier  "Cursor"
Line 44: Line 61:
 
     Option      "Type" "cursor"
 
     Option      "Type" "cursor"
 
     Option      "ForceDevice" "ISDV4"
 
     Option      "ForceDevice" "ISDV4"
    Option      "Mode" "Absolute"
 
 
  EndSection
 
  EndSection
 
 
  Section "InputDevice"
 
  Section "InputDevice"
 
     Identifier  "Stylus"
 
     Identifier  "Stylus"
Line 54: Line 69:
 
     Option      "ForceDevice" "ISDV4"
 
     Option      "ForceDevice" "ISDV4"
 
  EndSection
 
  EndSection
 
 
  Section "InputDevice"
 
  Section "InputDevice"
 
     Identifier  "Eraser"
 
     Identifier  "Eraser"
Line 67: Line 81:
 
  InputDevice    "Stylus" "SendCoreEvents"
 
  InputDevice    "Stylus" "SendCoreEvents"
 
  InputDevice    "Eraser" "SendCoreEvents"
 
  InputDevice    "Eraser" "SendCoreEvents"
 +
 +
TODO: xournal
  
 
== Touch Screen ==
 
== Touch Screen ==
Line 94: Line 110:
 
Alternative keycodes can be found for other mappings at ref. B
 
Alternative keycodes can be found for other mappings at ref. B
  
== Fingerpring Reader ==
+
== Fingerprint Reader ==
This actually is surprisingly easy to make work:) Just emerge thinkfinger >= 0.3 and add the following line in {{path|/etc/pam.d/system-auth}}:
+
This actually is surprisingly easy to make work:) Just emerge thinkfinger >= 0.3;
 +
echo "sys-auth/thinkfinger" >> /etc/portage/package.keywords
 +
emerge thinkfinger
 +
and add the following line in {{path|/etc/pam.d/system-auth}}:
 
  auth      sufficient  pam_thinkfinger.so
 
  auth      sufficient  pam_thinkfinger.so
  
Line 101: Line 120:
 
  auth      required    pam_env.so
 
  auth      required    pam_env.so
 
  auth      sufficient  pam_thinkfinger.so
 
  auth      sufficient  pam_thinkfinger.so
  auth      sufficient  pam_unix.so likeauth nullok
+
  auth      sufficient  pam_unix.so try_first_pass likeauth nullok
  
 
All left is to read your fingerprint for your user. Run tf-tool --add-user <login>, then reboot and see if it works.
 
All left is to read your fingerprint for your user. Run tf-tool --add-user <login>, then reboot and see if it works.
 +
If using gdm, it should work smoothly.
  
 
= Network =
 
= Network =
Line 112: Line 132:
 
   Ethernet (1000 Mbit)  --->
 
   Ethernet (1000 Mbit)  --->
 
     <*> Intel(R) PRO/1000 Gigabit Ethernet support
 
     <*> Intel(R) PRO/1000 Gigabit Ethernet support
 +
 +
Configure the ethernet card in {{path|/etc/conf.d/net}}:
 +
config_eth0="dhcp"
 +
eth0_dhcpcd="-t 4"
  
 
== Wireless ==
 
== Wireless ==
Line 126: Line 150:
 
   <*> IEEE 802.11i TKIP encryption
 
   <*> IEEE 802.11i TKIP encryption
  
Now, emerge ipw3945 >= 1.2.0, and add ipw3945d to the default runlevel by issuing:
+
Now, emerge ipw3945, wireless-tools and wpa_supplicant, and add ipw3945d to the default runlevel by issuing:
  emerge -av ipw3945
+
  emerge ipw3945 wireless-tools wpa_supplicant
  rc-update add ipw3945d default.
+
  rc-update add ipw3945d default
 
  /etc/init.d/ipw3945d start
 
  /etc/init.d/ipw3945d start
  
If someone know how to add the ipw3945 module to a blacklist so it isn't probed when booting, please note it here:)
+
Configure the wireless card in {{path|/etc/conf.d/net}}:
 +
config_eth1="dhcp"
 +
eth1_dhcpcd="-t 4"
 +
eth1_modules="wpa_supplicant"
 +
wpa_supplicant_eth1="-Dwext"
 +
 
 +
If you are a kismet user it should be configured as follows in {{path|/etc/kismet.conf}}:
 +
suiduser=<login>
 +
source=ipw3945,eth1,ipw3945
 +
 
 +
== VPN ==
 +
To come...
  
 
== Bluetooth ==
 
== Bluetooth ==
Don't know yet...
+
In the kernel configuration:
  emerge bluez-libs bluez-utils
+
Networking  --->
 +
  <*> Bluetooth subsystem support  --->
 +
  <*> L2CAP protocol support
 +
  <*> RFCOMM protocol support
 +
    [*] RFCOMM TTY support
 +
      Bluetooth device drivers --->
 +
        <*> HCI USB driver
 +
 
 +
Now emerge bluez-utils;
 +
emerge bluez-utils
 +
and configure your display name in the device section in {{path|/etc/bluetooth/hcid.conf}}:
 +
name "Your Displayname"
  
 
= External Connections =
 
= External Connections =
 +
 
= ACPI =
 
= ACPI =
 +
Just emerge the acpi daemon:
 +
emerge acpid
 +
rc-update add acpid default
 +
/etc/init.d/acpid start
 +
 
= Extra Features =
 
= Extra Features =
  

Revision as of 21:06, 30 August 2007

Gentoo General

When installing gentoo make shure to use the suspend2-sources instead of the gentoo-sources, and that the USE flags are set correctly. In /etc/make.conf:

VIDEO_CARDS="i810 vesa"
INPUT_DEVICES="keyboard mouse wacom"
# X60
USE="$USE acpi fbsplash hdaps"

Now you can emerge the suspend2-sources, which will enable the nice splash when booting the machine.

emerge suspend2-sources

Sound

In the kernel configuration:

Device Drivers  --->
 Sound  --->
  Advanced Linux Sound Architecture  --->
   PCI devices  --->
    <*> Intel HD Audio

Now emerge alsa-utils and add alsasound to the default runlevel:

emerge -av alsa-utils
rc-update add alsasound default
/etc/init.d/alsasound start

Unmute the sound using alsamixer by pressing the m key on the Master and PCM sliders (MM=Muted / 00=Not muted)

Display

In the kernel configuration:

Device Drivers  --->
 Character devices  --->
  <*> Direct Rendering Manager
   <*> Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver)  --->

Now run xorgcfg which should start smoothly. Do your personal changes (none), and save the files to their default location. Edit /etc/X11/xorg.conf and add the following lines:

Section "dri"
   Mode 0666
EndSection

Emerge xrandr to make rotation working:

emerge xrandr

Input

Pen

In the kernel configuration:

Device Drivers  --->
 Input device support  --->
  <*> Event interface
  [*] Miscellaneous devices  --->
   <*> User level driver support
 USB support  --->
  <*> Wacom Intuos/Graphire tablet support

Emerge setserial;

emerge setserial

and add the following (magic) line to /etc/conf.d/local.start:

setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig

Now add the following lines to your xorgcfg generated /etc/X11/xorg.conf:

Section "InputDevice"
   Identifier  "Cursor"
   Driver      "wacom"
   Option      "Device" "/dev/ttyS0"
   Option      "Type" "cursor"
   Option      "ForceDevice" "ISDV4"
EndSection
Section "InputDevice"
   Identifier  "Stylus"
   Driver      "wacom"
   Option      "Device" "/dev/ttyS0"
   Option      "Type" "stylus"
   Option      "ForceDevice" "ISDV4"
EndSection
Section "InputDevice"
   Identifier  "Eraser"
   Driver      "wacom"
   Option      "Device" "/dev/ttyS0"
   Option      "Type" "eraser"
   Option      "ForceDevice" "ISDV4"
EndSection

And the following three lines in the end of the ServerLayout section:

InputDevice    "Cursor" "SendCoreEvents"
InputDevice    "Stylus" "SendCoreEvents"
InputDevice    "Eraser" "SendCoreEvents"

TODO: xournal

Touch Screen

According to ref. A, this doesn't work.

Trackpoint

Works.

Special keys

Keys On The Monitor

I have currently managed to map the following buttons: Esc, up, down, left, right, center (enter). They are mapped using setkeycodes. The commands can be inserted into /etc/conf.d/local.start like the following:

# Esc button
setkeycodes 6b 1
# Up (used as Page Up)
setkeycodes 71 104
# Down (used as Page Down)
setkeycodes 6f 109
# Left (used as Up)
setkeycodes 6e 105
# Right (used as Down)
setkeycodes 6d 106
# Center (used as Enter)
setkeycodes 69 28

Alternative keycodes can be found for other mappings at ref. B

Fingerprint Reader

This actually is surprisingly easy to make work:) Just emerge thinkfinger >= 0.3;

echo "sys-auth/thinkfinger" >> /etc/portage/package.keywords
emerge thinkfinger

and add the following line in /etc/pam.d/system-auth:

auth       sufficient   pam_thinkfinger.so

The first section in the file should now look like the following:

auth       required     pam_env.so
auth       sufficient   pam_thinkfinger.so
auth       sufficient   pam_unix.so try_first_pass likeauth nullok

All left is to read your fingerprint for your user. Run tf-tool --add-user <login>, then reboot and see if it works. If using gdm, it should work smoothly.

Network

Ethernet

In the kernel configuration:

Device Drivers  --->
 Network device support  --->
  Ethernet (1000 Mbit)  --->
   <*> Intel(R) PRO/1000 Gigabit Ethernet support

Configure the ethernet card in /etc/conf.d/net:

config_eth0="dhcp"
eth0_dhcpcd="-t 4"

Wireless

Note: Make sure that the hardware disable-switch isn't disabled - it is placed at the front/bottom of the laptop (don't make the same mistake as i did!)

In the kernel configuration:

Device Drivers  --->
 Network device support  --->
  Wireless LAN (non-hamradio)  --->
   [*] Wireless LAN drivers (non-hamradio) & Wireless Extensions
Networking  --->
 <*> Generic IEEE 802.11 Networking Stack
  <*> IEEE 802.11i CCMP support
  <*> IEEE 802.11i TKIP encryption

Now, emerge ipw3945, wireless-tools and wpa_supplicant, and add ipw3945d to the default runlevel by issuing:

emerge ipw3945 wireless-tools wpa_supplicant
rc-update add ipw3945d default
/etc/init.d/ipw3945d start

Configure the wireless card in /etc/conf.d/net:

config_eth1="dhcp"
eth1_dhcpcd="-t 4"
eth1_modules="wpa_supplicant"
wpa_supplicant_eth1="-Dwext"

If you are a kismet user it should be configured as follows in /etc/kismet.conf:

suiduser=<login>
source=ipw3945,eth1,ipw3945

VPN

To come...

Bluetooth

In the kernel configuration:

Networking  --->
 <*> Bluetooth subsystem support  --->
  <*> L2CAP protocol support
  <*> RFCOMM protocol support
   [*] RFCOMM TTY support
      Bluetooth device drivers  --->
       <*> HCI USB driver

Now emerge bluez-utils;

emerge bluez-utils

and configure your display name in the device section in /etc/bluetooth/hcid.conf:

name "Your Displayname"

External Connections

ACPI

Just emerge the acpi daemon:

emerge acpid
rc-update add acpid default
/etc/init.d/acpid start

Extra Features

History

5. July - Initial release.

24. July - Added Gentoo General, Sound, Some kernel configuration for the 2.6.21 kernel and new keycodes.

External Sources

A) Linux on the X60 Tablet

B) [1] Keycode Table