Mostly Unix

Home, 2007-06-28

IBM ThinkPad
Changing Keyboard
X
Device
Fonts
Trackpad and Stick
Problems
Debian
Setting the Configuration Interface
Alternative sources
Dist downgrade
Package downgrade
Backports
Package mixing
Package Info
Backup
Miscellaneous
mkisofs and multiple paths
TODO
Links

IBM ThinkPadContents

Support and download: http://www-307.ibm.com/pc/support/site.wss/quickPath.do?quickPathEntry=2373gtg&sitestyle=lenovo

Firmware upgrade: http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-HDFIRM

Changing KeyboardContents

http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-53172

http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-53131

Language        NMB part number for 15 inch models      ALPS part number for 15 inch models
English, U.S.   93P4780                                 93P4840

XContents

XFree86 version: 4.3.0.1.

DeviceContents

The tools xdpyinfo and xvinfo can be used to get info on how the X server works.

Section "Device"
    Identifier                          "ATI Graphics Adapter - radeon"
    Driver                              "radeon"
    BusID "PCI:1:0:0"    # vendor=1002, device=4e54
EndSection

FontsContents

To get bitmapped fonts to work I had to edit /etc/font/local.conf, there is a comment which states what to do. Then I just had to restart xfs, also I read somewhere that it was a good idea to run fc-cache.

I am really fond of the Terminus fonts for terminal applications and emacs (package: xfonts-terminus).

Trackpad and StickContents

