Difference between revisions of "Installing Ubuntu 6.10 on a ThinkPad X40"

From ThinkWiki
Jump to: navigation, search
 
(10 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
|-
 
|-
 
|rowspan=2|Installation  
 
|rowspan=2|Installation  
| Network Installation ||class="diff-addedline"| Unknown
+
| Network Installation ||class="diff-context"| Unknown
 
|-
 
|-
 
| USB Installation    ||class="diff-addedline"| Yes (CD)
 
| USB Installation    ||class="diff-addedline"| Yes (CD)
Line 15: Line 15:
 
| Laptop Screen  ||class="diff-addedline"| Yes
 
| Laptop Screen  ||class="diff-addedline"| Yes
 
|-
 
|-
| CRT / Projector ||class="diff-context"| Yes
+
| CRT / Projector ||class="diff-addedline"| Yes
 
|-
 
|-
 
|rowspan=2|Power Management
 
|rowspan=2|Power Management
| Software Suspend (hibernate) ||class="diff-context"| Yes
+
| Software Suspend (hibernate) ||class="diff-addedline"| Yes
 
|-
 
|-
 
| Suspend to Memory (ACPI sleep) ||class="diff-addedline"| Yes
 
| Suspend to Memory (ACPI sleep) ||class="diff-addedline"| Yes
Line 28: Line 28:
 
| Bluetooth ||class="diff-context"| Unknown
 
| Bluetooth ||class="diff-context"| Unknown
 
|-
 
|-
|colspan=2| Harddisk Active Protection ||class="diff-addedline"| Unknown
+
|colspan=2| Harddisk Active Protection ||class="diff-context"| Unknown
 +
|-
 +
|rowspan=3|Extra Buttons
 +
| {{key|Fn}}{{key|F4}}||class="diff-addedline"| Yes
 +
|-
 +
| {{key|Fn}}{{key|F5}}||class="diff-addedline"| Only toggles Bluetooth Power
 +
|-
 +
| {{key|Fn}}{{key|F12}}||class="diff-addedline"| Yes
 +
|-
 
|}
 
|}
  
