Ammasso 1100 User manual

1
The Ammasso 1100
High Performance Ethernet Adapter
User’s Guide
Ammasso, Inc.
345 Summer St.
Boston, MA 02210
Main: 617-532-8100
Fax: 617-532-8199
http://www.ammasso.com
Revision: 1.2Update 1
July 22, 2005
Copyright © 2005 Ammasso, Inc. All rights reserved.

2
Information in this document is subject to change without notice.
This document is provided for information only. Ammasso, Inc. makes no warranties of any
kind regarding the Ammasso 1100 High Performance Ethernet Adapter except as set forth in
the license and warranty agreements. The Ammasso 1100 High Performance Ethernet
Adapter is the exclusive property of Ammasso, Inc. and is protected by United States and
International copyright laws. Use of the product is subject to the terms and conditions set out
in the accompanying license agreements. Installing the product signifies your agreement to
the terms of the license agreements.

3
Table of Contents
1OVERVIEW 6
1.1 INTRODUCTION 6
1.2 THEORY OF OPERATION 7
1.2.1 HOW THE AMMASSO ADAPTER WORKS 7
1.2.2 HOW REMOTE DIRECT MEMORY ACCESS (RDMA) WORKS 7
1.2.3 WHAT IS MPI AND WHY IS IT USED? 9
1.2.4 WHAT IS DAPL AND WHY IS IT USED? 9
1.3 PRODUCT COMPONENTS 10
1.4 SPECIFICATIONS 10
1.4.1 PERFORMANCE 10
1.4.2 APPLICATION PROGRAM INTERFACES (APIS) 10
1.4.3 OPERATING SYSTEMS 10
1.4.4 PLATFORMS 10
1.4.5 MANAGEMENT 10
1.4.6 STANDARDS COMPLIANCE 10
1.4.7 HARDWARE 10
2HARDWARE SYSTEM REQUIREMENTS AND INSTALLATION 11
2.1 SAFETY AND EMISSIONS 11
2.2 SYSTEM HARDWARE REQUIREMENTS 12
2.3 ADAPTER HARDWARE INSTALLATION 12
2.3.1 CHOOSING A SLOT FOR INSTALLATION 12
2.3.2 TOOLS AND EQUIPMENT REQUIRED 12
2.3.3 ADAPTER INSERTION PROCEDURE 13
3ADAPTER SOFTWARE INSTALLATION 14
3.1 SYSTEM SOFTWARE REQUIREMENTS 14
3.2 OVERVIEW 14
3.3 INSTALLING THE ADAPTER SOFTWARE PACKAGE 14
3.3.1 MAKEFILE TARGETS 16
3.3.2 MAKEFILE CONFIGURATION VARIABLES 17
3.4 DISTRIBUTION SPECIFIC BUILD DETAILS 18
3.4.1 REDHAT 18
3.4.2 SUSE 19
3.4.3 KBUILD 20
AMMASSO 1100 COMMANDS AND UTILITIES 21
3.5 CONFIGURING THE AMMASSO 1100 ADAPTER 22
3.5.1 CONFIGURATION ENTRIES 23
3.5.2 SAMPLE CONFIGURATION FILE 24
3.6 VERIFYING THE ADAPTER SOFTWARE INSTALLATION 24
3.7 REMOVING AN ADAPTER SOFTWARE INSTALLATION 25
4THE AMMASSO MPI LIBRARY 26

