Installing Gentoo on a ThinkPad X60 Tablet
Contents
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
Some general apps are needed, these are installed:
emerge thinkpad echo "thinkpad" >> /etc/modules.autoload.d/kernel-2.6
TODO:
echo "app-laptop/hdapsd" >> /etc/portage/package.keywords emerge hdapsd app-laptop/tp_smapi rc-update add hdapsd default /etc/init.d/hdapsd start
CONFIG_NVRAM tpb
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
Now for the rotation to work, we need to emerge some stuff, and make some editing. First, emerge some apps (note: wee need linuxwacom >= 0.7.8)
echo "x11-drivers/linuxwacom" >> /etc/portage/package.keywords emerge linuxwacom sudo xhost xrandr
Get the rotate script from ref. A, and make some adjustments:
cd /usr/bin wget http://luke.no-ip.org/x60tablet/examples/rotate chmod +x rotate sed "s/cursor/Cursor/" -i rotate sed "s/stylus/Stylus/" -i rotate sed "s/eraser/Eraser/" -i rotate sed 's/"%s set %s Rotate %s"/"sudo su -c \\"DISPLAY=:0.0 %s set %s Rotate %s\\""/' -i rotate sed "s/'normal': 'NONE', 'left': 'CCW', 'right': 'CW', 'inverted': 'HALF'/'normal': '0', 'left': '2', 'right': '1', 'inverted': '3'/" -i rotate
Put yourself into the wheel group, and setup sudo to make you run xsetwacom without password.
TODO: xhost +
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.
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 > 22 and wpa_supplicant, and add ipw3945d to the default runlevel by issuing:
echo "net-wireless/wireless-tools" >> /etc/portage/package.keywords 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.
2. September - All sections are has been polished, and should work properly. Only the last ones are missing.
External Sources
B) [1] Keycode Table