Fedora Core 5 T42 Setup

Bill Moss
October 17, 2006

Content

Partition Table
Monitor
Radeon
Wireless
Kernel Devel
Network
NetworkManager
FAT32 Partition
Truetype Fonts
Browser and Mail
Java
Suspend to RAM
Maple & MATLAB
Services
Printing
DVD Playing
Modem
Maple Menu Item
Panel Calendar Fix
Sub-pixel Rendering

Introduction. The purpose of this note is to outline the dual boot setup of Fedora Core 5 (FC5) on a Clemson Laptop Program IBM T42. Discussion is limited to issues not completely covered in several excellent online articles.

  Fedora Core 5 Linux Installation Notes
  http://www.stanton-finley.net/fedora_core_5_installation_notes.html
  
  Fedora Core 5 Tips and Tricks
  http://home.gagme.com/greg/linux/fc5-tips.php
  
  Fedora Multimedia Installation HOWTO
  http://tldp.org/HOWTO/Fedora-Multimedia-Installation-HOWTO/
  
  Personal Fedora Core 5 Installation Guide
  http://www.mjmwired.net/resources/mjm-fedora-fc5.html
  
  Optimal Use of Fonts on Linux
  http://avi.alkalay.net/linux/docs/font-howto/Font.html
  
  Sub-Pixel Font Rendering Technology: How It Works
  http://grc.com/ctwhat.htm

FC5 comes with the standard Fedora Core yum repository files which can be found in /etc/yum.repos.d. In addition, I have used the Livna repository. Add the Livna yum repo files by installing the following rpm.

  # rpm -ihv http://rpm.livna.org/fedora/5/i386/livna-release-5-4.noarch.rpm

One common FAQ is “What happened to right-click to get a terminal?” The answer is

  # yum install nautilus-open-terminal.

Partition Table. Here is the partition table I have used beginning with FC2.

Parted Partition Table

Pri/Log Partition Type Label Size Start End
primary /dev/hda1 ntfs C 12GB 32kB 12GB
primary /dev/hda3 ext3 /boot 101MB 12GB 12GB
primary /dev/hda4 ext3 / 10GB 12GB 23GB
extended /dev/hda2     17GB 23GB 40GB
logical /dev/hda5 linux-swap swap 542MB 23GB 23GB
logical /dev/hda6 fat32 D 6379MB 23GB 30GB
logical /dev/hda7 /ext3 /home 10GB 30GB 40GB

Matt Saltzman recommends using LVM if you are partitioning from scratch. LVM allows dynamic resizing of filesystems. Here is his partition table.

  /dev/hda1 - Diagnostics (39MB)
  /dev/hda2 - C: (16GB)
  /dev/hda3 - /boot (128MB)
  /dev/hda4 - Extended
  /dev/hda5 - D: (8GB)
  /dev hda6 - Linux LVM (rest of the disk)
  /dev/hda7 - E: (FAT32 a couple of GB) 
  
  Inside the LVM, there is a single VolGroup00:

  LogVol00 - / (8GB)
  LogVol01 - /usr/local (4GB)
  LogVol02 - /opt (4GB)
  LogVol03 - swap (2GB)
  LogVol04 - /home (rest of the disk).

Monitor and Resolution. Set the monitor and resolution during the first boot setup.

  Monitor: IBM 9514-B TFT Panel
  
  Resolution: 1024x768

For information on configuration of screen fonts, the article 'Optimal Use of Fonts on Linux' listed above is highly recommended.

Radeonfb Video Module. To insure that you have no video power-drain during suspend to ram, install the radeonfb kernel module.

  Add to /etc/modprobe.conf
  options radeonfb force_sleep=1

  Create /etc/sysconfig/mkinitrd containing
  MODULES="radeonfb"

  Rebuild the initrd for any kernels you already have
  # /sbin/mkinitrd -f -v /boot/initrd-$(uname -r).img $(uname -r)

Note that mkinitrd is run by a scriptlet in the kernel RPM, so future kernel RPM installs should automatically include the radeonfb module.