4
4.1 OVERVIEW 26
4.1.1 COMPILER SUPPORT 26
4.2 INSTALLATION 26
4.2.1 MAKEFILE TARGETS 28
4.2.2 MAKEFILE CONFIGURATION VARIABLES 29
4.3 LOCATING THE MPI LIBRARIES AND FILES 30
4.4 COMPILING AND LINKING APPLICATIONS 31
4.4.1 CREATING A MPI CLUSTER MACHINES FILE 32
4.4.2 REMOTE STARTUP SERVICE 33
4.5 VERIFYING MPI INSTALLATION 33
4.6 REMOVING THE AMMASSO MPI INSTALLATION 34
4.7 AMMASSO MPI TUNABLE PARAMETERS 34
4.7.1 VIADEV ENVIRONMENT VARIABLES 35
4.7.2 TUNING SUGGESTIONS 37
5THE AMMASSO DAPL LIBRARY 38
5.1 OVERVIEW 38
5.2 INSTALLATION 38
5.2.1 MAKEFILE TARGETS 39
5.2.2 MAKEFILE CONFIGURATION VARIABLES 39
5.3 CONFIGURING DAPL 40
5.4 VERIFYING DAPL INSTALLATION 40
5.4.1 UDAPL INSTALLATION VERIFICATION 40
5.4.2 KDAPL INSTALLATION VERIFICATION 41
5.5 REMOVING THE AMMASSO DAPL INSTALLATION 41
5.6 AMMASSO DAPL COMPATIBILITY SETTINGS 41
5.6.1 CCAPI_ENABLE_LOCAL_READ 41
5.6.2 DAPL_1_1_RDMA_IOV_DEFAULTS 42
6CLUSTER INSTALLATION 43
6.1 INTRODUCTION 43
6.2 STEPS ON THE INITIAL BUILD SYSTEM 43
6.2.1 PREPARE THE KERNEL 43
6.2.2 INSTALL AMSO1100 AND BUILD BINARY FOR CLUSTER DEPLOYMENT 44
6.2.3 INSTALL MPICH AND BUILD BINARY FOR CLUSTER DEPLOYMENT 46
6.2.4 INSTALL DAPL AND BUILD BINARY FOR CLUSTER DEPLOYMENT 48
6.2.5 CLEAN UP AMSO DIRECTORIES AND FILES. 49
6.3 STEPS ON THE CLUSTER NODE SYSTEMS 49
6.4 CLUSTER DEPLOYMENT 52
7USING THE AMMASSO 1100 WITH PXE BOOT 53
7.1 THEORY OF OPERATION 53
7.2 REQUIREMENTS 53
7.3 BIOS SETTINGS 55
7.4 BUILDING THE RAMDISK 55
7.4.1 CONFIGURING AND BUILDING BUSYBOX APPLICATIONS 56
7.4.2 BUILDING MODUTILS OR MODULE-INIT-TOOLS 56

5
7.4.3 POPULATING THE RAMDISK 57
7.4.4 BUILDING THE RAMDISK IMAGE 59
7.5 INSTALLING AND CONFIGURING A DHCP SERVER 59
7.6 INSTALLING AND CONFIGURING A TFTP SERVER 60
7.7 BUILDING PXELINUX 61
7.8 DISKLESS LINUX BOOT VIA PXE 61
7.8.1 CONFIGURE A ROOT FILE SYSTEM 62
7.8.2 CONFIGURE THE NFS SERVER 62
7.9 UPDATING THE AMMASSO 1100 OPTION ROM IMAGE 63
APPENDIX A: SUPPORT 64
OBTAINING ADDITIONAL INFORMATION 64
CONTACTING AMMASSO CUSTOMER SUPPORT 64
RETURNING A PRODUCT TO AMMASSO 64
APPENDIX B: WARRANTY 65

