Fedora:IBM Thinkpad T42

From Linux 101, The beginner's guide to all things Linux.

Jump to: navigation, search

Contents

[edit] Introduction

The purpose of this note is to outline the dual boot installation and setup of Fedora Core 3 on a Clemson IBM Thinkpad T42.

[edit] Prerequisites

You will need to download at least the first three discs of Fedora Linux Core 3 from the Fedora web site. Burn these on to blank CD-R's.

[edit] Partitioning

The Clemson Laptop program T42 with a 40 GB hard disk has 38154.4 MB of usable space. The hard disk is divided into C and D partitions of equal size (2584 + 2584 cylinders = 19077.1875 + 19077.1875 MB). The SystemRescueCD contains three tools which are useful for manipulating partition tables: fdisk, parted, and qtparted. The utility fdisk shows the start and end of each partition in cylinders or sectors, parted uses MB's, and qtparted uses MB's and GB's. The utility qtparted provides a GUI interface for parted. Recent versions of qtparted can resize an NTFS partition.

Here is a combination of the output of fdisk and qtparted for the case where the secure desktop has been disabled in the BIOS. The secure desktop uses about 3.3 GB of disk space.

There are a number of ways to generate a dual boot partition of your hard disk, including:

  • Use fdisk or qtparted on the SystemRescueCD to create a new partition table. Restore the Clemson Laptop Program C image into the ntfs partition. Restore the D image into the fat32 partition. Restore images of the FC2 ext3 partitions or else install FC2 from the distribution CD's.
  • Use qtparted on the SystemRescueCD to resize the C and D partitions leaving space for the FC2 ext3 partitions but preserving your existing Windows data. Note that qtparted does not allow you to change the start points of the C, D, or extended partitions.
  • Purchase the commercial utility Partition Magic. With this tool you can preserved your Windows data and you can adjust both the start points and end points of partitions.

Here are the steps for the second method, using qtparted from the SystemRescueCD.

  1. Resize the ntfs C partition /dev/hda1 to 9996.3 MB (1354 cylinders) by increasing the unallocated space at the end of the partition.
  2. Resize the fat32 D partition /dev/hda5 to 8460.7 MB (1146 cylinders) by increasing the unallocated space at the end of the partition.
  3. Commit these changes.
  4. Create a primary ext3 partition /dev/hd3 of size 96 MB (13 cylinders) starting at the beginning of the unallocated space following /dev/hda1.
  5. Create a primary ext3 partition /dev/hd4 of size 8984.9 MB (1217 cylinders) using all of the unallocated space following /dev/hda3.
  6. Create a logical ext3 partition /dev/hd6 of size 10099.7 MB (1368 cylinders) starting at the beginning of the unallocated space following /dev/hda5.
  7. Create a primary linux-swap partition /dev/hd7 of size 516.8 MB (70 cylinders) using all of the unallocated space following /dev/hda6.
  8. Make /dev/hd3 the active partition.
  9. Commit these changes.

[edit] Installing

Here is summary of the installation steps that are not default choices.

  • Boot FC2 disc 1 using a kernel parameter to specify disk geometry
 boot: linux hda=5168,240,63 
  • On the Monitor Configuration screen, choose IBM 9514-B TFT Panel.
  • Choose a custom install and choose to manually partition with Disk Druid.
  • Set the mount point for /dev/hda3 to /boot and format using ext3.
  • Set the mount point for /dev/hda4 to / and format using ext3.
  • Set the mount point for /dev/hda6 to /home and format using ext3.
  • Format /dev/hda7 as swap.
  • At the boot loader configuration screen, edit Other to Windows XP, select the Configure advanced boot loader checkbox, and then install the boot loader in /dev/hda3, and type the kernel parameter
 hda=5168,240,63

[edit] Set Up

===K Desktop=== By default FC3 loads the Gnome desktop. The system wide default behavior can be changed by editing /etc/sysconfig/desktop. At the user level the command switchdesk kde can be used. I prefer the KDE login and logout screens so I commented out a line in /etc/inittab and added a line.

 #x:5:respawn:/etc/X11/prefdm -nodaemon
 x:5:respawn:/usr/bin/kdm -nodaemon

===K Control Center=== The K Control Center was used to make various settings.

 Main Menu -> Control Center -> Appearance & Themes
     Background Picture -> Sea of Conero
     Icons -> Crystal SVG
     Splash Screen -> Default
     Style -> Widget Style -> Keramik
 Main Menu -> Control Center -> Desktop
     Window Behavior -> Moving tab -> 
     Snap windows only when overlapping
 Main Menu -> Control Center -> System Administration -> 
     Login Manager -> Administrator Mode -> Appearance tab -> 
     Logo, Gui style, color scheme -> Background tab -> picture

