Update 1 Release Notes

   Copyright (c) 2004 Red Hat, Inc.

     ----------------------------------------------------------------------

Introduction

   The following topics are covered in this document:

     o Changes to the Fermi Linux LTS installation program
       (Anaconda)

     o General information

     o Changes to drivers and hardware support

     o Changes to packages


General Information

   This section contains general information not specific to any other
   section of this document.

     o The SCSI standard requires that all SCSI devices respond to Logical
       Unit Number (LUN) zero. Some SCSI devices fail when they are scanned
       for Logical Unit Numbers (LUNs) greater than zero. Other devices
       require that LUNs must be numbered sequentially.

       The Fermi Linux LTS 3.0.1 Update 1 kernel contains a list of
       devices that have been tested and shown to work correctly when scanned
       for non-zero LUNs, and non-sequential LUNs. Only devices on this list
       are scanned by default. This default behavior can be overridden on a
       system-wide basis by adding the following entry to the
       /etc/modules.conf file:

       options scsi_mod max_scsi_luns=255

       After modifying modules.conf, it is necessary to rebuild the initial
       ramdisk file using the mkinitrd script. Refer to mkinitrd man page
       (using the command man mkinitrd) for more information about creating
       the initial ramdisk image.

       When this option is used, the LUN numbers on the device must be
       assigned sequentially, starting with zero.

     o Fermi Linux LTS 3.0.1 Update 1 includes support for Serial ATA
       (SATA) devices via the Intel ICH5 Serial ATA controller. This
       controller is found in many systems, including most of the latest
       Dell, HP, and IBM workstations. In order to ensure proper detection
       and operation of all storage devices, the system BIOS should be
       configured for "Enhanced mode" or "SATA-only mode." The "Legacy mode"
       and/or "Combined mode" settings should not be used.

     o Notes on Application Compatibility in Fermi Linux LTS 3.0.1 
       Update 1

       The POSIX standard defines interfaces to lock files or parts of files
       to ensure that they are not concurrently changed by other programs.
       The fcntl() interface with the F_GETLK, F_SETLK, and F_SETLKW
       interfaces can be used for this purpose. The standard defines that
       attempts to lock an already locked file from another process must
       fail. Also part of POSIX is the lockf() interface, which serves the
       same purpose. Not in POSIX, but falling into the same category, is the
       flock() interface.

       The original kernel in the initial Fermi Linux LTS 3.0.1 release
       not only prevents locking of the file from other processes, it also
       prevents locking from other threads in the same process. This is not
       correct and does not correspond to the behavior in the 2.6 Linux
       kernel and correct POSIX semantics. The kernel update in Fermi 
       Linux LTS 3.0.1 Update 1 introduces the correct behavior for
       programs using NPTL. There is no impact to programs that use
       LinuxThreads nor to programs that are not multi-threaded.

       A side effect of the original Fermi Linux LTS 3.0.1 kernel is
       that the l_pid field, which is part of the flock structure which is
       returned by a call to fcntl() with the F_GETLK command, contains a
       kernel-internal number of the thread. With the Fermi Linux LTS 3.0.1 
       Update 1 kernel, this field contains the process ID for all
       threads of the process.

       If a non-POSIX-compliant multi-threaded application uses the NPTL
       library (which is the default), and that application performs file
       locking with the fcntl() system call, it is possible that the
       application might not work as originally intended when the 
       Fermi Linux LTS 3.0.1 Update 1 kernel is used.  Fermi recommends that
       any such application be re-qualified on the updated kernel, and if a
       problem is encountered, one of the following courses of action should
       be taken:

       1) Set the LD_ASSUME_KERNEL environment variable to "2.4.19" for the
       application process to prevent it from using the NPTL library. Note
       that if the application doesn't reset the LD_ASSUME_KERNEL environment
       variable, this setting is inherited by all child processes.

       2) Modify the application so that it no longer expects behavior that
       is inconsistent with POSIX compliance. This will improve the program's
       overall portability.

       Fermi believes that few (if any) multi-threaded applications will be
       negatively impacted by the file locking fixes contained in the updated
       kernel.

       Similar problems exist with the kernel functionality that provides
       credentials for transport for Unix sockets and the System V message
       queues, semaphores, and shared memory. In the first case, calls such
       as:

       getsockopt (fd, SOL_SOCKET, SO_PEERCRED, &caller, &optlen)

       return information in the structure caller, which is of type struct
       ucred. This structure contains a field pid. In the original 
       Fermi Linux LTS 3.0.1 kernel, this field was filled with a
       kernel-internal value representing the thread that sent the data. With
       Fermi Linux LTS 3.0.1 Update 1, the field correctly contains the
       process ID -- in other words, the same value for all threads in a
       process.

       The struct msqid_s type, defined in <sys/msq.h>, which is used to get
       information about a System V message queue, contains the fields
       msg_lspid and msg_lrpid. Both fields previously contained a
       kernel-internal value, whereas now they correctly contain the PID of
       the process calling msgsnd() and msgrcv() respectively.

       When the GETPID command, defined in <sys/sem.h>, is used with the
       semctl() function, the original Fermi Linux LTS 3.0.1 kernel
       returned a kernel-internal value. As of Fermi Linux LTS 3.0.1 
       Update 1, the returned value is the process ID.

       The struct shmid_s type, defined in <sys/shm.h>, which is used to get
       information about a System V shared memory segment, contains the
       fields shm_lpid and shm_cpid. Both fields previously contained
       kernel-internal values; now they correctly contain the PID of the
       process performing the last operation, and creating the segment,
       respectively.