6
1 Overview
1.1 Introduction
The Ammasso 1100 High Performance Ethernet Adapter is a RDMA enabled Ethernet Server
adapter offering high performance for server to server networking environments. The
Ammasso 1100 is also a gigabit Ethernet adapter and works within any gigabit Ethernet
environment supporting existing standard wiring, switches, and other Ethernet adapters.
Using the Ammasso adapter requires installing it into a PCI-X slot, loading the software and
assigning IP addresses to the adapter, one for RDMA traffic and one for standard sockets
traffic. The adapter has several features that deliver higher levels of performance:
• Low latency
• Reduced copies
• Reduced host CPU overhead
These features are accomplished through the use of RDMA (Remote Direct Memory Access)
technology and CPU offload. RDMA moves data from the memory of one server directly
into the memory of another server over a network without involving the CPU of either server.
CPU offload lowers the processing requirements on the host CPU when using RDMA,
increasing its efficiency. Low latency assures that the time it takes for data to get from one
application to the other is minimized, while increasing the overall message capacity of the
network.
The combination of these features reduces application data transfer times. They combine to
enable distributed databases to scale more effectively improving performance on individual
servers and providing better scalability to larger clusters. Compute clusters attain higher
performance levels with improved inter-node communication and reduced CPU loads. Lastly
for traditional network attached storage (NAS) installations, storage solutions deliver data
faster without additional CPU overhead..

7
1.2 Theory of Operation
1.2.1 How the Ammasso Adapter Works
The Ammasso 1100 is an Ethernet adapter designed to take advantage of various standard
interfaces, including MPI, DAPL, and traditional BSD sockets.
For use with MPI and/or DAPL, the Ammasso 1100 leverages its RDMA capabilities and
uses its on-board processing engine to quickly decipher the header information, determines
where the information needs to go, and handles any network processing that needs to be done
without involving the host CPU. Through this approach, the adapter limits the need to make
data copies, limits the amount of host CPU processing necessary, and places data directly
into application memory, thereby maximizing performance.
Additionally, the adapter can be used to support sockets based traffic as well. When using the
BSD sockets interface, the Ammasso 1100 operates at performance levels consistent with
other high-end gigabit sockets based adapters. The adapter supports sockets by maintaining a
separate IP address within the card for sockets traffic and rapidly moving that traffic to the
host network stack, where it can be processed normally.
Having support for both a high performance path and sockets path allows a single cable
connection and switch data port for all traffic types, either sockets or fast-path RDMA based,
simplifying network environments and management.
1.2.2 How Remote Direct Memory Access (RDMA) Works
Once a connection has been established, RDMA enables the movement of data from the
memory of one server directly into the memory of another server without involving the
operating system of either node. RDMA supports zero-copy networking by enabling the
network adapter to transfer data directly to or from application memory, eliminating the need
to copy data between application memory and the data buffers in the operating system. When
an application performs an RDMA Read or Write request, the application data is delivered
directly to the network, hence latency is reduced and applications can transfer messages
faster (see Figure 1).

8
Figure 1 Transfer of Data
RDMA reduces demand on the host CPU by enabling applications to directly issue data
transfer request commands to the adapter without having to execute an operating system call
(referred to as "kernel bypass"). The RDMA request is issued from an application running on
one server to the local adapter through its API and that request, along with the application’s
data, is then carried over the network to the remote adapter. The remote adapter then places
the application’s data into the host’s memory without requiring operating system
involvement at either end. Since all of the information pertaining to the remote virtual
memory address is contained in the RDMA message itself, and host and remote memory
protection issues were checked during connection establishment, the operating systems do
not need to be involved in each message.
For each RDMA command, the Ammasso 1100 adapter implements all of the required
RDMA operations as well as the processing of the TCP/IP state machine, thus reducing
demand on the CPU and providing a significant advantage over standard adapters while
maintaining TCP/IP standards and functionality. (see Figure 2).
Server 1 Server 2
Network

