I found this from here. Just paste in my blog for future reference. Actually, I installed Fedora 8 in my Thinkpad T60 without any problems. With compiz-fusion on, this is an amazing computer. I love it.
MAKE YOUR T60p WORK UNDER FEDORA 7 (FC7)
(Document version: 2007-Jul-21)
This tutorial/howto is still under construction. If you have
suggestions to improve it, please e-mail me at navarro*ucar.edu
(replacing the asterisk with the @-symbol)
Important Note: Have SELinux disabled for the procedures below to work!!!
To disable SELinux edit /etc/selinux/config, look for the line
containing SELINUX= and set it to
SELINUX=disabled
It is recommended that you update your BIOS to the most recent version
from the Lenovo website:
http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-63024
Become root
1. Fix your ethernet board driver
This will give you a lot of headaches if you don't fix it right
away. The funny thing is.. the fix is so simple.
If you boot without a network ehternet cable plugged in, the
ethernet driver e1000 will some times fail to initialize
dropping the following error on /var/log/messages: e1000:
0000:02:00.0: e1000_probe: The EEPROM Checksum Is Not Valid. If
you're having this problem, consider upgrading the BIOS of your
laptop with a recently released version at the Lenovo website
above (this didn't work for me, by the way, but apparently it
fixed the problem for some people with other Thinkpads). A
quick-and-dirty workaround is to set the Internal Network Device
to Hidden in the BIOS, reboot, go back to the BIOS and re-enable
the device. Finally, plugging in the ethernet cable and
reloading the e1000 module (modprobe -r e1000 ; modprobe e1000)
or rebooting will also fix the problem.
However, I've found that the best way to get everything working
like a breeze is to disable the Interrupt Throttle Rate option
when loading the e1000 driver. Simply add this line to your
/etc/modprobe.conf file:
options e1000 InterruptThrottleRate=0,0
2. First update everything by running
yum update
(Go get some coffee, this will take a while)
3. Configure yum to use some external repositories (atrpms and livna)
rpm --import http://ATrpms.net/RPM-GPG-KEY.atrpms
Add the following lines to /etc/yum.conf
[atrpms]
name=Fedora Core $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
wget http://rpm.livna.org/livna-release-7.rpm
rpm -i livna-release-7.rpm
rm livna-release-7.rpm
4. Install yumex, emacs, gv, xfig, sshfs, acroread, xine & mplayer (this step
is optional, but make sure you install at least yumex)
yum install yumex
yum install emacs
yum install xine
yum install gv
yum install xfig
yum install mplayer
yum install fuse-sshfs
NOTE: For fuse to work I had to change the following permissions:
chown root /usr/bin/fusermount
chmod u+s /usr/bin/fusermount
NOTE: mplayer and xine (and perhaps other packages) exhibit
incompatibilities between the livna and the freshrpms
repositories. Use one or the other but make sure you don't mix
them.
Install codecs: Some interesting codecs (in particular the win32
ones) are not installed by default. This is especially important
if, like me, you want to be able to listen to Cadena Ser live.
mkdir /usr/lib/win32
wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/all-20061022.tar.bz2
tar xvfj all-20061022.tar.bz2
cp ./all-20061022/* /usr/lib/win32/
chmod 755 /usr/lib/win32/*
rm -rf ./all-20061022
5. Install driver for wifi card
(This assumes kernel version is 2.6.21-1.3194.fc7. You may need adjustments for newer versions)
yumex &
Click repos
Make sure the atrpms repository is checked. If not, check it.
Get the following packages:
ieee80211-1.2.16-18.fc7.i386.rpm
ieee80211-kmdl-2.6.21-1.3194.fc7-1.2.16-18.fc7.i686.rpm
ipw3945-1.2.0-18.3.fc7.i386.rpm
ipw3945d-1.7.22-4.i386.rpm
ipw3945-kmdl-2.6.21-1.3194.fc7-1.2.0-18.3.fc7.i686.rpm
ipw3945-ucode-1.14.2-4.at.noarch.rpm
Remove iwl3945
Reboot computer (not sure if this is necessary)
depmod -a
modprobe ipw3945
dmesg | grep ipw (to check that the driver works)
lsmod | grep ipw3945 (to check its loaded)
/sbin/ipw3945d (to start the daemon)
Add the following line to /etc/rc.local
/sbin/ipw3945d
The wifi card will not always work properly unless you have fixed
the eth0 problem (see section 1 above). You've been warned. Even
so, some times the wifi card gets in a funny state with the led
blinking very rapidly. I think this issue is still related to the
problem with the ethernet card, as plugging a cable will make the
wifi card "snap out of it" immediately. I wrote a little script
to reinitialize both drivers and it seems to take care of this
occasional problem:
/sbin/modprobe -r e1000
/sbin/modprobe e1000
/sbin/modprobe -r ipw3945
/sbin/modprobe ipw3945
/sbin/ipw3945d --kill
/sbin/ipw3945d
Note: The ipw3945 and ieee80211 kernel modules (kmdl) packages
need to match the kernel version that you are using. If they are
not available you may have to wait until they're built for a
recently released kernel or go ahead and prepare a package
yourself. For instructions on how to do this, check:
http://www.fedoraforum.org/forum/showthread.php?t=126183
Optional:
The ipw3945 module in the atrpms repository has the monitor
option disabled. If you want to enable this option, e.g. to use
with kismet or other sniffing programs, it's not
difficult. First, get the source package from atrpms:
yum install ipw3945-1.2.0-18.4.src
Then go to
/usr/src/redhat/SOURCES/ipw-*/
Edit the Makefile and uncomment the line with
CONFIG_IPW3945_MONITOR=y
make
cp ipw3945.ko /lib/modules/2.6.22.9-91.fc7/updates/drivers/net/wireless/
(the kernel version might be different)
When you install kismet, edit the /etc/kismet/kismet.conf and
enter the correct source information:
source=ipw3945,eth0,Intel
(use eth0 or eth1 depending on your configuration)
6. ATI video driver
The VESA driver used by default is extremely slow (check, e.g.
stellarium that you can install with yumex). ATI has proprietary
drivers that can be installed as follows:
With yumex install kmod-fglrx and livna-config-display (you may
need to enable the livna-testing repository). I also had to
install compat-libstdc++-33 to make it work.
Run livna-config-display
Restart your computer
Run stellarium again or glwheels and notice how smooth the scroll
is now
Note: The fglrx kernel module (kmdl) package needs to match the
kernel version that you are using. If it is not available you
may have to wait until it's built for a recently released
kernel or go ahead and prepare a package yourself. For
instructions on how to do this, check:
http://www.fedoraforum.org/forum/showthread.php?t=126183
Here's how I did it for my version:
cd
echo '%_topdir %(echo $HOME)/rpmbuild' > .rpmmacros
mkdir rpmbuild
cd rpmbuild
mkdir /usr/src/redhat
cp -a /usr/src/redhat/* .
yum install fedora-rpmdevtools rpm-build mock
yum install rpmdevtools
yum install kernel-devel-2.6.21-1.3194.fc7
wget http://livna-dl.reloumirrors.net/fedora/7/SRPMS/fglrx-kmod-8.38.7-2.2.6.21_1.3228.fc7.src.rpm
rpm -ihv *.src.rpm
emacs ~/rpmbuild/SPECS/fglrx-kmod.spec
(change the kversion line to 2.6.21-1.3194.fc7)
rpmbuild -ba SPECS/fglrx-kmod.spec --target=i686 --define 'kvariants ""'
yum install livna-config-display xorg-x11-drv-fglrx xorg-x11-drv-fglrx-devel
rpm -i RPMS/i686/kmod-fglrx-8.38.7-2.2.6.21_1.3194.fc7.i686.rpm
7. Sound
Another problem I found is that the audio device can be accessed
only by root and whoever is logged on to the X server. I wanted
to grant all users access to the audio device. To do this, go to
the Gnome menu -> System -> Administration -> Users and Groups,
add a group named audio and then add all relevant users to that
group. Then edit /etc/rc.d/rc.local and add the following lines:
chgrp audio /dev/snd
chgrp audio /dev/snd/*
Restart (or simply run those lines manually as root)
Some applications, such as mplayer, allow you to use esd as the
output device. Make sure that esd is running with
ps -fea | grep esd
If it's not, just launch it as root. Then any user can do
mplayer -ao esd file.mp3
Note: Do not disable (hide) the modem in the bios
setup. Otherwise the sound card gets disabled too.
Make festival use the ALSA driver (so it can be mixed with other
sounds):
*Create a ~/.festivalrc file containing the following lines
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
(Parameter.set 'Audio_Method 'Audio_Command)
8. IBM hotkeys
First, make sure you have the thinkpad-acpi module loaded (which you
should):
lsmod | grep thinkpad (look for thinkpad-acpi in the output)
By default, FC7 will switch to low power mode when the lid is
closed. I don't like that. I simply want the screen turned off
when the lid is closed and back on when it's open. To do this,
follow these steps:
a. Go to /etc/acpi/events/
b. Edit a-lid-aticonfig.conf and comment out the line
that start with event= (Add a #-symbol at
the beginning of that line). This will disable the
default lid behavior
c. Add the following line at the end of the file:
action=/etc/acpi/actions/lid
(This will redirect the event to our own custom script)
d. Go to /etc/acpi/actions/
e. Create a file named lid with the following lines:
#!/bin/bash
# Check LID state
export XAUTHORITY=/var/gdm/\:0.Xauth
if grep -q open /proc/acpi/button/lid/LID/state
then
/etc/acpi/actions/screen_on.sh
else
/etc/acpi/actions/screen_off.sh
fi
f. Create a file screen_on.sh with
#!/bin/sh
/usr/bin/xset -display :0 dpms force on
g. Create a file screen_off.sh with
#!/bin/sh
/usr/bin/xset -display :0 dpms force off
h. Set proper permissions
chmod 755 lid
chmod 755 screen_on.sh
chmod 755 screen_off.sh
Additionally, I like to be able to switch on and off the screen
by pressing Fn+F3. To do this we first have to enable the IBM
hotkeys by doing:
echo enable > /proc/acpi/ibm/hotkey
This will signal your laptop to generate acpi events whenever
Fn+F3 (or any other Fn+FX key combination) is pressed. Include
the line above in your /etc/rc.d/rc.local so that it is enabled
at boot time. Now we have to create handlers for the Fn+F3
hotkey. Go to /etc/acpi/events/ and create the file FnF3.conf
# ACPI Configuration to execute action when pressing Fn+F3
event=ibm/hotkey HKEY 00000080 00001003
action=/etc/acpi/actions/FnF3.sh
Now go to /etc/acpi/actions/ and create FnF3.sh, as follows
#!/bin/bash
export XAUTHORITY=/var/gdm/\:0.Xauth
# Check if working on single or dual mode
Mode="single"
LCDgrep=`aticonfig --query-monitor | grep Connected | grep lvds`
CRTgrep=`aticonfig --query-monitor | grep Connected | grep crt1`
if [ "$LCDgrep" != "" ] && [ "$CRTgrep" != "" ]; then
Mode="dual"
fi
if [ $Mode == "single" ]; then
# Turn off screen
/etc/acpi/actions/screen_off.sh
else
# Cycle screens
/etc/acpi/actions/FnF3_dual.sh
fi
This will check if we're working on the LCD screen alone (single
mode) or if we have both the screen and an external monitor
connected (dual mode). If it's single mode, Fn+F3 will simply
turn off the screen. If it's dual mode, then Fn+F3 will cycle
between various states when the LCD and the monitor are
alternatively turned on and off. For this scheme to work, you
need the following FnF3_dual.sh file in /etc/acpi/actions/:
#!/bin/bash
# Cycle turning on/off monitors
LCD="off"
CRT="off"
LCDgrep=`aticonfig --nobackup --query-monitor | grep Enabled | grep lvds`
if [ "$LCDgrep" != "" ]; then
LCD="on"
fi
CRTgrep=`aticonfig --nobackup --query-monitor | grep Enabled | grep crt1`
if [ "$CRTgrep" != "" ]; then
CRT="on"
fi
echo "LCD screen is $LCD. External screen is $CRT"
if [ "$LCD" == "on" ] && [ "$CRT" == "on" ]; then
# Turn on external monitor and off LCD
echo "Turning off LCD, keeping external screen on"
/usr/bin/aticonfig --nobackup --enable-monitor=crt1
fi
if [ "$LCD" == "off" ] && [ "$CRT" == "on" ]; then
# Turn on LCD and off external monitor
echo "Turning LCD on and external screen off"
/usr/bin/aticonfig --nobackup --enable-monitor=lvds
fi
if [ "$LCD" == "on" ] && [ "$CRT" == "off" ]; then
# Turn off external monitor and LCD
echo "Turning off both LCD and external screen"
/usr/bin/aticonfig --nobackup --enable-monitor=crt1,lvds
/etc/acpi/actions/screen_off.sh
fi
if [ "$LCD" == "off" ] && [ "$CRT" == "off" ]; then
# Turn on external monitor and LCD
echo "Turning on both LCD and external screen"
/usr/bin/aticonfig --nobackup --enable-monitor=crt1,lvds
fi
Don't forget to set appropriate permissions for these files:
chmod 755 FnF3.sh
chmod 755 FnF3_dual.sh
Now let's create a suspend event and action script. Go to
/etc/acpi/events/ and create this FnF4.conf file:
# ACPI Configuration to execute action when pressing Fn+F4
event=ibm/hotkey HKEY 00000080 00001004
action=/etc/acpi/actions/suspend.sh
Now put this script in /etc/acpi/actions/suspend.sh
#!/bin/sh
# remove USB 1.1 driver
rmmod uhci_hcd
# sync filesystem and clock
sync
/sbin/hwclock --systohc
# switch to console
FGCONSOLE=`fgconsole`
chvt 6
#/usr/sbin/radeontool light off
/usr/sbin/vbetool dpms suspend
# go to sleep
#sleep 5 && echo -n "mem" > /sys/power/state
echo -n "mem" > /sys/power/state
# readjust the clock (it might be off a bit after suspend)
/sbin/hwclock --adjust
/sbin/hwclock --hctosys
And set execute permissions with
chmod 755 suspend.sh
WARNING: At the time of writing this there seems to be a bug
in the current kernel version 2.6.22 that makes my computer freeze
during suspend. If you do a echo -n "mem" > /sys/power/state it
freezes after the "Suspending console(s)" message. One can only hope
that this will get fixed soon and then suspend will work again.
9. NetworkManager
I couldn't make NetworkManager work on my system until I realized
that I didn't have a notification area in my Gnome panel. It turns
out that network manager was indeed working but the applet didn't
show up. If you have the same issue, simply right-click on the menu
bar and add a notification area.
Things I don't really care about and haven't implemented yet in Linux
*Fingerprint scanner: I can type my password faster than I scan
my fingerprint
*Bluetooth/IR Port
Things that don't seem to work (meaning, I haven't been able to figure
out)
*Can't seem to write DVD+RW disks. Writing to DVD+R and -R
works, though (tried with xcdroast and using cdrecord from the
command line). Need to test if this is a Linux specific issue
or a hardware problem by trying to burn DVD+RW with
Windows. Also, haven't tried DVD-RW yet.
Some other nice (IMHO) customizations
1. Boot showing details in text mode
Edit /boot/grub/grub.conf and remove the "rhgb" part from the
kernel options
2. Automatically log in a user after a given interval
WARNING: This is a blatant security risk. If your laptop gets
stolen, anyone could potentially gain access to your data. So
doing this is strongly discouraged (on the other hand, if you
aren't using an encrypted filesystem, having your laptop stolen
will get you in trouble anyway)
Go to System -> Administration -> Login screen -> Security
Check the box "Enable Timed Login"
Type in the username and select the time ("Pause before login:")
3. Disable double-tap to click on the TouchPad
Edit /etc/X11/xorg.conf, go to the block
Section "InputDevice"
Identifier "Synaptics"
...
and add the following line in this block:
Option "MaxTapTime" "0"
4. Install MicroSoft True Type Fonts
Download the msttcorefonts rpm from
http://www.mjmwired.net/resources/mjm-fedora-fc5.html#ttf
rpm -ivh msttcorefonts-2.0-1.noarch.rpm
Reboot
5. mplayer/xine
To select the internal DVD/CD combo drive, open the menu and go to
preferences -> misc and set both devices to /dev/hda
(Note: Do the same for xine, under Settings -> Media)
6. Install xv
yum install libpng10
Download xv rpm from http://www.trilon.com/xv/downloads.html
rpm -i xv-3.10a-13.i386.rpm
7. Enable bell sounds through PC speaker
modprobe pcspkr
Install it in /etc/rc.d/rc.local if you wish to have this by
default. Personally, I find this annoying and the only bell I'm
interested in hearing is the system shutdown. So I edited the
/etc/rc.d/init.d/halt script and put the modprobe command at
the beginning of the script and a
echo -e "\a"
line near the end just before the exec $command line.
8. Disable horizontal scrolling in the touchpad to act like BACK
button in Firefox:
Open Firefox and type about:config in the URL window
In the filter field, enter mousewheel
Set
mousewheel.horizscroll.withnokey.action to 0
mousewheel.horizscroll.withnokey.sysnumlines to true
9. Enable flash and java plugins in mozilla
wget http://linuxdownload.adobe.com/adobe-release/adobe-release-1.0-0.noarch.rpm
rpm -i adobe-release-1.0-0.noarch.rpm
yum install flash-plugin
rpm -e adobe-release-1.0-0.noarch.rpm
Test flash at youtube.com
Download the corresponding file from http://java.sun.com/j2se/1.5.0/download.jsp
chmod 755 jre-1_5_0_12-linux-i586-rpm.bin
./jre-1_5_0_12-linux-i586-rpm.bin
ln -s /usr/java/jre1.5.0_12/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins
Test it at http://www.java.com/en/download/installed.jsp
/usr/sbin/alternatives --install /usr/bin/java java /usr/java/jre1.5.0_09/bin/java 1509
10. You can import your old printer(s) definitions by overwriting
the /etc/cups/printers.conf file, the /etc/cups/ppd/ directory and
then restarting cups with /etc/init.d/cups restart
11. Oh, and if you also find that puplet thing as annoying as I do,
simply use yum to uninstall pirut.
12. USB devices can be accessed by root only. I ran into this problem
while trying to import pictures from my camera with gthumb-import.
To solve this annoyance, edit /etc/udev/rules.d/50-udev.rules
Look for the line with
ACTION=="add", SUBSYSTEM=="usb_device", \
and change MODE="0644" to MODE="0666"
13. Install beryl and Xgl
Edit /etc/X11/xorg.conf and add these sections at the end
# For beryl
Section "ServerFlags"
Option "AIGLX" "off"
EndSection
Section "DRI"
Mode 0666
EndSection
# For beryl
Section "ServerFlags"
Option "AIGLX" "off"
EndSection
Section "DRI"
Mode 0666
EndSection
Install XGL, compiz and beryl ( install script by nicofo ) by doing:
wget http://nicofo.tuxfamily.org/scripts/xgl/installXGL_EN
sh installXGL_EN
rpm -e kmod-fglrx xorg-x11-drv-fglrx xorg-x11-drv-fglrx-devel
yum install kmod-fglrx xorg-x11-drv-fglrx xorg-x11-drv-fglrx-devel
Reboot. In the login screen choose GNOME+XGL.
Go to the Gnome menu->System->Preferences->XGL window manager and
select Beryl
Go to Menu->System tools->Beryl manager to dock an applet in the
notifications area. Select emerald as your window decorator
Remember that you can run non-Xgl applications by using:
noXgl command or noXgl -a command (to add a border to it)
In particular, add noXgl to the aticonfig commands above
Beryl tips:
To make IDL windows always opaque go to Window Management->
Click on "Set Window Attr by Various Criteria"->Rules->
Window Opacity and add the following rule:
t:idl ?:100
Some of the information provided here has been blatantly ripped from
various online sources, including:
http://www.linuxquestions.org/questions/showthread.php?t=436357
http://www.fedorafaq.org/
http://michael-prokop.at/blog/2006/07/02/thinkpad-t60-laptop-with-debiangrml-linux/
http://www.thinkwiki.org/wiki/Problem_with_e1000:_EEPROM_Checksum_Is_Not_Valid
http://www.ces.clemson.edu/linux/nm.shtml
http://www.gagme.com/greg/linux/fc6-tips.php
http://www.fedoraforum.org/forum/showthread.php?t=155503&page=1&pp=15
Thursday, February 21, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment