A few notes about my recent transition to Debian Squeeze (AKA 6.0) from Lenny on four different computers (two Thinkpad laptops, T42p and X200s, and two desktops, one with custom outdated hardware).

Basic installation

Be sure to read debian release notes (for your architecture) before upgrading, and in particular the section that discusses upgrade of the packages and precautions required by the udev/kernel changes. This is important as this time there are much more changes than usual when moving from Lenny to Squeeze.

The disk relabelling by ID scripts worked correctly in my case, although I removed it afterwards preferring to keep device names in /etc/fstab and other places.

The migration to the new boot system usually did not work in the first place and I had to remove some packages (suggested by the installtion system) before doing the change with dpkg-reconfigure sysv-rc.

The transition to the new version of grub was also easy although you need to enable it voluntarily using upgrade-from-grub-legacy. The new configuration system in /boot/grub/grub.cfg is a bit harder to understand and not well documented (basically you need to add or edit scripts in /etc/grub.d/ before generating the config file with grub-mkconfig). It looks like it would be a bit harder to use your own compiled kernel. However, for the first time in my Lnux years, I am now using the stock Debian kernel on all my computers (including laptops) as everything (suspend, hibernate, cpu scaling, etc.) worked mostly out of the box. The main configuration items are in /etc/default/grub where I added in particular the resume (swap) partition using GRUB_CMDLINE_LINUX. Note that my Windows booting entries (when there were some) were gone, so I added the commands described here or there in /etc/grub.d/40_custom.

Be careful to check the possible messages during the install regarding firmware as these may point to additional packages that you will need to handle your hardware. In my case, I needed the firmware-linux-nonfree for the ATI graphic card in the T42p to work correctly (the laptop would not suspend or hibernate without this) and the tg3 (Ethernet) driver in one of the desktops as well the firmware-ipw2x00 and firmware-iwlwifi packages for the wifi cards. The (very) good side of this is that those are packaged and you don't need to fetch them from (potentially) insecure sites, the bad side is that you may miss something without knowing it (I spent some time before noticing that firmware-linux-nonfree was needed for the ATI Radeon card).

Kde 4

With kde 4, the hardest thing is to resist running away in front of what looks like a complete lack of usability in the first place. If you do, it is worth it as everything can be tuned to work properly after some tweaking and the result is, in many respects, superior to what you had with previous version (except for Amarok for which this really looks like a significant regression).

The single most important thing is to restrict file indexing with Nepomuk in System Settings > Advanced > Desktop Search > File Indexing to what you really need and can bare. To give you an idea, indexing will produce an index file (located under ~/.kde) that is at least as big as the files that you are trying to index and for very large filessytems (> 1Gb) the resulting system extra load is really significant, sometimes resulting in complete freezes, especially after login. The indexing is useful but (I found) less so than the one I already used on my main desktop with recoll (failing in particular to index mailboxes). In addition, I can launch the rebuild of the recoll database at nighttime using a cron, which is definitively more convenient.

Here are several things you may need to configure kde:

  • Make sure that you don't have an old .kde4 folder before login for the first time.
  • Go to System Settings > Notifications -> Stop all audio to remove sounds (I hate this).
  • To fix incorrect icons on menu make sure that the Oxygen icon set is selected in System Settings > Appearance > Icons (read more there).
  • Old kde 3.5 packages from lenny are not disinstalled and must be removed manually (with dpkg) using dpkg -l | grep -i kde | grep ii | grep 3.5 to find them.
  • kfmclient (command line file managing program) is now called kioclient (but syntax seems to be identical).
  • To select Dolphin as the file wiever, go to System Settings > Advanced > File Association.
  • There are additional configuration options (left mouse) on the destop (Desktop Activity Settings), the folder view widget (the concept that replace the desktop icons) as well as the pannel, be sure to check these (in particular, previews in the folder view widget is controlled from here and not from Dolphin preferences). It is often hard to find (and, even more, remember) which configuration options are there or in System Settings (desktop wallpaper for instance is in the Desktop Activity Settings).
  • Except perhaps for netbooks, in System Settings > Appearance > Style > Fine Tuning select one of the 'High display resolution' options as the other ones have a visible (negative) impact on font rendering, even on a 1280x800 13'' screen (read more here).

Utf-8 migration

After some hesitations due to Emacs/VM not yet handling utf-8 properly (mostly fixed in Squeeze with proper emacs config), I finally migrated to utf-8. Kde has an horrendous and ridiculous bug which won't let you manipulate (rename, delete, etc.) files which feature characters that are not in your current locales. Hence, to deal with non utf-8 characters you need to do otherwise and I used convmv -f ISO-8859-1 -t UTF-8 (-r) <dir>. For the content of text file, you can recode in place using recode -d latin1..utf8 <file>.

Thinkpad specifics

To suspend and hibernate the T42p using scripts from the hibernate package, I commented all VBE and IbmAcpi related options in /etc/hibernate/common.conf and /etc/hibernate/ram.conf as suggested here.

The thinkpad_acpi changed a bit and the corrects events for F4 F12 and F5 (the only one I am using) keys now are

 event=button/sleep SBTN 00000080 00000000

 event=button/suspend SUSP 00000080 00000000

 button/wlan WLAN 00000080 00000000 (F5)

and your acpi scripts should only look for the event=button/sleep, event=button/suspend, ... events (hence, some scripts from the acpi-support package may indeed work out-of-the-box for you).

To enable trackpoint scrolling, replace the old (deprecated) PS/2 mouse entry with:

Section "InputDevice"
   Identifier "TPPS/2 IBM TrackPoint"
   Driver     "evdev"
   Option     "Device" "/dev/input/by-path/platform-i8042-serio-1-event-mouse"
   Option     "GrabDevice" "False"
   Option     "EmulateWheel" "true" #Enable wheel emulation for the Trackpoint
   Option     "EmulateWheelButton" "2" #Use the middle button for the emulation
   Option     "XAxisMapping" "6 7" #Map trackpoint X axis to X axis of emulated wheel
   Option     "YAxisMapping" "4 5" #Map trackpoint Y axis to Y axis of emulated wheel