9
Figure 2 RDMA vs. Traditional Adapter
1.2.3 What Is MPI and Why Is It Used?
The Message Passing Interface (MPI) is a library for message-passing used for efficient
distributed computation. Developed as a collaborative effort by a mix of research and
commercial users, MPI has expanded into a standard supported by a broad set of vendors,
implementers, and users and is designed for high performance applications on massively
parallel machines and workstation clusters. It is widely available in a number of different
vendor implementations, and open source distributions. MPI is considered the de-facto
standard for writing parallel applications.
A version of the MPI library MPICH-1.2.5 is available that is compatible with the Ammasso
1100 adapter.
1.2.4 What Is DAPL and Why Is It Used?
Direct Access Programming Library (DAPL) defines a single set of user APIs used in
Database and Storage RDMA Enabled environments. The DAPL API is defined by the DAT
(Direct Access Transport) Collaborative which is an industry group that has formed in order
to define and standardize a set of transport-independent, platform-independent Application
Programming Interfaces (APIs) that exploit RDMA (remote direct memory access). It is
being supported and utilized in NAS/SAN and Enterprise Database environments.

10
1.3 Product Components
• AMSO-1100 High Performance Ethernet Adapter
• A .tgz archive file containing all software files
• The Ammasso 1100 High Performance Ethernet Adapter User’s Guide (this file)
• Current release notes
1.4 Specifications
1.4.1 Performance
• 1 Gigabit Ethernet
• Full duplex
• TCP/IP offload for RDMA Connections
• Full RDMAP Offload with MPA
1.4.2 Application Program Interfaces (APIs)
• MPI – Argonne National Labs MPICH Version 1.2.5
• DAPL – User Mode (uDapl) and Kernel Mode (kDapl) ver 1.2
• BSD Sockets (non-RDMA)
1.4.3 Operating Systems
• See http://www.ammasso.com/support/
1.4.4 Platforms
• IA-32 and EM64T compatible systems
• AMD Opteron 32/64 compatible systems
1.4.5 Management
• Field upgradeable
• PXE boot
1.4.6 Standards Compliance
• IEEE Ethernet: 802.3, 802.3ab (copper)
• PCI: PCI-X 1.0
1.4.7 Hardware
• Connector: Cat 5E cable terminated with an RJ45 connector
• Regulatory: FCC Class A, CE, CSA
• Size: Full height, PCI short card
• Temperature: 0° to 70°C (32° to 158°F)
• Humidity: 10 - 90% non-condensing

11
2 Hardware System Requirements and Installation
2.1 Safety and Emissions
This equipment has been tested and found to comply with the limits for
a Class A digital device, pursuant to part 15 of the FCC Rules. These
limits are designed to provide reasonable protection against harmful
interferences when the equipment is operated in a commercial
environment. This equipment generates, uses, and can radiate radio
frequency energy and, if not installed and used in accordance with the
User Guide, may cause harmful interference to radio
communications. Operation of this equipment in a residential area is
likely to cause harmful interference, in which case the user will be
required to correct the interference at his own expense.
This is a Class A Product. In a domestic environment this product
may cause radio interference in which case the user may be required
to take adequate measures.
Observe the following precautions when working with your Ammasso 1100 High
Performance Ethernet Adapter.
WARNING: Only trained and qualified personnel should be allowed to install or
replace this equipment.
WARNING: Before performing the adapter insertion procedure, ensure that power is
removed from the computer.
CAUTION: To prevent electrostatic damage (ESD), handle the adapter by its edges,
and always use an ESD-preventative wrist strap or other grounding device.