Changes to Drivers and Hardware Support

   This update includes bug fixes for a number of drivers. The more
   significant driver updates are listed below. In some cases, the original
   driver has been preserved under a different name, and is available as a
   non-default alternative for organizations that wish to migrate their
   driver configuration to the latest versions at a later time.

  Note

   The migration to the latest drivers should be completed before the next
   Fermi Linux LTS 3.0.1 update is applied, because in most cases only one
   older-revision driver will be preserved for each update.

   IBM ServeRAID (ips driver)

     o The scsi/ips driver has been updated from 6.00.26 to 6.10.52

     o The older driver has been preserved as addon/ips_60026

   LSI Logic RAID (megaraid driver)

     o The scsi/megaraid driver has been updated from v1.18j to v1.18k

     o The scsi/megaraid2 driver has been updated from v2.00.5 to v2.00.9

   C-Media PCI audio driver (cmpci driver)

     o The sound/cmpci driver has been updated from Revision 5.64 to 6.36

     o The older driver has been preserved as addon/cmpci_564

   Intel PRO/1000 (e1000 driver)

     o The e1000 driver has been updated from 5.1.11-k1 to 5.2.20-k1

   Intel PRO/100 (e100 driver)

     o The e100 driver has been updated from 2.3.13-k1-1 to 2.3.30-k1

