The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    Install Guide: Debian Etch on T42 incl. Compiz

    Discussion in 'Linux Compatibility and Software' started by wearetheborg, Aug 26, 2007.

  1. wearetheborg

    wearetheborg Notebook Virtuoso

    Reputations:
    1,282
    Messages:
    3,122
    Likes Received:
    0
    Trophy Points:
    105
    I have installed Debian Etch on my recently acquired IBM thinkpad T42.
    I have installed cpu frequency control, compiz. I will post updates whenever I successfully install each module.

    This guide is meant for noobs, I'm a pretty noob too, so experts, please bear with me. Suggestions for improvement are welcome. :)

    Debian is the distro on which Ubuntu is based. Unfortunately, instructions for debian seem to be all over the place for a noob like me, so I'll try to compile everything here.
    Debian vs Ubuntu:
    http://www.linuxquestions.org/questions/showthread.php?t=520049
    http://www.linuxquestions.org/questions/showthread.php?t=549642


    Specs
    : IBM thinkpad T42
    Pentium M 2Ghz Dothan
    2GB ram
    38GB HDD
    1400x1050 SXGA+ screen
    ATI Mobility radeon 7500 video card with 32 mb ram
    Atheros a/b/g wireles card


    Done:
    Base install, Suspend/hibernate, cpu frequency control, compiz.



    Base Install:

    I installed using the net install debian etch CD.
    I was connected to the internet via the ethernet. I partitioned the HDD (38GB) into
    Windows partiton
    A fat32 partition (4.5GB)
    A / partition (6.3GB)
    A /home partition (17GB)
    A swap partition (2GB)

    I chose the "laptop" and "desktop" and "standard system" packages.
    It installed everything, there was one warning message on one of the packages, I think it had to do with suspend to ram, I just clicked ok.

    It rebooted into SXGA+ resolution, I logged in, did an update immediately, then immediately rebooted. This was via ethernet.

    Post Install Configuration:
    I edited my /etc/apt/sources.list file to the following:
    Code:
    #
    # deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Binary-1 20070407-11:29]/ etch contrib main
    
    deb http://ftp.debian.org/debian/ etch main contrib non-free
    deb-src http://ftp.debian.org/debian/ etch main contrib non-free
    
    deb http://security.debian.org/ etch/updates main contrib non-free
    deb-src http://security.debian.org/ etch/updates main contrib non-free
    
    deb http://www.debian-multimedia.org/ etch main
    Most debian installation instructions are of the format
    Code:
    apt-get install ...
    But I recommend aptitude instead of apt-get. Aptitude is a better package manager than apt-get, and can be be used whereever apt-get can be used.
    Just substitute aptitude instead of apt-get.
    If you just type aptitude by itslef, it will open up in the console a list of packages installed, those available etc.
    More on aptitude as a REF:
    http://people.debian.org/~dburrows/aptitude-doc/en/

    Back to the install.
    I did
    Code:
    aptitude update
    to update the database.
    Then I installed some packages:
    Code:
    aptitude install build-essential
    
    Then I had to type in the terminal

    Code:
    uname -r
    to find out what kernel version I was running. The kernel I had was 2.6.18-4-686. From there I installed the kernel headers by typing in the terminal as root user :

    Code:
    aptitude install linux-headers-2.6.18-4-868
    Obviously you should type “uname -r” in the terminal to find out which kernel you are running and install the appropriate linux headers for that particular kernel. As an example if you have 2.6.18-5-686 then you should install linux-headers-2.6.18-5-686.

    Then the next thing to install is:
    Code:
    aptitude install debian-multimedia-keyring
    This will put in the public key.
    Then do update:
    Code:
    aptitude update
    I then installed some more packages:
    Code:
    aptitude install  kaffeine xmms xpdf gv mplayer xine-ui
    digikam sun-java5-jre sun-java5-plugin w32codecs libdvdcss2 rcconf
    At this point mp3, avi files were playing fine.
    rcconf is a neat console based utility to select which services should and should not be started at boot time.
    I then deslected some services that were starting up, like mail-server utilities, printer, bittorent.

    Standby/Hibernate:
    These were working out of the box, provide I was logged in. I get kernel panic if I'm at the lgin menu. But if I'm logged in, then work fine.
    Standby to RAM works espcially fast, like 5 seconds. And wake up equally fast.
    Only problem is the area below the spacebar remains a bit warm in stanby. The wireless card and the gpu are in that area. I'm not sure how to fix that.

    CPU Frequency Control:

    I have to first remove this:
    Code:
    aptitude remove powernowd
    The I installed sysfsutils, cpufreqd, cpufrequtils:
    Code:
    aptitude install sysfsutils cpufreqd cpufrequtils
    Now we'll load the modules:
    Code:
    modprobe speedstep-centrino
    modprobe cpufreq_conservative
    modprobe cpufreq_ondemand
    modprobe cpufreq_powersave
    modprobe cpufreq_stats
    modprobe cpufreq_userspace
    speedstep-centrino is the module for controlling centrino processors, the rest are frequency "governors"
    We'll test that everything went as expected:
    Code:
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
    You should see output similar to
    Code:
    powersave conservative ondemand performance userspace
    You can change the current scheme by something like
    Code:
    echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    And view the current cpu frequency by
    Code:
    cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
    Now we need to load them at boot time.
    Add the following lines to the end of /etc/modules
    Code:
    speedstep-centrino
    cpufreq_conservative
    cpufreq_ondemand
    cpufreq_powersave
    cpufreq_stats
    cpufreq_userspace
    Add the following lines to /etc/sysfs.conf
    Code:
    devices/system/cpu/cpu0/cpufreq/scaling_governor=userspace
    Where userspace can be changed to another governor type (i.e. conservative, powersave, etc.). You can also add other configuration options that are specific to the governor selected.

    Then I added a cpu frequency changing applet as described here: http://www.ubuntugeek.com/howto-change-cpu-frequency-scaling-in-ubuntu.html

    This applet can also change governors.
    Tip: Whenever I plug out of AC power and plug in again, I would find myself on "performance" governor, I would then change to powersave to change the cpu frequency.


    Compiz:
    /etc/X11/xorg.conf had to be modified first.
    Make a backup:
    Code:
    cp /etc/X11/xorg.conf  /etc/X11/xorg.conf.bak
    Then edit xorg.conf to have the following lines:
    Under the section "Device"
    Code:
    Section "Device"
            Identifier      "ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500]"
            Driver          "ati"
            BusID           "PCI:1:0:0"
            VideoRam        32768
            Option          "AGPMode" "4"
            Option          "AGPSize" "32"
            Option          "DRI" "true"
            Option          "AGPFastWrite" "true"
            Option          "EnablePageFlip" "true"
            Option          "XAANoOffscreenPixmaps" "true"
            Option          "AllowGLXWithComposite" "true"
            Option          "RenderAccel"   "true"
    EndSection
    Then in the section "Screen, make sure these lines are there just after "monitor"
    Code:
            Monitor         "Generic Monitor"
            DefaultDepth    16
            Option "AddRGBGLXVisuals" "true"
            Option "DisableGLXRootClipping" "true"
            Option  "XAANoOffscreenPixmaps" "true"
    
    In Section "Module", make sure you have
    Code:
    Load   "dbe"
    in first position.


    Finally, at the end of xorg.conf, you should have
    Code:
    Section "DRI"
            Mode    0666
    EndSection
    
    Section "Extensions"
            Option "Composite" "Enable"
    EndSection
    I assume that you have direct rendering enabled. In other words, the output of
    Code:
    glxinfo | grep direct
    should say (if glxinfo doesn't work, make sure you have the package mesa-utils installed) :
    Code:
    direct rendering: Yes


    Starting with xorg 7.1, AIGLX is integrated in the X server. Also, it should get loaded automatically. Ensure that it does :
    Code:
    cat /var/log/Xorg.0.log | grep -i aiglx
    
    which should say (==) AIGLX enabled. If it doesn't get loaded, you can force it by adding :
    Code:
       Option   "AIGLX"   "true"
    to Section "ServerLayout" of your /etc/X11/xorg.conf.


    Log out, restart X (CTRL+ALT+BACKSPACE), and verify things still work :D

    Log in.
    Now we install compiz:
    Code:
    aptitude install compiz
    Start compiz:
    Code:
    compiz --replace --fast-filter
    3d-cube etc should now be working.
    This can be started automatically in gnome upon login:
    Go in Desktop -> Preferences -> Sessions. Then choose the Startup Programs tab and add an entry for Compiz :
    Code:
    compiz --replace --fast-filter
    Unfortunately, I dont know how to change the compiz setings yet


    ToDo:

    Wireless, undervolting, HDD shock protection.

    References:
    http://www.linuxquestions.org/questions/forumdisplay.php?f=26
    http://lunapark6.com/debian-40-etch.html
    http://www.debiantutorials.org/content/view/161/211/
    http://people.debian.org/~dburrows/aptitude-doc/en/ch02s02s02.html
    http://www.debian-multimedia.org/
    http://ubuntuforums.org/showthread.php?t=248867
    http://www.ubuntugeek.com/howto-change-cpu-frequency-scaling-in-ubuntu.html
    http://www.student.tue.nl/Q/j.f.berndsen/debian/
    http://technowizah.com/2006/10/debian-how-to-aiglx-compiz.html
    http://aparateys.blogspot.com/2007/06/installing-ubuntu-704-feisty-fawn-on.html
    https://www.dedigentoo.org/trac/linux-phc/#Documentation
    http://ubuntuforums.org/showthread.php?t=146366
    http://www.thinkwiki.org/wiki/Pentium_M_undervolting_and_underclocking
     
  2. wearetheborg

    wearetheborg Notebook Virtuoso

    Reputations:
    1,282
    Messages:
    3,122
    Likes Received:
    0
    Trophy Points:
    105
    This post is a placeholder.
     
  3. t12ek

    t12ek Notebook Consultant

    Reputations:
    9
    Messages:
    190
    Likes Received:
    0
    Trophy Points:
    30
    While I haven't looked at it very in depth (I don't run a Debian-based distro, nor have a Thinkpad of any kind), it looks like a pretty good guide so for wearetheborg, good job.

    One comment though, when you go through the step to install the kernel header package, instead of using two steps, you can just make it this one:

    Code:
    aptitude install linux-headers-$(uname -r)
    
    The "$( command)" syntax is for command substitution. So that section gets replaced with the output of the command inside it. Besides turning two steps into one, it also eliminates the hassle and potential human error (typos) when copying the preceding line.