===Grub=== By default, the FC3 file /boot/grub/grub.conf contains the hiddenmenu option. This option causes grub to initially only display the default boot choice. Hit any key before the timeout, and the regular grub menu will be shown. I do not like this new behavior, so I commented out the hiddenmenu option.

===Wireless=== The FC2 installation of the firmware and driver for the Intel Pro 2200BG wireless card was discussed in a previous article (fixme: put Centrino article up on wiki). FC3 has a new firmware location: /lib/firmware. The FC2 configuration of wired and wireless interfaces was discussed in a previous article, including the addition of network profile kernel options to /boot/grub/grub.conf.

===GPG Keys, Yum=== A number of updates have been already been released for FC3. I used yum to apply these updates. First, I installed the GPG key using the following command and then checked to see which updates were available.

# rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora
# yum check-update

This list of updates contained about two dozen items. I installed them a few at a time using wild cards.

# yum update kde*

Once some of the bigger rpms were installed, I did the rest with

# yum update

===Yum Repository=== Next, I expanded the list of yum repositories by adding the following lines to the file /etc/yum.repos.d/fedora.repos.


 [dries]
 name=Extra Fedora rpms dries - $releasever - $basearch
 baseurl=http://apt.sw.be/dries/fedora/linux/$releasever/$basearch/dries/RPMS/
 
 [core]
 name=Fedora Linux $releasever - $basearch - core
 baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/core
 gpgcheck=1
 
 [updates]
 name=Fedora Linux $releasever - $basearch - updates
 baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/updates
 gpgcheck=1
 
 [freshrpms]
 name=Fedora Linux $releasever - $basearch - freshrpms
 baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
 gpgcheck=1


The corresponding GPG keys were downloaded to /usr/share/rhn and imported.

===Non-distro Installs=== With the expanded list of yum repositories, I installed applications not included in the FC3 distribution.

# yum install kile krusader apt synaptic

===Tidy=== The LaTeX IDE Kile needs tidy to clean up HTML and complains if this application is not installed. Tidy was downloaded from http://aleron.dl.sourceforge.net/sourceforge/tidy/tidy4aug00.tgz

[edit] NTFS

====Mounting the Windows Partitions==== Mounting the C partition from Linux allows the use of Windows true type fonts. The Linux ntfs driver currently only supports mounting in read-only mode. I used synaptic to install a module pre-built for the current release of the FC2 kernel. A pre-built ntfs module usually appears in the apt repositories the same day that a new Fedora kernel is released. Be sure to match your kernel version. If you're not sure what version you're running do this:

# uname -r -p

For example, the kernel released with FC2 is 2.6.5-1.358. I downloaded and installed kernel-ntfs#2.6.5-1.358.i686.rpm from linux-ntfs.sourceforge.net/rpm/fedora2.html. Next, I loaded the driver:

# /sbin/modprobe ntfs

To mount C and D from Linux, as root I added the following lines to /etc/fstab.

/dev/hda1 /mnt/windowsc ntfs ro,umask=0222,uid=500,gid=500 0 0
/dev/hda5 /mnt/windowsd vfat rw,nouser,auto,uid=500,gid=500 0 0

and then issued the commands

# mkdir /mnt/windowsc
# mkdir /mnt/windowsd
# mount /dev/hda1
# mount /dev/hda5

Each time you upgrade your kernel, you will have to upgrade this driver. Eventually, this driver will be part of the kernel distribution.

====True Type Fonts==== Windows true type fonts can be made available to Linux, increasing the compatility between Office and OpenOffice. Here are the commands for the true type font families I use with FC2. The script truetype_symlinks contains the commands necessary to do this.

===Source RPM=== The kernel source rpm was installed and prepared. Download it from ftp://download.fedora.redhat.com/pub/fedora/linux/core/3/SRPMS/kernel-2.6.9-1.667.src.rpm

# rpmbuild -bp --target=noarch /usr/src/redhat/SPECS/kernel-2.6.spec

===VPN client=== See Clemson VPN for installation instructions for the Cisco VPN client using the Clemson license.

===CD-ROM=== A CD-ROM icon was placed on the desktop using the following steps.

  1. right click desktop -> Create New -> Device -> CD-ROM device...
  2. right click CD-ROM icon -> Properties -> Device tab -> Device: /dev/hdc

Note that FC3 uses the mount point /media/cdrecorder instead of the legacy mount point /mnt/cdrom. KsCD was configured with the new device setting and an audio CD was played to test the sound system.

===Thunderbird=== The FC3 distribution contains Mozilla Firefox 1.0PR and Thunderbird 0.8. The above yum updating took Firefox to version 1.0. As of this date, there is no Thunderbird rpm available for FC3 so I created one and then used it to update Thunderbird.

To install it, first go to HOWTO build Thuderbird RPM package for Fedora Core. Download the following:

thunderbird-0.9-i686-linux-gtk2+xft.tar.gz
thunderbird.spec
thunderbird.desktop
thunderbird.png

Change directories to wherever you downloaded the files. Edit thunderbird.spec and change the release to FC3. Now, as root, execute these commands:

# cp thunderbird.spec /usr/src/redhat/SPEC
# cp thunderbird-0.9-i686-linux-gtk2+xft.tar.gz thunderbird.desktop thunderbird.png /usr/src/redhat/SOURCES
# rpmbuild -ba /usr/src/redhat/SPEC/thunderbird.spec
# rpm -Uvh /usr/src/redhat/RPMS/i386/thunderbird-0.9-0.FC3.i386.rpm

If a mailto link is selected in Firefox, the Gnome mail client Evolution will start. To change this behavior, strangely enough, a Gnome configuration tool must be used. Use the following command

gnome-default-applications-properties

to set the default mail client to Thunderbird.

===Sharing=== A previous article (fixme: put on wiki) dealt with the sharing of Firefox bookmarks and Thunderbird mailboxes between Windows XP and FC2.

Firefox Plugins. Firefox plugins can be downloaded starting from

 http://plugindoc.mozdev.org/linux.html

I downloaded the Macromedia Flash plugin and manually installed in the directory

 /usr/lib/mozilla/plugins

===Acrobat Reader=== I built an FC3 rpm for Acrobat Reader 5.0.9, installed it, and then created a symbolic link to the Acrobat Reader plugin.

First, go to this Acrobat Reader 5.0.9 Tutorial. Then, download the following files:

linux-509.tar.gz
acroread.spec
acroread.desktop
acroread-dir.path
acroread.png

Now, change directories to the directory where you downloaded these files. Edit acroread.spec, changing the release to FC3. Then execute as root:

# cp acroread.spec /usr/src/redhat/SPEC
# cp linux-509.tar.gz acroread.desktop acroread.png acroread-dir.patch /usr/src/redhat/SOURCES
# rpmbuild -ba /usr/src/redhat/SPEC/acroread.spec
# rpm -Uvh /usr/src/redhat/RPMS/i386/acroread-5.0.9.fc3.i386.rpm
# cd /usr/lib/mozilla/plugins
# ln -s /usr/lib/acroread/Browsers/intellinux/nppdf.so

===J2RE=== The Java Runtime Environment and plugin were installed. First download the J2RE from Sun. You will need the file j2re-1_4_2_06-linux-i586-rpm.bin. Then execute the following as root:

# sh j2re-1_4_2_06-linux-i586-rpm.bin
# rpm -ivh j2re-1_4_2_06-linux-i586.rpm
# cd /usr/lib/mozilla/plugins
# ln -s /usr/java/j2re1.4.2_06/plugin/i386/ns610-gcc32/libjavaplugin_oji.so

===K Menu Editor=== I used the K menu editor to reorganize the menus to my liking. Right-click on Main Menu -> Menu Editor

I also resized and reorganized the panel

  1. right click panel -> Size -> Normal
  2. right click panel -> Add Application button
  3. right panel buttoms -> Move or Remove

===Suspend to RAM=== Suspend to memory (RAM) was broken in FC2 but recent updates to the kernel and the wireless driver for the IBM T42 make this possible. Here are the versions I am currently running.

 kernel 2.6.9.-1.667
 wireless driver ipw2200 version 0.13 (Intel PRO 2200BG)

[edit] File setup

Create the file /etc/acpi/events/sleep.conf containing the lines

 event=button[/]sleep
 action=/etc/acpi/actions/sleep.sh

Create the file /etc/acpi/events/lid.conf containing the lines

 event=button[/]lid
 action=/etc/acpi/actions/sleep.sh

Create the file /etc/acpi/actions/sleep.sh containing the lines

 #!/bin/sh
 echo -n mem > /sys/power/state

[edit] Usage

The hotkey combination Fn+F4 will suspend to memory. You may have to hold the keys down for 1-2 seconds. Holding down the power button for 1-2 seconds will bring the system back.

===Touchpad=== The Synaptics Touchpad driver was discussed in a previous article. This driver is part of the FC3 distribution. The options in

 /usr/share/doc/synaptics-0.13.5/INSTALL

need to be added to /etc/X11/xorg.conf. You can then use the synclient utility to explore option changes. I turned off tapping and scrolling.

===Maple & MATLAB=== Instructions for installation of Maple and MATLAB can be found on their respective pages.

===KWirelessMonitor=== No FC3 rpm for the KWirelessMonitor is currently available. I downloaded the FC2 rpm and installed. The FC2 version worked well.