Changes to Packages

   This section contains listings of packages that have been updated or added
   from Fermi Linux LTS 3.0.1 as part of Update 1.

  Note

   These package lists include packages from all variants of Fermi Linux 
   LTS 3.0.1 . Your system may not include every one of the packages
   listed here.

   The following packages have been updated from the original release of 
   Fermi Linux LTS 3.0.1:

     o XFree86

     o XFree86-100dpi-fonts

     o XFree86-75dpi-fonts

     o XFree86-ISO8859-14-100dpi-fonts

     o XFree86-ISO8859-14-75dpi-fonts

     o XFree86-ISO8859-15-100dpi-fonts

     o XFree86-ISO8859-15-75dpi-fonts

     o XFree86-ISO8859-2-100dpi-fonts

     o XFree86-ISO8859-2-75dpi-fonts

     o XFree86-ISO8859-9-100dpi-fonts

     o XFree86-ISO8859-9-75dpi-fonts

     o XFree86-Mesa-libGL

     o XFree86-Mesa-libGLU

     o XFree86-Xnest

     o XFree86-Xvfb

     o XFree86-base-fonts

     o XFree86-cyrillic-fonts

     o XFree86-devel

     o XFree86-doc

     o XFree86-font-utils

     o XFree86-libs

     o XFree86-libs-data

     o XFree86-sdk

     o XFree86-syriac-fonts

     o XFree86-tools

     o XFree86-truetype-fonts

     o XFree86-twm

     o XFree86-xauth

     o XFree86-xdm

     o XFree86-xfs

     o anaconda

     o anaconda-runtime

     o ant

     o ant-devel

     o ant-libs

     o clumanager

     o compat-gcc

     o compat-gcc-c++

     o compat-gcc-g77

     o compat-gcc-java

     o compat-gcc-objc

     o compat-libgcj

     o compat-libgcj-devel

     o compat-libstdc++

     o compat-libstdc++-devel

     o cpp

     o devlabel

     o eclipse

     o ethereal

     o ethereal-gnome

     o freeradius

     o freeradius-mysql

     o freeradius-postgresql

     o freeradius-unixODBC

     o gcc

     o gcc-c++

     o gcc-g77

     o gcc-gnat

     o gcc-java

     o gcc-objc

     o gdb

     o glibc

     o glibc-common

     o glibc-debug

     o glibc-devel

     o glibc-headers

     o glibc-profile

     o glibc-utils

     o gnupg

     o hotplug

     o httpd

     o httpd-devel

     o hwdata

     o initscripts

     o iproute

     o kdegames

     o kdegames-devel

     o kernel

     o kernel-BOOT

     o kernel-doc

     o kernel-hugemem

     o kernel-hugemem-unsupported

     o kernel-smp

     o kernel-smp-unsupported

     o kernel-source

     o kernel-unsupported

     o kernel-utils

     o kinput2-canna-wnn6

     o kudzu

     o kudzu-devel

     o libf2c

     o libgcc

     o libgcj

     o libgcj-devel

     o libgnat

     o libobjc

     o libstdc++

     o libstdc++-devel

     o mdadm

     o mod_jk2

     o mod_ssl

     o mod_webapp

     o modutils

     o modutils-devel

     o net-snmp

     o net-snmp-devel

     o net-snmp-perl

     o net-snmp-utils

     o netdump

     o netdump-server

     o nptl-devel

     o nscd

     o nss_ldap

     o openssl

     o openssl-devel

     o openssl-perl

     o oprofile

     o oprofile-devel

     o pstack

     o quagga

     o quagga-contrib

     o quagga-devel

     o redhat-config-cluster

     o redhat-config-kickstart

     o redhat-config-network

     o redhat-config-network-tui

     o redhat-config-packages

     o redhat-config-xfree86

     o rh-postgresql

     o rh-postgresql-contrib

     o rh-postgresql-devel

     o rh-postgresql-docs

     o rh-postgresql-jdbc

     o rh-postgresql-libs

     o rh-postgresql-pl

     o rh-postgresql-python

     o rh-postgresql-server

     o rh-postgresql-tcl

     o rh-postgresql-test

     o rsync

     o shadow-utils

     o strace

     o struts

     o tomcat

     o tomcat-devel

     o tomcat-libs

     o up2date

     o up2date-gnome

     o ypbind

   The following new packages have been added to Fermi Linux LTS 3.0.1 
   Update 1:

     o jaf

     o jaf-devel

     o javamail

     o javamail-devel

     o jonas

     o jonas-examples

     o junit

     o junit-devel

     o mysql-jdbc

     o mysql-jdbc-tomcat

     o rh-cs-es

     o struts-webapps

     o tomcat-test

   ( x86 )