Wireless. The FC5 distribution includes stable version 1.0.8 of the ipw2200 driver for the Intel Pro 2200BG wireless card. Because the firmware is proprietary, you will have to install it (version 2.4) yourself.

  Download ipw2200-fw-2.4.tgz
      from http://ipw2200.sourceforge.net/firmware.php 
  unarchive in /lib/firmware
  
  or to install all firmware versions
  
  # yum install ipw2200-firmware

Make sure you install the correct firmware version. The firmware web site links to the firmware by ipw2200 version. If you have any problems with this driver, you can manually install the latest stable version by following the instructions in another article.

Kernel Devel. To compile the the latest ipw2200 driver, the kernel development package is needed. It is part of the FC5 Core distribution.

  # yum install kernel-devel

Network Setup. The wired interface is setup at installation and assigned the device eth0. In the process the file

  /etc/sysconfig/network-scripts/ifcfg-eth0
is created. Additional options can be set using the utility system-config-network. The hardware tab of this utility shows that FC5 incorrectly identifies the wireless device eth1 as a device of type Ethernet, rather than type Wireless. This happens because the ipw2200 firmware was not installed on the first boot. The easiest way to fix this is to use the system-config-network utility to remove the bogus hardware entry, save and start over configuring the wireless interface from scratch.

Unfortunately, FC5 does not seem to honor the wired-eth0, wireless-eth1 assignment but instead randomly changes this assignment. This can play all kinds of havoc and appears to be a bug. A fix is in updates-testing.

  # yum --enablerepo=updates-testing install initscripts

Tests show that even this approach fails. A FC5 bug has been filed.

NetworkManager. NetworkManager is an optional component for FC5. This application is great for managing network interfaces on a laptop. You can also use it along with vpnc to make a vpn connection to Clemson from off campus. A detailed separate article explains the setup.

FAT32 Partition. To mount the FAT32 D partition, do the following.

  Add to /etc/fstab
  /dev/hda6 /mnt/windowsd vfat rw,nouser,auto,uid=500,gid=500,umask=077 0 0

  # mkdir /mnt/windowsd
  # mount /dev/hda6

Truetype Fonts. Installation of core MS Truetype fonts are covered in the articles listed at the beginning of this document. The article 'Optimal Use of Fonts on Linux' is highly recommended.

Browser and Mail. Mozilla Firefox is included in FC5, while Thunderbird is available for installation.

  # yum install thunderbird

Go to the menu item

  System -> Preferences -> More Preferences -> Preferred Applications
to set the default mail client to Thunderbird. A previous article dealt with the sharing of Firefox bookmarks and Thunderbird mailboxes between Windows XP and FC.

Java. The FC5 release comes with an open source implementation of Java. Sun Java can also be loaded and the alternatives utility can be used to switch between them.

It is best to build RPMS as a non-root user. The remaining steps will be executed using your user account in your home directory.

  $ su -c 'yum install fedora-rpmdevtools'
  $ fedora-buildrpmtree

The jpackage system can be used to build Sun Java RPM's. This is the recommended method of adding Java to FC5 and it automatically registers with the alternatives system.

  Download java-1.5.0-sun-1.5.0.06-1jpp.nosrc.rpm
      from http://www.jpackage.org/rpm.php?id=3366
      
  Build instructions are at http://www.jpackage.org/rebuilding.php
  Use fedora-buildrpmtree in place of the 'Initial Setup' step.
  
  Install
  java-1.5.0-sun-1.5.0.06-1jpp.i586.rpm
  java-1.5.0-sun-fonts-1.5.0.06-1jpp.i586.rpm
  java-1.5.0-sun-alsa-1.5.0.06-1jpp.i586.rpm
  java-1.5.0-sun-plugin-1.5.0.06-1jpp.i586.rpm
  
  Add a symlink
  # cd /usr/lib/mozilla/plugins
  # ln -s /usr/lib/jvm/java-1.5.0-sun-1.5.0.06/jre/plugin/
      i386/ns7/libjavaplugin_oji.so .