**This is a page in progress, I copied [[Installing Ubuntu 6.10 on a ThinkPad X41Tablet] [this]]
+
 
 +
{{WARN|This is a page in progressI used [[Installing Ubuntu 6.10 on a ThinkPad X41Tablet| this]] page as a template, so any section that looks the same means I haven't updated it yet. The chart above is accurate.}}
  
 
= Pre-Installation Notes =
 
= Pre-Installation Notes =
Line 48: Line 57:
  
 
= Installation Notes =
 
= Installation Notes =
 
== Booting With NetBOOT ==
 
 
To boot over NetBOOT I fisrt went into the BIOS and change the boot settings so that PXE was first on the list.  Then I set my desktop to be a DHCP server (dhcp3-server) and configured it using this site [http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install Ubuntu_PXE_Install] and installed tftpd-hpa
 
 
Then I downloaded the [http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/netboot/netboot.tar.gz Dapper netboot archive] (I tried the testing edgy but it would not run on my X41 as of 9/9/06)
 
 
Then I assigned my desktop a static IP in the range I set my DHCP server up for and plugged my laptop into it with a cross over cable and rebooted. 
 
 
The X41 received an IP and then connected to lftp and the same screen as the Ubuntu netboot CD has came up and I followed the instructions.
 
 
Once it was intstalled and up-to-date I ran (leave in all quotes, they are important)
 
 
<tt>sudo aptitiude update && sudo aptitude upgrade
 
gksudo "update-manager -c -d" </tt>
 
 
To upgrade to edgy eft
 
  
 
= Post-Installation Notes =
 
= Post-Installation Notes =
  
== Configuring Xorg ==
+
==Configuring Wireless==
 
 
=== TrackPoint ===
 
 
 
Like in all ThinkPad Xorg configurations, add the following under the "Configured Mouse" device to enable TrackPoint scrolling:
 
 
 
Option          "EmulateWheel"          "true"
 
Option          "EmulateWheelButton"    "2"
 
 
 
=== Wacom Stylus ===
 
 
 
First install the wacom drivers with the following command:
 
sudo apt-get install wacom-kernel-source xserver-xorg-input-wacom wacom-tools
 
 
 
After doing this, I strongly suggest that you reboot your computer; however, if you're one of those people whose uptime is on the order of four years, I'm sure you'll figure out an alternative that I won't be describing here.
 
 
 
Next step is to check to see if <tt>/dev/wacom</tt> exists. A '<tt>ls -al /dev | grep wacom</tt>' should do the trick quite nicely. If it <strong>does</strong> exist, add the following to your Xorg configuration.
 
 
 
Section "InputDevice"
 
  Driver        "wacom"
 
  Identifier    "stylus"
 
  Option        "Device"        "/dev/wacom"
 
  Option        "Type"          "stylus"
 
  Option        "ForceDevice"  "ISDV4"
 
EndSection
 
 
Section "InputDevice"
 
  Driver        "wacom"
 
  Identifier    "eraser"
 
  Option        "Device"        "/dev/wacom"
 
  Option        "Type"          "eraser"
 
  Option        "ForceDevice"  "ISDV4"
 
EndSection
 
 
Section "InputDevice"
 
  Driver        "wacom"
 
  Identifier    "cursor"
 
  Option        "Device"        "/dev/wacom"
 
  Option        "Type"          "cursor"
 
  Option        "ForceDevice"  "ISDV4"
 
EndSection
 
 
 
And under the ServerLayout section add:
 
 
 
        InputDevice    "stylus" "SendCoreEvents"
 
        InputDevice    "cursor" "SendCoreEvents"
 
        InputDevice    "eraser" "SendCoreEvents"
 
 
 
Some people seem to have slightly different configurations (potentially due to model differences). At any rate, if you're looking to find what serial device your stylus is, a simple '<tt>dmesg | grep ttyS</tt>' should do the trick. Be sure to append to this article if the procedure varies from model to model.
 
 
 
==== Suspend Fix ====
 
 
 
Every suspend/resume cycle drops the wacom, so create the file <tt>/etc/acpi/resume.d/20-setserial.sh</tt> and add the following (modify settings for your device if necessary):
 
 
 
  #!/bin/bash
 
  /bin/setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig
 
 
 
Then, go ahead and run a:
 
 
 
sudo chmod +x /etc/acpi/resume.d/20-setserial.sh
 
 
 
You should be all set to resume with stylus support.
 
 
 
=== ACPI Swivel Events ===
 
 
 
When you swivel your tablet's LCD down or up your computer triggers what's called an ACPI event. This is an event similar to pushing the power or sleep buttons -- it's telling the OS about something that's going on with the hardware.
 
 
 
In Linux, ACPI event handling is bundled into a nice neat little package. First, to make sure you can hear the ACPI event when it happens, run the command '<tt>acpi_listen</tt>'. The command line will hang there until it picks up on an ACPI event that's occuring, and then it will dump it to the screen. After running acpi_listen, while it's hanging there, swivel your screen down, and then back up. You should get a result similar to this:
 
 
 
$ acpi_listen
 
ibm/hotkey HKEY 00000080 00005009
 
ibm/hotkey HKEY 00000080 0000500a
 
 
 
The first HKEY entry is your swivel-down-event identifier and the second is your swivel up. If your values differ from those displayed here, be sure to use your values instead.
 
 
 
Next, what we do is create new ACPI handler entries for the specified events, which we operate on in <tt>/etc/acpi/</tt>.
 
 
 
The <tt>/etc/acpi/</tt> folder generally contains shell files to be executed when events occur. Since there's no shell files to handle swivel events yet, we're gonna go ahead and create some. Yeah, that'd be great.
 
 
 
I don't know what all the rave is about these so called "text editors". I do all my "text editing" from the command line. Actually, I'd just rather not confuse newbies by teaching them vi in this article. Therefore, run the following commands:
 
 
 
sudo cat <<EOF > /etc/acpi/x41tsdown.sh
 
#!/bin/sh
 
/usr/bin/xrandr -o right
 
/usr/bin/xsetwacom set stylus rotate 1
 
/usr/bin/xvkbd&
 
EOF
 
 
 
sudo cat << EOF > /etc/acpi/x41tsup.sh
 
#!/bin/sh
 
/usr/bin/xrandr -o normal
 
/usr/bin/xsetwacom set stylus rotate 0
 
killall xvkbd
 
EOF
 
 
 
sudo chown root.root /etc/acpi/x41tsdown.sh
 
sudo chmod 755 /etc/acpi/x41tsdown.sh
 
sudo chown root.root /etc/acpi/x41tsup.sh
 
sudo chmod 755 /etc/acpi/x41tsup.sh
 
 
 
If you'd like to edit these scripts with your favorite text editor (which, I realize, is most likely [http://www.gnu.org/fun/jokes/ed.msg.html ed]), it's fairly obvious that they're located in <tt>/etc/acpi/</tt> as <tt>x41tsdown.sh</tt> and <tt>x41tsup.sh</tt>. These commands make the shell scripts that handle the events... once we register the events. Let's do that now.
 
 
 
sudo cat <<EOF > /etc/acpi/events/x41t-swivel-down
 
# /etc/acpi/events/x41t-swivel-down
 
# called when tablet head swivels down
 
event=ibm/hotkey HKEY 00000080 00005009
 
action=/etc/acpi/x41tsdown.sh
 
EOF
 
 
 
sudo cat <<EOF > /etc/acpi/events/x41t-swivel-up
 
# /etc/acpi/events/x41t-swivel-up
 
# called when tablet head swivels up
 
event=ibm/hotkey HKEY 00000080 0000500a
 
action=/etc/acpi/x41tsup.sh
 
EOF
 
  
Now, awaken your inner ACPI daemon with the following commands:
+
===Renaming Wireless Interface===
 +
By default, the internal Intel 2200BG wireless card was named <tt>eth0</tt>.  Aside from being annoying it also causes the Network Monitor to mistake the wireless card for a standard ethernet card.  To rename it to <tt>wlan0</tt> edit the file <tt>/etc/iftab</tt>:
 +
Change
 +
eth0 mac <mac address> arp 1
 +
eth1 mac <mac address> arp 1
 +
to
 +
eth0 mac <mac address> arp 1
 +
wlan0 mac <mac address> arp 1
  
  sudo /etc/init.d/acpid force-reload
+
{{NOTE|Follow the below instructions, only if your network cards get renamed to something else when you resume from standy or hibernation. This did not happen with me with 6.06, but does with 6.10.}}
sudo /etc/init.d/acpid restart
 
  
And swivel down your LCD to make sure it works.
+
To prevent your networks from being renamed when you resume from standy or hibernation, modify the resume scrips to pause for a few seconds before reloading the kernel modules. To do this modify <tt>/etc/acpi/resume.d/35-modules-load.sh</tt>:
 +
Add the line
 +
sleep 3
 +
right before
 +
# Load any drivers that we removed
 +
for x in $MODULES; do
 +
    modprobe $x;
 +
done
  
To be continued...
 
  
  
=External Sources=
+
===Using WPA===
*This guide is listed at the [http://tuxmobil.org/ibm.html TuxMobil Linux laptop and notebook installation survey (IBM/Lenovo)] and the [http://tuxmobil.org/tablet_unix.html Linux on Tablet PCs and webpads survey].
+
The packages necessary to use WPA are installed by default, but no GUI configuration program.  There are a few options available, refer to this page: [https://help.ubuntu.com/community/WifiDocs/WPAHowTo instructions]. I suggest using the NetworkManager.
--[[User:Akao|Akao]] 12:37, 11 November 2006 (CET)
 

Latest revision as of 04:18, 13 November 2006

This document describes the process of installing and configuring the release version of Ubuntu Edgy Eft on a Lenovo ThinkPad X40.

Success Chart

Item Working
Installation Network Installation Unknown
USB Installation Yes (CD)
Display Laptop Screen Yes
CRT / Projector Yes
Power Management Software Suspend (hibernate) Yes
Suspend to Memory (ACPI sleep) Yes
Audio Yes
Wireless 802.11b/g Yes
Bluetooth Unknown
Harddisk Active Protection Unknown
Extra Buttons FnF4 Yes
FnF5 Only toggles Bluetooth Power
FnF12 Yes


ATTENTION!
This is a page in progress. I used this page as a template, so any section that looks the same means I haven't updated it yet. The chart above is accurate.

Pre-Installation Notes

Wireless Support

Wireless seems to be supported flawlessly in terms of drivers, though I'm not sure how well the built-in Network Manager works. I use the iwconfig command to manage my wireless, as I have a need to create pseudo-"profiles", and in this document I will describe this alternative process.


Terminology Used

For those of you new to Linux, I'll try to detail a few terms I use with little explanation:

  • Xorg configuration -- the display configuration file, residing in /etc/X11/xorg.conf
  • Execute a command -- press Alt-F2, then type gnome-terminal into the prompt and press enter -- this is a terminal into which you input said commands

Installation Notes

Post-Installation Notes

Configuring Wireless

Renaming Wireless Interface

By default, the internal Intel 2200BG wireless card was named eth0. Aside from being annoying it also causes the Network Monitor to mistake the wireless card for a standard ethernet card. To rename it to wlan0 edit the file /etc/iftab: Change

eth0 mac <mac address> arp 1
eth1 mac <mac address> arp 1

to

eth0 mac <mac address> arp 1
wlan0 mac <mac address> arp 1
NOTE!
Follow the below instructions, only if your network cards get renamed to something else when you resume from standy or hibernation. This did not happen with me with 6.06, but does with 6.10.

To prevent your networks from being renamed when you resume from standy or hibernation, modify the resume scrips to pause for a few seconds before reloading the kernel modules. To do this modify /etc/acpi/resume.d/35-modules-load.sh: Add the line

sleep 3

right before

# Load any drivers that we removed
for x in $MODULES; do
    modprobe $x;
done


Using WPA

The packages necessary to use WPA are installed by default, but no GUI configuration program. There are a few options available, refer to this page: instructions. I suggest using the NetworkManager.