Difference between revisions of "Installing Ubuntu on a ThinkPad X31"

From ThinkWiki
Jump to: navigation, search
(minor rephasing)
(Using ACPI)
Line 37: Line 37:
  
 
===Using ACPI===
 
===Using ACPI===
   
+
 
 +
Get ubuntulinux, radeonlight and this script, nothing more!
 +
 
 +
mig@mobileubuntu:/etc/acpi # cat lid.sh
 +
 
 +
 
 +
#!/bin/sh
 +
 
 +
. /usr/share/acpi-support/power-funcs
 +
 
 +
getXuser;
 +
 
 +
grep -q closed /proc/acpi/button/lid/*/state
 +
if [ $? = 0 ]
 +
then
 +
        . /usr/share/acpi-support/screenblank
 +
        echo `fgconsole` > $LIDSTATE
 +
        chvt 12
 +
 
 +
        # Unmount any NFS or SMB filesystems:
 +
        echo "unmounting NFS and SMB filesystems"
 +
        umount -a -r -t nfs,smbfs
 +
 
 +
        # remove modules
 +
        echo "remove modules"
 +
        #rmmod ipw2100    ## WLAN
 +
        rmmod ehci-hcd  ## USB module
 +
        rmmod uhci-hcd  ## -||-
 +
 
 +
        # update the disk super block
 +
        echo "sync"
 +
        sync
 +
 
 +
 
 +
        # wait a second
 +
        sleep 1
 +
 
 +
 
 +
        # turn the LCD off
 +
        echo "backlight off"
 +
        radeontool light off
 +
 
 +
 
 +
        # suspend to ram
 +
        echo "suspend to ram"
 +
        echo -n mem > /sys/power/state
 +
 
 +
        # load modules
 +
        modprobe ehci-hcd
 +
        modprobe uhci-hcd
 +
 
 +
        # turn the LCD on
 +
        echo "turn the LCD on"
 +
        radeontool light on
 +
 
 +
        # go back to VT7 (X)
 +
        echo "back to VT7"
 +
        chvt 7
 +
 
 +
else
 +
        grep -q off-line /proc/acpi/ac_adapter/*/state
 +
        #if [ $? = 1 ]
 +
        #then
 +
                #su - $user -c "xscreensaver-command -unthrottle"
 +
        #fi
 +
        chvt `cat $LIDSTATE`
 +
fi
 +
 
 +
 
 +
 
  
 
[[Category:X31]] [[Category:Ubuntu]]
 
[[Category:X31]] [[Category:Ubuntu]]

Revision as of 23:08, 21 February 2005

Preface

I installed hoary ( Ubuntu "unstable") because of some specific needs. Netherless, this article should apply to Ubuntu 4.10 "The Warty Warthog" too. Everything seems to work very fine.

See Henrik Brix Andersens page for a lot of useful background information.

Installing without cdrom or floppy

Follow the Netboot remarks instructions at UbuntuSupport.

Choosing between APM and ACPI

I tested both, APM and ACPI but settled with ACPI which now works like a charm.

Ubuntu ships with ACPI enabled, but without ACPI suspend-to-disk being configured. Since ACPI suspend to ram does not switch off the LCD backlight neither suspend mode is working out of the box. See below how to configure ACPI.

On the other hand: having ACPI disabled will make your system use about 10% more power which reduces my battery runtime from ~4:00h to 3:40h.

Please read "How to make use of Power Management features" for more in depth information.

Disabling ACPI and using APM

Simply disabling ACPI at boottime activates APM which works fine with suspend to ram and suspend to disk.

To disable ACPI boot your kernel with acpi=off

...describe how to edit /boot/grub/menu.lst...

APM based suspend to disk needs a save2disk.img hibernation file on FAT16. Use the tphdisk utility to create this file.

Use Fn-F4 to suspend-to-ram and Fn-F12 to suspend-to-disk.

Using ACPI

Get ubuntulinux, radeonlight and this script, nothing more!

mig@mobileubuntu:/etc/acpi # cat lid.sh


  1. !/bin/sh

. /usr/share/acpi-support/power-funcs

getXuser;

grep -q closed /proc/acpi/button/lid/*/state if [ $? = 0 ] then

       . /usr/share/acpi-support/screenblank
       echo `fgconsole` > $LIDSTATE
       chvt 12
       # Unmount any NFS or SMB filesystems:
       echo "unmounting NFS and SMB filesystems"
       umount -a -r -t nfs,smbfs
       # remove modules
       echo "remove modules"
       #rmmod ipw2100    ## WLAN
       rmmod ehci-hcd   ## USB module
       rmmod uhci-hcd   ##  -||-
       # update the disk super block
       echo "sync"
       sync


       # wait a second
       sleep 1


       # turn the LCD off
       echo "backlight off"
       radeontool light off


       # suspend to ram
       echo "suspend to ram"
       echo -n mem > /sys/power/state
       # load modules
       modprobe ehci-hcd
       modprobe uhci-hcd
       # turn the LCD on
       echo "turn the LCD on"
       radeontool light on
       # go back to VT7 (X)
       echo "back to VT7"
       chvt 7

else

       grep -q off-line /proc/acpi/ac_adapter/*/state
       #if [ $? = 1 ]
       #then
               #su - $user -c "xscreensaver-command -unthrottle"
       #fi
       chvt `cat $LIDSTATE`

fi