The jpackage install should create this symlink. This is a bug.

Suspend to RAM. Suspend to RAM is supported in FC5. The directory /etc/pm/hooks contains scripts for suspending particular applications.

Maple & MATLAB. Installation of Maple and MATLAB were covered in previous articles.

Services. Unneeded services eat up system resources. To see your list of services

  System -> Administration -> Services

Here is the list of services that I am currently running in level 5.

  NetworkManager, NetworkManagerDispatcher, acpid, anacron, 
  atd, autofs, cpuspeed, crond, cups, cups-config-daemon, 
  dhcdbd, gpm, haldaemon, hplip, iptables, irqbalance, lm_sensors, 
  messagebus, readahead, readahead_early, 
  smartd, syslog

Printing. Gnome printer setup can be done with the utility printconf-gui. Clemson Mathematical Sciences users should obtain PPD files for department printers. Import the PPD files.

  System -> Administration -> Printing
  
  Action Import PPD

The only other information needed is the ip address or name of each printer.

Playing DVDs.

Playing DVDs continues to be a challenge for FC5 users since licensing issues do not allow the distribution of all required components. Here is a rundown on what I found.

  Totem: FC5 default Movie player with gstreamer backend.
      Play disk menu item is broken.
      Open location -> dvd:// works. Movie plays with high CPU usage.
      Most controls/menu items are broken.
      Quit kills the GUI but leaves totem process running.
      CPU usage reaches 100% on some DVDs and crashes.
      
  Totem-xine: Worked great with FC4, segfaults with FC5.
  
  Mplayer: Rock solid and looks good with the Clearlooks skin.
      Low CPU usage.
      
  VLC: Rock solid.
      Low CPU usage.

Until Totem is fixed, my DVD player of choice is Mplayer. Install Mplayer.

  # yum -y install mplayer mplayer-skins mplayer-fonts
  # yum -y install mplayerplug-in
  # rpm -ivh libdvdcss libdvdplay
  # rpm -ivh libdvdread libdvdnav

Download and install codecs.

  Download essential-20050412.tar.bz2
      from http://www.mplayerhq.hu/design7/codecs.html
     
  # gtar xjvf essential-20050412.tar.bz2
  # mkdir /usr/lib/win32
  # mv essential-20050412/* /usr/lib/win32

Set the Mplayer preferences to use the ALSA audio sound system and the X11/Xv video system.

Install VLC, the VideoLan Client

  # yum -y install videolan-client

If you want to continue to track the progress of totem, keep your FC5 and non-FC5 gstreamer packages up to date.

  See http://gstreamer.freedesktop.org/download/fedora5.html

Modem. The modem in the Clemson T42 is an IBM product based on the Conexant chip set and requires an HSF driver. A free 14.4K driver is available from www.linuxant.com.

The Clemson T41 modem is an Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller. It can be controlled by the slmodem-alsa RPM from Livna. To allow regular users to operate the modem, add them to the uucp group. Then chkconfig slmodemd on (and service slmodemd start), and use system-config-network to define the modem device (/dev/ttySL0 in this case) and set the interface to user-controllable. No kernel module is needed.

Maple Menu Item. To add Maple Standard to the system-wide menus and add file and icon associations, complete the following steps.

First, copy the Windows ICO icon file for Maple Standard to your home directory and then use the gThumb Image Viewer to convert to a 32x32 PNG image file maple.png. Copy this icon to your Maple installation directory. Mine is /usr/local/maple10.

Second, create the following desktop file and update the default applications list.

  /usr/share/applications/maple.desktop
  
  [Desktop Entry]
  Exec=xmaple
  Icon=/usr/local/maple10/maple.png
  MimeType=application/maple
  Name=Maple
  StartupNotify=true
  Terminal=false
  Type=Application
  Categories=Development
  
  Append to /usr/share/applications/defaults.list
  
  application/maple=maple.desktop

