Debian Sid on the x60s

How to boot?

Install

Debian/sid

The debian installer should work; else debootstrap does for sure.

/etc/apt/sources.list

deb http://ftp.debian.org/debian/ sid main contrib non-free
deb-src http://ftp.debian.org/debian/ sid main contrib non-free

deb http://www.debian-multimedia.org sid main

deb http://apt.64studio.com/64studio/testing 64studio main
deb-src http://apt.64studio.com/64studio/testing 64studio main

#aldrin et al.
deb http://deb.zeitherrschaft.org/etch binary/

what works out of the box

  • booting 2 CPUs + spash screen
  • X11 + GL (composite) + keyboard + mouse-stick
  • USB + Firewire
  • Network LAN e1000
  • suspend (uswsusp) - s2disk, s2ram
  • Soundcard
  • Volume + Brightness Buttons

what works easily

basically every everything inside this latop works under gnu/Linux. thinkfinger and wireless on a default debian sid are straight forward. fine tweaking the system and Desktop take a little longer. I'm using xfce4 and/or gnome currently with 1GB of RAM (max. 4GB with the X60s)

  • special keys + LID + Battery with ibm_acpi, tbp (sudo!) (30mins)

# file: ~/.Xmodmap

# browser back/forward buttons
keycode 234 = F19
keycode 233 = F20
$ xmodmap ~/.Xmodmap
./configure --with-securedir=/lib/security' '--with-birdir=/etc/pam_thinkfinger'

and edit /etc/pam.d/common-auth

auth    sufficient      pam_thinkfinger.so
auth    required        pam_unix.so try_first_pass nullok_secure
  • Wireless LAN (ipw3945) - use module assistant for stock kernel
m-a a-i ipw3945
apt-get install ipw3945d
modprobe ipw3945
  • IrDa

apt-get install irda-utils

edit /etc/default/irda-utils (DONGLE) or /etc/modprobe.d/irda

alias irda0 nsc-ircc
options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3 dma=3
#install nsc-ircc /bin/setserial /dev/ttyS1 uart none port 0 irq 0;

* internal Modem
 apt-get install module-assistant pppconfig sl-modem-daemon ; m-a prepare; m-a update ; m-a a-i sl-modem
  • WAN GSM-modem - modprobe sierra - tweak usbserial options

$ lsusb

Bus 002 Device 003: ID 1199:6804 Sierra Wireless, Inc.
$ modprobe modprobe usbserial vendor=0x1199 product=0x6804

what might work with some tricks

  • HDAPS - acceleration sensor & harddisk protection

needs a patch for 2.6.18 - but is detected out of the box with 2.6.20.1 ! on my system i get only zero readings so far!

apt-get install hdaps-utils hdapsd
$ hdaps-gl # check if working! 

edit /etc/default/hdapsd - DISK=sda

* Embedded Security Subsystem - should work with recent linux kernels, but with crypted root&swap and linux-memlock capabilities, I did not see the need to store sensitive keys on this special device. I have not tried it - should need arise:

Kernel Modules

snippet from /etc/modules.conf

options ibm_acpi hotkey=enable,0xff9f experimental=1
ibm_acpi
battery
ac

# req. for powernowd.
speedstep-centrino
cpufreq_userspace

# needed for tpb (*think-pad-buttons)
nvram

# hard disk protection
hdaps

# GSM wireless / USB (usbserial in /etc/hotplug)
sierra

#SD_card reader
sdhci

Realtime SMP Kernel

I'm successfully using a 2.6.21-rc3-rt0 kernel with a xrun-free jackd (64 * 3 frames / 48kHz with internal intel 82801G and 64 * 2 frames / 48kHz on external USB UA-25

How to get there:

get the wireless sources (m-a a-i sl-modem) and change SA_SHIRQ in the request_irq functions to IRQF_SHARED. after that it compiles and works! (m-a -n -o build sl-modem).

get the wireless sources (m-a a-i ipw3945) and change SA_SHIRQ in the request_irq functions to IRQF_SHARED. after that it compiles and works! (m-a -n -o build ipw3945) Use the source and patches available from http://ipw3945.sourceforge.net/ for 2.6.20.1 - still need to fix the SA_SHIRQ but then it works just the same!

kqemu works out of the box (m-a a-i kqemu)

linux-2.6.21-rc3-rt0 suspends to disk with uswsusp! but suspend to RAM does not recover after suspending!

Dual Head - xorg

Tips and Tricks

Power saving

#save power - disable USB1.0/1.1 hubs
rmmod uhci_hcd

## power save: (eth2 is the ipw3945 wireless LAN)
iwpriv eth2 set_power 7
## high power:
iwpriv eth2 set_power 1

kernel compile copied the debian defaults from 2.6.18 - enabled full realtime-preemtion and re-enabled SATA (.config changed from 2.6.18 to 2.6.20)

time CONCURRENCY_LEVEL=2 make-kpkg kernel_image

realtime setup: /etc/security/limits.conf

@audio - rtprio 90
@audio - nice -5
@audio - memlock 500000

iceweasel - thinkpad brosers back/fwd - /usr/share/iceweasel/chrome/browser/content/browser/browser.xul add just before </keyset>

keys map to tabs

<key id="goBackTabKb" keycode="VK_F19" oncommand="gBrowser.mTabContainer.advanceSelectedTab(-1)" />
<key id="goForwardTabKb" keycode="VK_F20" oncommand="gBrowser.mTabContainer.advanceSelectedTab(1)" />

or for broser-back-forwad:

<key id="goBackKb" keycode="VK_F19" command="Browser:Back" />
<key id="goForwardKb" keycode="VK_F20" command="Browser:Forward" />

Conclusion

I was amazed how well everything on this machine worked out of the box. - in two hours1) I had complete debian/sid incl. fingerprint-reader wireless and suspend! - realtime and fine tweaking took a little over a day!

The 2.6.18 debian stock-kernel worked mostly xrun-free with jack -d 512 -p 3 and provides a good starting point! The realtime-kernel turned this laptop in a very cool A/V system!

Resources

1) not counting the 30mins crypt-disk initialization
 
wiki/x60sid.txt · Last modified: 15.12.2011 10:47 by rgareus