====== Debian Sid on the x60s ====== ===== How to boot? ===== * http://www.debian.org/devel/debian-installer/ * use grub+initrd or floppy-installer ''install/'' and ''install.386/'' on a memory stick! ===== 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 * **Fingerprint reader** (10 mins) * http://thinkfinger.sf.net * PAM module (login, gdm-login, sudo) - no screensaver (unless suid) ./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: * http://www.thinkwiki.org/wiki/Embedded_Security_Subsystem * http://www.thinkwiki.org/wiki/Tpm * http://trousers.sourceforge.net/tpm_keyring2/quickstart.html ===== 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 linux-[[http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2|2.6.20]] and the [[http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.21-rc3.bz2|2.6.21-rc3]] prepatch the from http://kernel.org * download [[http://people.redhat.com/mingo/realtime-preempt/patch-2.6.21-rc3-rt0|2.6.21-rc3-rt0]] realtime-patch from http://people.redhat.com/mingo/realtime-preempt/ * unzip src & apply patches & configure the kernel ({{wiki:x60sid:config-2.6.21-rc3-rt0-rg2.txt|.config}}) * compile to a dpkg: ''CONCURRENCY_LEVEL=2 make-kpkg kernel_image'' and install the debian package * ''update-initramfs -k -c'' && ''update-initramfs -k all -u'' && ''update-grub'' 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 ====== see: [[http://www.williambrownstreet.net/wordpress/?p=35&page=2]] ====== 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 '''' keys map to tabs or for broser-back-forwad: ====== Conclusion ====== I was amazed how well everything on this machine worked out of the box. - in two hours((not counting the 30mins crypt-disk initialization)) 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 ====== **Downloads:** * {{wiki:x60sid:ipw3945-1.1.3-rg0.tgz|patched ipw3945}} for 2.6.20.1-rt8 * {{wiki:x60sid:config-2.6.20.1-rg0.txt|.config}} for 2.6.20.1-rg0 * {{wiki:x60sid:config-2.6.21-rc3-rt0-rg2.txt|.config}} for 2.6.21-rc3-rt0-rg0 **external references:** * http://tpctl.sourceforge.net/#download * http://www.thinkwiki.org/wiki/How_to_make_use_of_IrDA * http://www.thinkwiki.org/wiki/Tp_smapi * http://www.debianhelp.org/node/3824 * http://www.klabs.be/~fpiat/linux/debian/Etch_on_Thinkpad_T60.html