12
2.2 System Hardware Requirements
• Intel IA-32 and EM64T or AMD Opteron 32/64 compatible
• Bus Type: PCI-X 1.0
• Bus Width: 64-bit
• Bus Slot Speed: 66/100/133 MHz
• Power supply voltages:+3.3 volts +/- 0.3 volts, +5.0 volts +/- 0.25 volts
• A single open 64-bit PCI-X slot (see section “Choosing a Slot for Maximizing
Performance” below before making a choice)
• 256 MB RAM (minimum), 1GB (or more recommended)
• PCI-X compatible riser card (if installing in a system that requires a riser card)
2.3 Adapter Hardware Installation
2.3.1 Choosing a Slot for Installation
When choosing a connector slot in your computer, be aware that the Ammasso 1100 Ethernet
Adapter must be inserted into a PCI-X slot. Before inserting the adapter, use your system
documentation to determine which slots support PCI-X. Be sure to set any jumpers correctly
on the motherboard to ensure that the slot is correctly configured. The Ammasso 1100 will
not operate correctly in a slot that is running in PCI mode. If a PCI device is attached to a
PCI-X bus, the bus will operate in PCI mode.
The Ammasso 1100 Ethernet Adapter is designed to deliver high performance. In order to
maximize performance, Ammasso recommends that the 1100 Ethernet Adapter be the only
device on the PCI-X bus. Installing more than one card in a PCI-X bus may degrade
performance of all devices on that bus.
2.3.2 Tools and Equipment Required
You need the following items to install and connect the Ammasso adapter:
• ESD-preventative wrist strap
• Ammasso 1100 High Performance Ethernet Adapter
• Cat 5E cable terminated with an RJ-45 connector

13
2.3.3 Adapter Insertion Procedure
To install the Ammasso 1100 High Performance Ethernet Adapter into a server:
1. Power off the server and unplug the power cord.
2. Remove the cover from the server.
3. Put on an ESD-preventative wrist strap, and attach it to an unpainted, grounded metal
surface.
4. Select an appropriate PCI-X connector slot in the server.
NOTE: Attaching more than one card to the PCI-X bus on your computer may
degrade the Ammasso 1100 Ethernet Adapter’s performance. Before selecting a slot, be
sure to read the “Choosing a Slot for Installation” section above.
5. Remove the blank filler panel where you plan to install the adapter.
CAUTION: To prevent ESD damage, handle the adapter only by its edges, and use
an ESD-preventative wrist strap or other grounding device.
6. Remove the Ammasso 1100 High Performance Ethernet Adapter from its anti-static
packaging.
7. Align the adapter with the connector slot. Using the top of the adapter, and without
forcing it, push the adapter gently but firmly into place until you feel its edge mate
securely with the connector slot. Make sure that the adapter aligns so that you can
see the port through the back of the computer.
8. Use a screw to attach the adapter to the chassis (see system documentation for details).
9. Replace the computer cover.
10. Attach the RJ45 cable to the port on the adapter and plug the other end of the cable
into a Gigabit Ethernet switch port.
11. Plug the computer into AC power, turn it on, and reboot.
12. Login to the system as root and use the lspci(8) command to verify that the
system recognizes the Ammasso 1100 card. The first few characters of the output are
system specific.
# lspci –n | grep –i 18b8
02:02.0 Class 0b40: 18b8:b001 (rev 01)
13. Verify that the card has established link connectivity by observing the LEDs on the
RJ45 connector. The Green “Link” LED should be constantly illuminated once link
is established. The Yellow “Activity” LED will flash when there is network traffic.
The Ammasso 1100 will not establish link if connected to a 10/100 Ethernet switch as
it requires a port speed of 1 gigabit.
14. Proceed to Chapter 3, Adapter Software Installation.
! ! !

14
3 Adapter Software Installation
This section provides information on installing the Ammasso adapter software.
3.1 System Software Requirements
System requirements for installing the software:
• Intel IA-32 and EM64T or AMD Opteron 32/64 compatible platform
• Disk Space – at least 50 MB of free disk space.
• Linux Operating System – see release notes for tested distributions
• C compiler must be installed in order to use MPICH
• Kernel source RPM installed, configured, and built (see section 3.4 for distribution
specific details)
3.2 Overview
AMSO1100.tgz is the base package, which includes microcode, libraries and drivers.
This must be installed to utilize the Ammasso 1100 adapter.
AMSO_MPICH.tgz is the MPICH 1.2.5 package and requires the AMSO1100 package.
This package must be installed to enable MPI applications over the Ammasso 1100 adapter.
AMSO_DAPL.tgz is the DAPL package and requires the AMSO1100 package. This
package must be installed to enable DAPL applications over the Ammasso 1100 adapter.
These packages must be built and installed on each machine in your cluster. The following
instructions detail how to install on one node. For cluster-wide deployment on multiple
nodes, please also see chapter 6 – Cluster Installation.
3.3 Installing the Adapter Software Package
NOTE: If updating your machines from a previous release, see the
HOWTO_UPDATE.txt file for details on how to update the Ammasso 1100 hardware image
if necessary and how to remove a previous installation.
1. Unarchive the AMSO1100.tgz tar file into a working directory.
# cd <work_dir>
# tar -zxf <path_to>/AMSO1100.tgz
2. Change into the AMSO1100 directory, make the drivers, and direct the output to a logfile.
# cd ./AMSO1100
# make install 2>&1 | tee make_install.logfile
3. Answer the configure questions for your specific needs. The questions asked are
described below.
Q1: Where would you like your software installed?
[/usr/opt/ammasso]

