Both System p and System i servers are based on the same POWER processor architecture, binaries compiled under a Linux distribution on either System p or System i run on both platforms. However, changes might be required for differences in I/O support between System p and System i servers.
Throughout this article, refer to the list of helpful terms and definitions if some terms are unfamiliar to you.
Information in this article is based on the SUSE Linux Enterprise Server (SLES) 8 and Red Hat Linux 7.1, kernel versions 2.4 for POWER architecture. SUSE Linux distributes and supports SUSE Linux Enterprise Server (SLES) 8 for System p and System i hardware.
Each hardware platform has a set of requirements for Linux installation. For System p servers, most of the requirements for Linux installation relate to the machine boot loader and OpenFirmware.
On Intel®-based hardware, the BIOS loads the system image from the Master Boot Record. On System p hardware, the OpenFirmware loads the bootable system image from a Boot Partition. While this is not the only function of the OpenFirmware, it is the only function relevant to the Linux installation. It is possible to install Linux in a System p logical partition (LPAR), as an alternative to a native installation. This requires the use of the Hardware Management Console (HMC) that manages System p LPARs.
Native SLES 8 installation on System p
The native installation of SLES on System p has been made straightforward by SUSE. Four installation options are available:
- Using the text-based installation through a serial connection
- Using the graphical installation through a console or CRT
- Using the graphical installation through VNC
- Using a network installation server
These options are reviewed here briefly, but more documentation is provided by SUSE as part of the standard SLES 8 documentation, available on SLES 8 distribution CDs.
-
Why install using the serial connection?
Some, but not all, System p models are equipped with supported video adapters. Supported video adapters include the GXP-120, GXP-130, and GXP-135, although the GXP-135 requires a CRT with a digital video connector. For other System p models, a serial connection is used to install with an approved terminal client. Approved terminals include software terminal emulators, such as Minicom. Several common terminal types are supported by YaST2, including vt100 and vt220. Be sure to set the port speed to 9600 baud in order to connect to the system service processor. SUSE's YaST2 installer begins in a text-based mode (Linux RC) and guides you through the installation.
-
Why install using the CRT?
System p models equipped with a supported video adapter can be installed with a CRT. This provides the more attractive GUI interface for SUSE's YaST2 installer. However, installation with a CRT can be undesirable in environments where connecting the CRT to the System p hardware is not space efficient.
-
Why install using VNC?
VNC is a remote display system that enables viewing of a GUI display, even from a Microsoft® Windows® client. This can be preferable in an environment where a Microsoft Windows client is the most likely candidate to serve as a terminal for installation. This option requires the use of a serial connection to power the computer on, but it subsequently provides the GUI interface for SUSE's YaST2 installer. See Resources for installation and configuration documentation for VNC.
-
Why install using a network installation server?
If you are installing several machines, a network installation server can be worthwhile. This is particularly useful in a lights out situation that requires the capability to install from a remote location without having access to a display, keyboard, or mouse directly connected to any of the computers. A network installation server offers two advantages:
- Installation without directly accessing the console
- Simultaneous installation across multiple systems
A network installation server shares the contents of the SLES 8 CDs using a network file system (NFS) server. Network installations are invoked from the text-based LinuxRC installation utility that is launched when the
install=manualkernel parameter is given to the Yaboot prompt.
LPAR installation of SLES 8 on System p
SLES 8 is designed to run in a System p logical partition, thus providing the same granularity of resource consumption as AIX®. Just as with AIX, the hardware must be partitioned using the system's Hardware Management Console (HMC). Once the logical partitions (LPARs) are established with the HMC, the target LPAR can be booted and installed in the same fashion as a native installation. This allows for any of the four installation methods described in the preceding section, Native SLES 8 Installation on System p. Note that dynamic partitioning, as featured in AIX 5.2, is not yet available for System p Linux. Dynamic AIX LPARs (DLPARs) can be used simultaneously with Linux LPARs on an AIX 5.2 DLPAR system, but the Linux LPARs will not respond to any dynamic reallocation of resources after boot.
Installation of Red Hat Linux 7.1 on System p
Installation of Red Hat Linux 7.1 on System p is similar to installation of SLES 8. Red Hat provides a different installer than SUSE's YaST2, but both installations employ the Yaboot bootloader, and both installations rely on the System p OpenFirmware to launch the bootable kernel image. Red Hat Linux 7.1 provides options for installation with a serial connection, CRT, or network installation server, but it does not offer installation through VNC.
Installation on the System p model p655
The System p p655 requires a unique installation due to its lack of graphics adapter, CD-ROM, and keyboard. The absence of a graphics adapter prevents installation with a CRT. An external CD-ROM drive can be added, in which case normal installation with the serial connection can be achieved. A graphics card and USB keyboard can be added as well to allow for CRT installation, but this can be inconvenient in many environments. If an external CD-ROM is not available, a special network installation from an AIX machine is required. You can find instructions for Remote Initial Program Load (RIPL) setup in the documentation for the System p hardware, but the process for using RIPL to install Linux for POWER on the p655 is briefly reviewed here.
From the OpenFirmware menu, select
Remote Initial Program Load Setup. This opens menus for
selecting and configuring the network device. These menus also allow configuration
of information regarding the RIPL server (for example, a NIM server). Once this
data is configured, return to the top-level OpenFirmware menu and select
Multiboot, then
Select Install Device. The network device that was
configured for the RIPL install will be available. Choose this installation
device, and OpenFirmware will load the SLES boot image.
As stated for System p, each hardware platform has a set of requirements for Linux installation. For System i, hardware partitioning of the server is required before beginning Linux installation. A Linux virtual disk is then created with the OS/400® management connection. After this, the installation of Linux on System i is similar to other platforms.
Installation of SLES 8 on System i
Installation of SLES on System is straightforward with SUSE and OS/400. The same model that is familiar to System i customers for other operating system integration is used to provide Linux support on System i. There are five basic steps to installation.
- Create the partition for Linux to use. Assign the hardware resources.
- Create an OS/400 Network Server Description (NWSD) that refers to the Linux partition and points to the OS/400 CD drive as the boot device.
- Create the OS/400 Network Storage Space (NWSSTG) that will be the Linux virtual disk, and connect it to the Linux Network Server Description.
- Connect the Linux virtual console to see messages during the installation and to complete any additional Linux configuration. This is done by telneting to a specific port on OS/400 with a specific Linux virtual console password. After connecting to the console, the Linux user can log into Linux.
- Put the Linux CD into the OS/400 CD drive and vary on the Network Server Description on OS/400. This starts the installation with Linux booting from the CD drive and creates the Linux disk image on the virtual disk. Linux takes over after that.
If you need to run Linux on System i from disks that are controlled directly by Linux rather than virtual disks, System i also supports direct attachment of I/O devices to Linux partitions after the initial installation. See Resources and the SUSE installation manual for System i that comes with the distribution for more specific information on partitioning for Linux and its installation on System i.
Installation of Red Hat Linux 7.1 on System i
As with System p, the Red Hat installation on System i uses a different installer than SUSE, but the basic steps are just as described above for SLES installation on System i.
General Linux maintenance can be managed in a variety of ways. Most distributions, including SUSE and Red Hat products, include a centralized management program similar to those found in traditional enterprise UNIX® (such as SMIT for AIX). SUSE has developed a centralized management program named Yet another Setup Tool 2 (YaST2). Red Hat offers Linuxconf, which has become a standard configuration utility adopted by several other Linux distributors. Each tool is briefly reviewed here, along with information for managing your Linux system.
Management in SLES 8 is centralized in the YaST2 administration utility. YaST2 offers management of users, security, software, networking, file systems, and more. It can be used remotely in X11 or text-based mode using secure shell. YaST2 also provides a safe-guard mechanism that rewrites the configuration files each time the machine is booted, otherwise YaST2 exits. This prevents script routines from altering configurations without regard to the system-wide consequences. However, administrators should be aware that hand-edited configuration files will be rewritten, unless:
- Changes are made using YaST2 to match the hand-edited changes.
- The /etc/sysconfig/suseconfig file is edited to prevent YaST2 from overwriting files.
Linuxconf is an open-source utility. Linuxconf, like YaST2, enables management of users, security, networking, and more. Remote administration can be done by running Linuxconf using a secure shell. Both X11 and text-based versions of Linuxconf exist.
Webmin is an administration tool developed to offer remote administration of Linux systems from a secure Web interface. Designed with pluggable modules, Webmin offers management control over a wide variety of server processes, including Apache Web server, Samba or NFS file sharing, the Berkeley Internet Name Daemon (BIND), and others. Many server daemons install with an optional Webmin module that integrates itself with an existing Webmin installation. Webmin is PERL based, and it is entirely open source. See Resources for more information about Webmin.
Hand-editing configuration in /etc/
Although tools like Linuxconf and Webmin make administration easier, in some
cases, hand-editing configuration files might be required or preferred. For example,
the administration tools might not offer control over a specific piece of
software, or the control offered does not provide the desired granularity.
Though there are exceptions, such as software installed in /opt/ or in
a user home directory), the majority of configuration files are found in the /etc/ directory tree.
Linux on POWER offers many compiler options. In addition to the VisualAge C, C++, and FORTRAN compilers IBM developed, the GNU Software Project provides four versions of their compilers (GCC) for development on Linux on POWER. For high performance applications, especially those with intensive floating point demands, the VisualAge compilers provide an enterprise class development tool delivering the best available optimization for Linux on POWER. Both 64-bit and 32-bit GCC 3.2 are provided at no cost under the GNU Public License. These compilers are distributed with both Red Hat Advanced Server 3.0 and SUSE SLES 8 for IBM System p and System i servers. See Resources for where to find GCC 3.2 and the older GCC 2.95. This older version of the GNU compiler set might be required to build older open-source code not yet optimized for GCC 3.2.
What is compiled with the GCC compiler set
Both Red Hat Advanced Server 3.0 and SUSE SLES 8 are distributed with software compiled using GCC 3.2. In addition to the user space software distributed with the Red Hat and SUSE offerings, the Linux kernel is compiled with GCC 3.2.
The Linux kernel is available as either 32-bit or 64-bit, depending on which version of the GCC compiler it is compiled with. This principle applies to any Linux kernel modules and C runtime libraries built. Note that, unlike Linux on some other 64-bit platforms, 64-bit Linux on POWER does not suffer a performance loss with 32-bit applications. All 32-bit and 64-bit applications can be run in the same space without any performance impairment. For this reason, a 64-bit kernel is recommended to be used exclusively.
GCC might also be a good choice for user-level software. GCC is the standard Linux application compiler. This means that the Linux community made an investment to make code compiled with GCC easily enabled across platforms. As a result, most software written to be compiled with GCC on one platform is an easy build with GCC on another platform.
What is compiled with the Visual Age compiler set
IBM developed the Visual Age Compiler Set for Linux on POWER to provide a high performance compiler with superior optimization for the POWER3 and POWER4 architectures. Applications compiled with these compilers, especially those with intensive floating point demands, perform significantly better than when compiled with GCC. It is recommended that any resource-intensive software be compiled with the Visual Age compiler set.
In addition to superior performance, the Visual Age compilers are designed to enable easy porting from other UNIX platforms to Linux on POWER.
Java porting to Linux on POWER
Both Red Hat and SUSE provide the Blackdown JDK 1.3.1 on their Linux on POWER offerings. This JDK is developed specifically for POWER. However, many applications have been tailored for alternative JDKs, such as those offered by Sun Microsystems and IBM. Fortunately, the IBM JDK can be installed to a Linux on POWER environment at version 1.3.1. The Sun Microsystems JDK is not currently available for Linux on POWER. It is customary to install these to either a directory under /usr/local or /opt/, although wherever the installation directory is, the JAVA_PATH environment variable should be modified to provide access to the JDK executables. This is usually done in /etc/profile for system-wide access, or in respective user .profile files as required.
Java™ incompatibilities sometimes arise from method version discrepancies. In these cases, the JDK vendor or version might need to be switched to allow the application to be enabled. Luckily, there is nothing wrong with installing multiple JDKs and changing the JAVA_PATH environment variable as required to enable the code.
Running Linux applications on a POWER processor platform
Applications developed on a low-end Intel processor computer can be recompiled using the same development tools on the high-end POWER-based server in both 32- or 64-bit mode for deployment. It is also possible to use cross-compiler options that enable creation of POWER processor binaries on an Intel processor. However, it is recommended that the VisualAge compilers be used for the best possible performance on the POWER processor family. It is also recommended that any application that does not necessarily need 64-bit addressing should stay as a 32-bit binary to maintain its runtime efficiency.
Differences across versions and distributions
Library and compiler version discrepancies are common across releases from a given Linux distribution. For example, libc and glibc are two system-wide libraries that are fundamental to most Linux applications. Although upward compatibility is generally very robust in Linux development, occasionally header files and system calls are merged or change names across a point release. These changes, such as the different versions and levels of libraries, compilers, and other components for many Linux distributions, are documented both in the documentation that accompanies the libraries and on the open source maintainer Web sites (see Resources). Be aware of these differences.
Because the Linux File System Hierarchy (established by the Free Standards Group) is not yet applied by all distributions, the location of executables can vary from distribution to distribution. When required, these issues are easily resolved by declaring a PATH appendage or a symbolic link to the expected location. Similarly, the location of configuration files for some applications varies across distributions. For example, the Apache Web server configuration file, httpd.conf, is located in the /etc tree in some distributions, and in /opt/httpd/ in others. Again, symbolic linking provides a solution for these inconsistencies.
Aside from versions, some Linux software for which there are popular alternatives might not be installed by default in some distributions. Linux boot loaders are a good example of this. In many distributions, Linux Loader (LiLo) is the default boot loader, yet other distributions prefer a graphical boot loader, GRUB, as the default. In addition to these low-level tools, Windows environments, such as KDE and GNOME, and their development kits might vary by version and default installation across distributions. This might be important for development of GUI software.
Support for I/O adapters on System p and System i servers running Linux is determined by many factors, including the availability of open-source drivers and the IBM testing and certification activities with available Linux distributions. Some I/O devices are supported before others. The first priority is to support I/O adapters integrated on system planars and key devices, such as SCSI and LAN adapters. For System i kernels, IBM provides the device drivers for virtual devices (OS/400-owned, shared with the Linux partition) in the Linux 2.4 PowerPC source trees already. For devices attached directly to a Linux partition, see Resources to link to the System i Linux Web site to get the ibmsis driver and utilities to configure them.
Over time, the set of supported I/O devices will be enhanced as additional device drivers become available and as testing is performed.
-
AIX 5L - Version 5 of the AIX operating system that runs on POWER-architecture
based systems.
-
GCC - GNU Compiler Collection. A collection of compilers available through the
GNU Project, including C, C++, and Java compilers.
-
VisualAge - An IBM collection of compilers that includes C and C++.
-
OS - Operating system.
-
POWER - The name of the common chip architecture for IBM System p and System
i servers.
-
PowerPC - Same as POWER. The common chip for IBM System p and System i
servers.
-
POWER4 - The latest POWER chip. The POWER4 architecture has superior
performance across a broad range of commercial and high-performance computing
environments. POWER4-based System p and System i servers support dynamic logical
partitioning. See Resources for the POWER4 whitepaper for more
information.
-
POWER3 - One of the currently available POWER chips available for entry-level
System p servers.
-
System p - IBM UNIX-based servers that run AIX and Linux. AIX and Linux
can run on the same POWER4-based system in logical partitions. Linux can also
run as the primary operating system on System p servers.
-
System i - IBM integrated servers that run OS/400 and Linux. OS/400 and
Linux can run in logical partitions on System i servers. System i can support up
to 31 Linux partitions.
-
LPAR - Logical partitioning. Enables multiple operating system instances to run
on a single server.
-
DLPAR - Dynamic logical partitioning. Like LPAR, but also provides the
additional capability of dynamically changing system resources, such as CPU and
memory, without the need for system or partition reboots.
-
HMC - Hardware Management Console (HMC) used by LPAR and DLPAR System p
servers to manage logical partitions.
-
IDE - Integrated Development Environment. A development environment for
compiling and debugging application code.
-
CRT - A display connected to a server.
-
VNC - Virtual network computing. A remote display system that enables you to
view the computing desktop environment of a computer (Linux and other
platforms) from anywhere on the Internet.
-
LinuxRC - A text-based program used for setting up the Linux kernel
for installation.
-
YaST2 - Yet another Setup Tool 2. Used by SUSE Linux for system configuration.
-
GNU - Free Software Foundation's free operating system and free software
project.
- GPL - GNU Public License. Open source software is often licensed under the GPL.
The authors gratefully acknowledge the helpful reviews and contributions from Kay Tate, an IBM Linux on POWER consultant, and Steve Dibbell, an IBM AIX and Linux expert who specializes in cluster hardware and software.
Learn
- Consult Linux
on the IBM iSeries Server: An Implementation Guide.
- Read Linux Integration with IBM i5/OSi.
- See LPAR
Configuration and Management Working with IBM iSeries Logical Partitions.
- Check out IBM
iSeries Pocket Handbook: Version 5 Release 2.
- Refer to Linux for IBM System p.
- Click on IBM and Linux:
Migrate and port your application.
- Learn more about Linux for IBM System i.
- Refer to the IBM System i Information Center.
- Find VNC installation and configuration documentation.
- See IBM
System i Redbooks®
for information about partitioning for Linux.
- Refer to the Webmin Web
site for information about Webmin.
- Check out Distrowatch to compare different versions and levels of libraries, compilers, and other components for
many Linux distributions.
- Go to http://www-03.ibm.com/systems/i/os/linux/downloads.html
under the Developer Resources link to get the ibmsis driver and utilities to configure it.
- Find out more at the IBM Redbooks Linux Domain.
- Learn about SUSE for POWER.
- See Red Hat Enterprise Linux
documentation.
- Want more? The developerWorks IBM Systems zone hosts hundreds of informative articles and introductory, intermediate, and advanced tutorials.
- Stay current with developerWorks technical events and webcasts.
Get products and technologies
- Download the ibmsis driver and
utilities under the Developer Resources link to configure devices attached
directly to a Linux partition.
- Find IBM VisualAge C/C++ compiler
.
- Build your next development project with IBM trial software for download directly from developerWorks.
Discuss
- Exchange information with other developers on the IBM Systems forums and developerWorks blogs.
At the time of the original publication of this article, Matt Davis was a Linux technical consultant in the IBM Systems Solutions Enablement team. As a member of the System p Linux project since its inception, he explored and tested emerging technology for System p Linux and wrote several reports summarizing his findings. These include Journaling File Systems for Linux on POWER, Parallel Grid Computing with Linux on POWER, Open Source Alternatives to Commercial Software for Linux on POWER, and the Linux Solutions Catalog. He came to IBM as an intern during his tenure as a student at the University of Texas at Austin, from where he earned two degrees. Matt has since left the IBM company.
Anita Govindjee is a System p technical consultant on the IBM Systems Solutions Enablement team. She has more than ten years' experience doing C/C++ and Java software development, and doing AIX, Linux, Sun Solaris, and HP-UX system administration. Currently, she provides technical support to ISVs on System p. She holds a BS from the University of Illinois, Urbana-Champaign, and a MS degree from Stanford University, both in Computer Science. She has written an one of the IBM Redbooks on VERITAS Foundation Suite software on AIX and several whitepapers, including a Solaris-to-AIX migration whitepaper and an article on using the GNU C/C++ compiler on AIX.
Vandana Kumar is a senior technical consultant at IBM in the ISV Enablement organization. Her responsibilities include helping ISVs take advantage of emerging technologies at IBM. She has a bachelor's degree from Indian Institute of Technology, Roorkee, and a Masters degree in Electrical Engineering from Wayne State University. She has written several papers on enabling, porting, and tuning applications on AIX. You can contact her at vkumar@us.ibm.com.
Comments (Undergoing maintenance)