Third, set up the mimetype.

  Create the file /usr/share/mime/packages/Overrides.xml
  
  <?xml version='1.0'?>
  <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
    <mime-type type="application/maple">
      <comment xml:lang="en">Maple Worksheet</comment>
      <magic priority="100">
        <match value="&lt;Worksheet&gt;" type="string" offset="0:50">
        </match>
      </magic>
      <glob pattern="*.mw"/>
    </mime-type>
  </mime-info>

Fourth, set up the icon association.

  cd /usr/local/maple10
  cp maple.png /usr/share/icons/gnome/32x32/mimetypes/
      gnome-mime-application-maple.png

Finally, update the desktop, mime, and icon databases.

  update-desktop-database
  update-mime-database /usr/share/mime
  gtk-update-icon-cache -f /usr/share/icons/gnome

Gnome file sniffing presents a challenge here. Maple MW files are XML files. Without the magic and match tags and the high priority in the Overrides.xml file, Maple MW files would be identified as XML files.

Panel Calendar Fix. Thanks to Andrew Duggan (cmkrnl@speakeasy.net) for this solution. The calendar that you get by left-clicking on your panel clock has weeks that run from Monday to Sunday instead of Sunday to Saturday. To fix this do the following.

  In /usr/share/i18n/locales/en_US
  - week    7;19971201;4
  + week    7;19971130;4

  if /etc/sysconfig/i18n contains
      LANG="en_US.UTF-8"
  do
  
  # localedef -f ANSI_X3.4-1968 -i en_US --force --verbose /usr/lib/locale/en_US
  # localedef -f UTF-8 -i en_US --force --verbose /usr/lib/locale/en_US.utf8

  # build-locale-archive
  
  Logout and login for the change to take effect.

The charmaps (-f charmap) are in /usr/share/i18n/charmaps.

Sub-pixel Rendering. FC5 can do sub-pixel rendering using the freetype package. The effect can be dramatic. Here is the setup I am using.

  System -> Preferences -> Fonts
  
  96 DPI
  Tahoma   9
  Verdana  9
  Tahoma   9
  Trebuchet MS Bold  11
  Lucida Sans Typewriter  10
  Subpixel smoothing
  Hinting Medium
  Subpixel order VRGB

The actual PDI of my 14" screen is closer to 91 but I am using 96 because that is the Windows XP model and I want to compare Windows XP and FC5. The Tahoma, Trebuchet, and Lucida Sans Typewriter fonts from the core MS fonts package were designed for use on a screen and are fully hinted. The Bitstream Vera, Luxi, and Nimbus fonts provided by FC5 are only partially hinted.

Please refer to the article 'Sub-Pixel Font Rendering Technology: How It Works' referenced above for details on sub-pixel rendering. Here is a brief synopsis. If you magnify a square pixel on a typical laptop LCD panel, you see that it is divided into three equal width vertical bars which are colored from left to right, red, green, blue. These vertical bars are called sub-pixels and can be controlled separately. This sub-pixel ordering is referred to as RGB. Panels are sometime manufactured with the reverse ordering referred to as BGR. If the pixels are divided into three equal width horizontal bars and colored from top to bottom, red, green, blue, the sub-pixel ordering is referred to as VRGB. Panels are sometime manufactured with the reverse ordering referred to as VBGR. If you turn on sub-pixel smoothing in FC5 and have the sub-pixel ordering wrong, bold menu characters will be too bold, regular characters will be mostly too thin with some thick patches, and the kerning will be off (not enough spaces between some characters). The trick is to try each of the four sub-pixel orderings. When you hit the right one, the effect will be quite noticeable.

I set my Windows XP font sizes to match what I have for FC5. I used the GIMP to blow up and compare captures of a Thunderbird window taken in Windows XP with ClearType on and FC5. I could not see much difference.

I have also tried BCI enabled freetype.

  Download RPMS from http://avi.alkalay.net/software/freetype.bci/FC5/
  
  # rpm -Uvh --force freetype-2.1.10-5.2.1.bci.i386.rpm  
      freetype-devel-2.1.10-5.2.1.bci.i386.rpm

To me it is a toss-up as to which looks better. Matt Saltzman likes the BCI.