15
Enter the AMSO1100 install directory. This is where the commands, libraries,
and drivers will be installed.
Q2: Where would you like your config data stored?
[/usr/opt/ammasso/data/<hostname>]
This is where the rnic_cfg file for the Ammasso installation will be stored.
This file contains the network settings for the Ammasso adapter.
Q3: Would you like to configure interfaces of the Ammasso
1100 adapter? (y or n) [y]
If you have an rnic_cfg file from a previous installation, answer ‘n’ to
this question in order to retain that file. Answering 'y' allows you to
configure both of the IP addresses for the adapter, its network masks, gateway
addresses, etc. for this system.
At this point you have successfully installed the AMSO1100 package on your system. If you
are deploying the Ammasso software on many machines in a cluster, please see chapter 6 for
more details. The various commands, libraries, and drivers are installed in the directory
chosen in step 3.
The commands are linked into /usr/bin. The libraries are linked into /usr/lib or
/usr/lib64 as required. The man pages are linked into /usr/share/man. The startup
configuration script is copied into /etc/init.d and linked appropriately in
/etc/rc*.d. The Ammasso configuration file is copied into /etc/ammasso.conf .
NOTE: You must reboot your system for the drivers to be installed into the active
(running) kernel.
After you reboot, you can verify that that the drivers are loaded by using the ccons(8)
command to query the running firmware for the version number:
# ccons 0 vers
Cluster Core 1.2.1
#

16
3.3.1 Makefile Targets
The AMSO1100 package top-level Makefile supports the following targets:
all:
Configures and builds AMSO1100 (default target).
config:
Configures the AMSO1100 source tree for building. The result is a file Config.mk
that contains various environment variables needed to build the product.
build:
Builds AMSO1100 -- depends on config target.
install:
Installs AMSO1100 -- depends on build target.
uninstall:
Uninstalls AMSO1100 if it is installed.
clean:
Deletes (cleans) the build objects from the source tree.
binary:
This will put together a binary that can be put on other machines with identical setups.
The resulting file ammasso1100.bin can be executed on each identical system in
a cluster to install and configure the AMSO1100 package.

17
3.3.2 Makefile Configuration Variables
The configuration file Config.mk has the following variables:
GCC_PATH
The command name of the compiler program to use and optionally its associated pathname.
LD_PATH
The command name of the loader program to use and optionally its associated pathname.
PLATFORM
The target build platform. Possible values are x86_32 and x86_64.
KERNEL_SOURCE
The pathname to the kernel source tree for the kernel you are running.
KERNEL_CODE
The release string for the kernel as returned by the uname –r command.
O
Path to alternate kernel build output directory.
BUILD_32LIBS
If the AMSO1100 package is configured on a 64 bit distribution, this variable will be set to
‘y’ if 32 bit libraries should be built in addition to 64 bit libraries.
Here is a sample Config.mk created by the 'make config' rule:
#
# This build configuration was automatically generated.
#
GCC_PATH=/usr/bin/gcc
LD_PATH=/usr/bin/ld
PLATFORM=x86_64
KERNEL_SOURCE=/lib/modules/2.4.21-20.ELsmp/build
KERNEL_CODE=2.4.21-20.ELsmp
O=
BUILD_32LIBS=y