===Services=== Unneeded services eat up system resources. Here is the list of services I am currently running. To see yours, click Main Menu -> System Settings -> Server Settings -> Services.

 acpid, anacron, apmd, atd, autofs, cpuspeed, crond, cups, 
 cups-config-daemon, gpm, haldaemon, iptables, lm_sensors, 
 messagebus, netfs, network, pcmcia, readahead, readahead_early, 
 smartd, syslog, vpnclient_init, xinetd

[edit] K Print

KDEPrint, the printing module in KDE (see printing.kde.org) is built into KDE applications and can be used by most Gnome and third party applications. When used with CUPS, the Common Unix Printing System, KDEPrint covers all the bases. KDEPrint consists of seven components.

  1. A print job viewer for each defined printer.
  2. A print server configuration tool.
  3. A print settings tool.
  4. An add printer wizard.
  5. A printer manager.
  6. Konqueror printer browser.
  7. A print utility called kprinter.

The easiest way to learn about these components is to Right click, KDE panel -> Configure Panel... -> Menus -> check Print System -> OK. This will put a Print System folder in the Main menu.

When I started the print manager I noticed that a printer was already set up. CUPS has the capability of automatic discovery and setup of printers on a network that contains a CUPS server. There is no CUPS server on my network, so why this printer showed up is a mystery. To get rid of the bogus printer, I first checked with synaptic to make sure that I had the lastest release of cups. Then I did the following

# cd /etc/cups
# mv cupsd.conf cupsd.conf.orig
# cp cupsd.conf.rpmnew cupsd.conf

I edited cupsd.conf and changed

#Browsing on

to

Browsing Off

and then restarted the cups service.

# /etc/init.d/cups restart

Next, I added several printers using the Add Printer Wizard. Main Menu -> Print System -> Add Printer... -> Network Printer w/IPP -> Setting... -> Subnetwork: 130.127.112 -> Scan -> select guthrie -> select HP, Color Laserjet 4550 -> Settings -> Double-Sided Printing <Off> -> fill in printer name and location. The printer guthrie is one of six printers found on this subnet. Next, I repeated the process by scanning the Subnetwork: 172.19.112. I found three more printers. I added two, gutenberg and ramanujan. Note that when a printer is found, a description is provided including the model number. You need the model number later on in the Add Printer Wizard process.

The utility kprinter can be run standalone. In this case you add files to be printed in a dialog box and files can be printed without first opening them with an application. All KDE applications have kprinter built in. Most non-KDE applications can also use kprinter since they allow the user to specify a print command. If the print command kprinter does not work try kprinter --stdin. I used kprinter successfully with the non-KDE applications Acrobat Reader, Firefox, OpenOffice, Gnome Ghostview, and Maple 9, with the KDE applications Kate and Kile, and with the Gnome applications gEdit and Evolution.

===USB Disk=== I inserted my SanDisk, Cruzer mini 128 MB, USB disk into one of the USB slots and then looked at /etc/fstab. An entry had been auto-written into this file with device /dev/sda1 and mount point /media/usbdisk. I created a desktop icon

  1. right click desktop -> Create New -> Device -> Camera Device...
  2. right click CD-ROM icon -> Properties -> Device tab -> Device: /dev/sda1
  3. change the name to USB Mini
  4. change the icon to usbpendriv...

and then copied a few files to and from the mini disk. It worked perfectly.

===Modem=== The modem in the T42 is an IBM product based on the Conexant chip set and requires an HSF driver. A free 14.4K driver is available from Linuxant and a full speed version is available for $14.95. Kudzu associates the ALSA driver snd-intel8x0m with the modem but this driver does not support the Conexant chip set.

To get it working, first edit the file /etc/modprobe.conf and add the line

install snd-intel8x0m /bin/true

Then, remove the problem module

# rmmod snd-intel8x0m

Now, download and install the rpm hsfmodem-6.03.00lnxt04111500full_k2.6.9_1.667-1fdr.i686.rpm from Linuxant. Configure the modem with the network configuration tool, using the following information:

 Modem device: /dev/modem
 Baud rate: 14400

Jonathan at Linuxant explains with the following comment:

The HSF driver has a feature to detect a conflicting module and disable it so it will not be loaded after a reboot. The HSF driver will also warn the user if the conflicting module is in the kernel. Unfortunately, these features are currently broken on Fedora Core 3 but they will be fixed in the next release of the HSF driver. The blacklisting of the snd-intel8x0m module is required right now for users with modems based on the Intel ICH AC97. However, when the feature will work again, i.e. in the next release of the HSF driver, the hsfconfig script will automaticaly blacklist the snd-intel8x0m module by modifying the file /etc/modprobe.conf. Until the new HSF driver is released, users will have to do this manually.

[edit] Conclusion

Now the only thing left to do is enjoy your Fedora Linux installation.

This page was adapted from a document written by Bill Moss.

Personal tools