The problems are that the upper button in the middle do not work and the track pad allows tapping. First, I used gpm with an updated synaptics driver to handle input, but this did not work without problems. The real solution is to use the Synaptics Touchpad Driver for XFree 4.x. (http://w1.894.telia.com/~u89404340/touchpad/).

I now have the following in my XF86Config-4:

        Load    "synaptics_drv"

Section "InputDevice"
# using the X module
  Identifier    "Synaptics Mouse"
  Driver        "synaptics"
  Option        "Device"        "/dev/psaux"
  Option        "Protocol"      "auto-dev"
# absolute area: 0-6143 in both directions
  Option        "LeftEdge"      "1700"
  Option        "RightEdge"     "5300"
  Option        "TopEdge"       "1700"
  Option        "BottomEdge"    "4200"
  Option        "FingerLow"     "25"
  Option        "FingerHigh"    "30"
  Option        "MaxTapTime"    "180"
  Option        "MaxTapMove"    "220"
  Option        "VertScrollDelta" "100"
  Option        "MinSpeed"      "0.06"
  Option        "MaxSpeed"      "0.12"
  Option        "AccelFactor" "0.0010"
  Option        "SHMConfig"     "on"
  Option        "TapButton1"    "0"
  Option        "TapButton2"    "0"
  Option        "TapButton3"    "0"
#  Option       "Repeater"      "/dev/ps2mouse"
EndSection

It works pretty well (no tapping, and all buttons work).

ProblemsContents

There are problems with radeon 3d and suspend, some solution might be here: http://cpbotha.net/dri_resume.html

DebianContents

Secure the installation: http://www.debian.org/doc/manuals/securing-debian-howto/index.en.html

If using testing, set up sources.list to use:

deb http://security.debian.org/ woody/updates main contrib non-free

Clean up old packages and stuff with: apt-get clean

Setting the Configuration InterfaceContents

The interface (dialog, editor etc.) used to configure packages is part of the condiguration of debconf, so it can be changed with:

dpkg-reconfigure debconf 

Alternative sourcesContents

Dist downgradeContents

I was using testing, but when it became stable I would like to follow stable for a while. The problem was that some of my packages was already upraded to the new testing and that meant that many installs and upgrades was impossible. The solution was simply to put the following in /etc/apt/preferences:

Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 1001

And do a apt-get dist-upgrade. It worked well (but no critical packaged needed to be downgraded however).

Note: Debian will only downgrade if priorities exceed 1000, that is why 1001 works.

Package downgradeContents

Find the version of the package that you want to install. Often this will be in /var/cache/apt/archives if the new package was only recently installed. If not you can often get the old package from a mirror. Look under pool in the mirror eg [mirror]/pool/[packages].

Use dpkg -i package.deb for install the new lower version.

If there are dependencies on the newer version the package won't install. You have a choice of either forcing the install or downgrading the dependencies as well.

BackportsContents

Backports of newer packages to Debian: http://backports.org/

Package mixingContents

Set up the different sources in /etc/apt/sources.list and make priorities in /etc/apt/preferences. (Explained in apt_preferences(5), http://jaqque.sbih.org/kplug/apt-pinning.html, and http://www.argon.org/~roderick/apt-pinning.html)

Example from apt_preferences(5) to track stable:

       Explanation: Uninstall or do not install any Debian-originated
       Explanation: package versions other than those in the stable distro
       Package: *
       Pin: release a=stable
       Pin-Priority: 900

       Package: *
       Pin: release o=Debian
       Pin-Priority: -10

Still, it is possible to use testing:

apt-get install <package>/testing

This will sometimes fail with a strange error message (something with "broken packages"). The following works better as it sets the target-release to testing:

apt-get -t testing install <package>

If backports is used, do something like:

apt-get -t sarge-backports install <package>

Use -s to check versions etc.

Package InfoContents

Find out which packet a file came from:

dpkg -S <path-and-filename>

Info about package:

dpkg -p <package>

Find out which packages are installed:

dpkg --get-selections
dpkg --set-selections

List all packages starting with emacs: dpkg -l 'emacs*'

Show files in the package slashem-common: dpkg -L slashem-common

Show status: dpkg -s slashem-common

Setting hold from the command line (so it will not be upgraded):

    # echo slashem hold | dpkg --set-selections

Upgrade later with:

    # echo slashem install | dpkg --set-selections

(Re)configure a package with:

dpkg-reconfigure <package>

Install a package directly:

dpkg -i <package.deb>

BackupContents

Together with /etc it is a good idea to backup the package listing and the DebConf-base:

# dpkg --get-selections > pakkeliste.backup
# debconf-get-selections > debconfdb.backup

Restore with:

# debconf-set-selections < debconf.backup
# dpkg --set-selections < pakkeliste.backup
# apt-get dselect-upgrade

MiscellaneousContents

Alsa, if sounds stops working try to reconfigure as root with =alsaconf=.

Tcpa on linux: http://www.research.ibm.com/gsal/tcpa/

Xine codecs, find them on the mplayer download page, install anywhere and update .xine/config with something like decoder.external.win32_codecs_path:/opt/win32codecs/ -- this can also be done from within xine (config->decoder).

mkisofs and multiple pathsContents

mkisofs and frontends like growisofs will merge content if multiple paths are given as pathspecs, e.g.:

mkisofs -J -r -o image.iso /etc /root /opt

will throw the content of /etc, /root, and /opt into the root of the disk.

Graftpoints can be used to keep the structure on the disk or image:

mkisofs -J -r -o image.iso -graft-points etc/=/etc root=/root opt/=/opt

this will make an image with the three dirs at the top level. This approach will place the specified dir at the exact point, e.g. etc/=/etc/apt will place the content of /etc/apt in /etc and not in /etc/apt -- that requires etc/apt/=/etc/apt etc.

TODOContents

LinksContents

Hwrandom: http://linuxcertified.com/hw_random.html

Thinkpad R40: http://www.beezmo.com/Linux.htm

R50: http://www.travellingkiwi.com/laptop/r50p%20Linux.html

R40: http://www.astro.uu.se/~tmarqar/thinkpad-r40.html

X40 (info on sound): http://www.chronox.de/x40_linux/linux_on_x40.html

T40p (info on sound): http://www.digriz.org.uk/t40p-linux/#sound

T40 (2.4 kernel): http://www.w-m-p.com/linux-on-t40.html