18
3.4 Distribution Specific Build Details
The following are known issues with building on common distributions. Please refer to the
Ammasso support website (www.ammasso.com/support) for an up to date list of issues.
The list of packages provided below will ensure that the system will be able to take
advantage of all the Ammasso 1100 features – such as being able to support 32-bit MPI
applications on 64-bit platforms.
3.4.1 RedHat
The following section lists RedHat distribution specific details. While the exact keystrokes
may vary slightly from release to release, the following are offered as guidelines for these
distributions.
3.4.1.1 RedHat Package Selection
On 32-bit platforms, ensure that both Development Tools and Kernel
Development packages are selected from redhat-config-packages menu. These
allow you to build the Ammasso driver software.
On 64-bit platforms, select the following packages in the System group under redhat-
config-packages menu: Development Tools, Kernel Development,
Legacy Software Development, and Compatibility Arch Support. In
addition, under the Development Group menu select the following: Compatibility
Arch Development Support and Legacy Software Development. Installing
these packages will allow both 32-bit and 64-bit MPI applications to run on the 64-bit
installed system.
3.4.1.2 RedHat Kernel Source Tree Preparation
First ensure the system has a clean source tree by doing a make mrproper:
# cd /usr/src/linux
# make mrproper
Next, edit the Makefile so that the version value matches the running kernel. By default,
the variable EXTRAVERSION includes the string custom. Change this variable to match
the running kernel. The running kernel version can be found using uname –r. For
example, modify -15.ELcustom to -15.ELsmp.
After that, initialize the .config file for your system. This can be accomplished by
copying the config file from /boot and doing a make oldconfig.
# cd /usr/src/linux
# cp /boot/config-`uname –-kernel-release` /usr/src/linux/.config
# make oldconfig
Finally, execute the kernel dependent target to update configuration files and rebuild the
source dependencies.

19
For 2.4 Kernels:
# make dep
For 2.6 Kernels:
# make prepare
3.4.2 SuSE
The following section lists SuSE distribution specific details. While the exact keystrokes
may vary slightly from release to release, the following are offered as guidelines for these
distributions.
3.4.2.1 SuSE Package Selection
During the system installation, ensure that the following packages are selected to be installed:
ssh and/or rsh, make, g77, gcc-c++, glibc (both the shared libs and glibc-
devel packages), and kernel (verify kernel-source is selected and kernel-syms
if available).
When installing a 64-bit system, add the following glibc packages: glibc 32-bit
shared libs and glibc 32bit devel packages.
3.4.2.2 SuSE Kernel Source Tree Preparation
First ensure the system has a clean source tree by doing a make mrproper:
# cd /usr/src/linux
# make mrproper
Next, edit the Makefile so that the version value matches the running kernel. By default,
the variable EXTRAVERSION includes the string custom. Change this variable to match
the running kernel. The running kernel version can be found using uname –r. For
example, modify -15.ELcustom to -15.ELsmp.
After that, initialize the .config file for your system. This can be accomplished with the
following:
# cd /usr/src/linux
# make cloneconfig
# make oldconfig
Finally, execute the kernel dependent target to update configuration files and rebuild the
source dependencies.
For 2.4 Kernels:
# make dep

20
For 2.6 Kernels:
# make prepare
# make
3.4.3 Kbuild
When compiling against 2.6 kernels, the 'kbuild' style Makefiles allow for an O=
option to specified. This option tells kbuild where to put the configured kernel files. If the
kernel is configured with O=, then all external modules must be built with the same
parameter. If your kernel source was built using the O= variable, you must specify make
install O=<path to kernel files> when building the package.
Table of contents