to Tylogix Home Page
Linux on the iSeries 400: Are You Ready?
By Thibault Dambrine
Every once in a long while, you hear an announcement that you know will have deep implications for yourself and your peers. This is what I thought when I read the following announcement:
This is taken from IBM's Software Announcement letter number 200-340, released October 3rd, 2000.
"Linux ®: IBM continues to invest in supporting Linux across all IBM servers. IBM plans to provide Linux selected models of he iSeries 400 platform by providing native support of the Linux kernel running in a secondary logical partition of the operating system. This will enable Linux applications to run on such iSeries 400 with very few or no changes required. The Linux kernel will enable a new stream of e-business applications for the iSeries 400 platform that complements its strength as an integrated core business solution."
I first heard this information during an "IBM AS/400e for Extreme Business" tour on October 10th. To top it all, during the AS/400 Webserver session, we heard, again, from an IBMer, that the Apache web server open software would also be supported within 12 months on the iSeries400. As a veteran AS/400 programmer, this looks very much like a 180 degree turn. What's next? Perhaps it's simply a survival strategy from IBM to save our venerable AS/400, or its latest incarnation, the iSeries.
For most of us AS/400/iSeries programmers, Linux is a bit of an unknown quantity. The fact that Linux will run on the iSeries 400 is nothing short of revolutionary if you have worked with the AS/400 series of systems and the System 3X series before that. The question I ask you, the reader is: If your boss asked you to install Linux on an iSeries or AS/400 partition, would you know what to do with it?
This article will be in three parts:
In Part 1, I will introduce some basic facts about Linux, the Operating System, and what makes it so popular.
In Part 2, I will relay my experience with installing Linux Red Hat version 6.0, and then version 7 on my own home PC.
In Part 3, I will describe the Linux software situation. What is available, and what are Linux's strengths and weaknesses and the implications for the AS/400, now the iSeries.
Part 1: What is Linux?
Here is the proper definition of Linux, from the http://www.Linux.org website:
Linux is an operating system that was initially created as a hobby project by a young student, Linus Torvalds, at the University of Helsinki in Finland. Linus had an interest in Minix, a small UNIX system, and decided to develop a system that exceeded the Minix standards. He began his work in 1991 when he released version 0.02 and worked steadily until 1994 when version 1.0 of the Linux Kernel was released. Development is still ongoing.
As a benefit to the source code for the Linux kernel being freely distributed, a number of companies have developed their own "distribution" of Linux. Each of these distributions has its own feature sets. Some are geared towards specific types of computer systems, some are geared for specific types of users.
In some cases, you can simply download these versions of Linux from the Internet at no charge via FTP. In other cases, these versions can be purchased on CD for a relatively low cost, or as a companion to a Linux book. There are currently (that I know) at least 2 dozen distributions available. This number is growing fast and sometimes, one wonders why there would be so many. The truth is, all these distributions share the same kernel, but offer slightly different interfaces. Which one is the best? Market forces, as it were, will probably determine this in the long run.
My first exposure to Linux comes from my interest in UNIX. In the face of the growing popularity of UNIX, I decided to take some UNIX courses. To my surprise, I found that most of the UNIX administration courses offered now are taught using PC's equipped with Linux. In this type of teaching environments, each student has "root" (SECADMIN equivalent) authority on his system. As it is now, Linux, the hobby operating system, has grown to the point where it is stable enough and powerful enough to pass for "just another flavor" of UNIX.
For our OS/400 audience, here is a brief comparison of the obvious differences between the two operating systems:
No Open Source
Only IBM can improve OS/400
You can contribute if you want to improve LINUX
OS/400 is not free
LINUX is free
OS/400 commands follow a set of naming convention rules that make them easy to guess at if you need to
The LINUX commands do not follow a naming convention
You can prompt any OS/400 command
You cannot prompt a LINUX command (you do however get an on-line manual)
There is only one flavor of OS/400
There are several flavors of LINUX
OS/400 is completely character-based
LINUX can be used in character-based mode or graphic user interface (GUI) mode
One could hardly expect two operating systems to be much more different, and yet very soon, they will be able to co-exist on the same machine.
For those who would be looking for a pros/cons list here is a brief summary of Linux characteristics. The list of pros looks much longer than the list of cons, but certainly, the biggest disadvantage for Linux now is that there is not much software available for it just yet. The biggest notable exception to this is the Linux implementation of APACHE, currently the most widely used web-server software in the world. Note that, like Linux, APACHE is also a free distribution software package.
Cheap! - can be downloaded for free on the Internet
Not for the faint of heart, if you are aiming to use LINUX in a professional way. Being technically inclined is practically a pre-requisite
Robust - LINUX has already a strong reputation as a stable operating system. The obvious comparison point for now is Windows NT and 2000
The number of commercial software applications for LINUX is still limited. (see Part 3)
Built with networking in mind
Portable - LINUX is now offered on a large number of platforms. You could practically say it is the Java of operating systems
Light resource load - The LINUX operating system is not a resource hog. This means for example that if you have an old PC, (say 32 MB, 150 to 300 Mhz) you could use it comfortably as a LINUX-based firewall platform
Can handle Microsoft format documents, such as Word or Excel with LINUX based office suites
Can be used with either the conventional character interface or a GUI interface.
Part 2: Installing & Working with Linux
My home PC is also one of my most valued assets, mostly for the data it contains, and the regular use I make of it. In this spirit, prior to even inserting a Linux CD into it, I did a backup of my Windows based information and proceeded to take my valued piece of equipment to the local PC store. Over there, I got a new hard disk drive installed and configured, all within Windows. My D: drive, as my latest addition was called, was partitioned but not formatted. This operation set me back CAN$ 200.00. The computer shop balked at the job at first because my PC is a DELL, most famous for being incompatible with a lot of off-the shelf components. Happily, this did not turn out to be a problem.
With two separate drives now installed and configured in my PC, I could now install Linux on D: with one less risk of touching my existing Windows C: Drive. If you are bold enough and have enough space on your C: drive, you can do all this on your existing C: drive simply by partitioning it. Another popular solution, in this direction, is a product called "Partition Magic", which does the job for you in a relatively painless manner.
Here is an account of my first Linux experience:
Picking the "right" Linux can be a confusing process, as there are so many packages claiming to have the best release. My original choice was driven by the ease of configuring the dual boot (Windows or Linux). This is a few months ago already and by then I picked Red Hat version 6, after trying Debian GNU Linux 2.1 and Caldera Open Linux 2.3. (They came packaged in the QUE Linux book I bought for my first UNIX course - one CD for each operating system). Later on, I was further encouraged to see that Dell has chosen Red Hat as a distribution for its own brand of servers.
Note that Red Hat Version 6 now qualifies as ancient technology, but the change between version 6 and version 7, described below, should give you an idea of how quickly this operating system is changing.
Here are the steps I went through, a number of times before getting it right, to install Red Hat Linux Version 6:
This install was tedious and frankly painful, compared to any such exercise done in the Windows environment. It also assumes a minimum knowledge of how UNIX, or like-minded operating systems work from the guts. There are not too many manuals to tell you where things may go wrong and even the QUE book with which the software came was not very useful, despite being very thick and heavy!
Here by contrast, is a more detailed account of my experience with Red Hat Linux Version 7:
As they say in the movie business, "if you liked Version 6, you will love Version 7". This is more than just another version of "Rocky"!. One does not have to be very knowledgeable to see how far forward the install process has come.
Out of the package, the following differences jump out:
1) Four CD's instead of one, neatly sealed in a shrink-wrapped package - Linux is growing!
2) A separate, green-colored CD titled "ERRATA - A patch to Red Hat Linux 7". This CD is included to resolve a known bug for which the explanation is given. Linux is not immune to PTFs!
The first difference that will jump at your face is the installation sequence. This install program is far more user-friendly than the previous one. The folks at Red Hat have obviously listened to their customers.
There are several options to install the software now:
If you don't want to, you really don't have to even go through the disk partitioning process, which for most (including myself) can be intimidating because of the risk of wrecking your disk.
The main point to remember when choosing your install, is that options 1, 2 and 5 give you a limited, typical user subset of the total available OS and software install. If you are a power user, you may want to use the Custom install. These options also default the Linux OS as your first option in the LILO configuration, which means that your system will boot in Linux unless told otherwise
If you want to control what you are doing and get the most for your Linux dollar, going custom is probably best, but you may need to know more than what the manual provides, especially on the topic of partitioning.
Red Hat 7 now hides most of the complexities that one had to face when configuring older versions of Linux. The command Linuxconf will start a GUI window that covers all the important controls that drive your Linux system, from LILO options (as mentioned earlier) to Domain Name servers (DNS). In the DNS server area, for example, you can plug in several DNS IP addresses, in case one of them goes down. This ability to configure more than one DNS, essentially, to have a backup if one of your DNS servers go down, is just one of these features that makes Linux both stable and powerful. More on DNS in Appendix 3.
Once you are ready to logon, you now have a choice, for your session, to use either KD Windows, or Gnome Windows or plain text as an interface to the system. This flexibility was not available before.
GUI or Character based installs, what does this all mean to you, the AS/400 programmer? Several things:
1) Installing Linux is far less a challenge than it was before. You don't have to know arcane resolv.conf types of files that you would only likely learn about in an academic setting. In fact, just about anyone can now easily do a simple Linux install on their own PC.
2) If you have even a passing interest in UNIX or Linux, these files, these commands, all entered from the console screen, have not disappeared. UNIX power users swear by the fact that in Linux , everything is open and can be seen, if you know where to find it.
3) By removing the obstacles to the install, Linux distributors are aiming squarely at Windows. Surely, IBM has seen the writing on that wall! However, with Linux, you now have the advantage of the easy-install and the ability to dig behind the scene into the configuration files if that is what you want to do. In fact, you can even look at the source code if you are so inclined. Practically like having your cake and eating it too!
3) The Linux Software Landscape
Currently, the closest well-known point of comparison for Linux as it stands is the NT/2000 Windows family of operating systems. While they both have GUI interfaces, multi-tasking and networking abilities, when you dig beyond the obvious, this is where it ends.
If you look back a few years, you could see that Microsoft's Office suite was not born in a minute. It was the product of many years of release after release of word processors, spreadsheets and so on. Only recently, did all the pieces come together in one integrated package. This is what one company has been able to do with the power that can only come from knowing the code behind the operating system. Many an office PC today runs Microsoft's Office Suite and not much else.
In many ways, most of us have a love/hate relationship with Microsoft products. On the one side, most of us use Word and Excel on daily basis, on the other hand, Windows, as an operating system, is showing strain under the weight of such sophisticated programs. How many windows can you open before your PC starts to act funny? How often do you have to re-boot your Windows NT server? These are common questions in the Windows world.
Linux, as it is now, is at a direct opposite position to Windows:
Currently, the single most visible free software package for Linux is Sun Microsystems Star Office Suite. It is literally a clone of the Microsoft Windows office. With very similar look and feel for the user interface and documents that are as close as possible to the Windows format. Corel has some free utilities also, but its Word Perfect Office 2000 for Linux costs US$99.00.
I have downloaded the Star Office Suite, and gave it a spin. From my appreciation, it is amazingly close to what Microsoft has done, and it is free. Very impressive! On the down side, on my home PC, (a Dell 350 MHz, 64Mb RAM), it is a dog compared to the Microsoft Suite. Everything seems to work in slow motion. Perhaps my PC is already too old? I look forward to my next upgrade, say, a 1.5 GHz machine, and then do another comparison!
There is a myriad of other software, shareware, freeware in all kinds of domains from graphics to IP packet sniffing. For now however, as far as usable business software, Sun's Star Office and Corel's WordPerfect 2000 Office are the only visible blips on the radar screen.
Star Office is slow compared to MS Office Suite, but with such a good price - it is FREE - I would say it has a chance to gain acceptance in the market place within one more generation of PC's. Once the slowness is erased by the extra computing power, Star Office will be a strong competitor to MS Office. One caveat, downloading Star Office with a 56 KB line may be very long. DSL or Cable are best for this download. (I did not try the Corel office, as it does cost US$ 99.00.)
Where Linux really shines, is as an operating system, and more specifically as gateway to the Internet. Let me give you a simple case in point: My own computer, a 350 MHz machine with 64 Mb RAM:
Recently, I got a DSL line installed at home. Eager to test it, I tried a number of things and stumbled on a website called http://www.dslreports.com. This site has a line speed tester that gives you the ability to see how fast your line really is, on download and upload.
Using the Windows Operating System with Microsoft's Internet Explorer 5.5, I got a speed 14 times that of my original 56KB line. Disappointing to say the least. I thought I got ripped off!
Using Linux and Netscape 6, I got 28 times the speed of my original 56KB line connection. This is a 100% improvement, on the exact same hardware, the exact same line and the exact same IP configuration.
Another example of visible Internet success on Linux is Apache. Today, Apache, another open source software package, is the most popular web-serving tool for UNIX systems, bar none.
Many times, I have heard anecdotal stories about people using Linux as an effective Internet gateway for a firewall. Now I know why this solution is so popular.
This brings me to talk about what I think is Linux's true potential:
According to The Economist magazine (12/14/2000) "IBM is to spend $1 billion to develop Linux, a free operating system, for its computer systems."
Let's go back to the two qualities that made the AS/400 so successful when it first came out and still hallmark characteristics today:
With the one-two combination of Linux and the Java-like Jikes, I speculate IBM is trying to apply this ultimate portability and scalability rule across ALL its platforms. More on Jikes in Appendix 2.
According to ZDNet "IBM's eServer family will soon support all four major Linux distributions.
Details about the initiative are sketchy, but IBM is expected to provide Caldera, Red Hat, SuSE and TurboLinux with hardware, financial and technical assistance. In return, the Linux vendors will port their respective operating systems to IBM's entire line of eServers--which spans S/390 mainframes, AS/400 minicomputers (see Appendix 1), RS/6000s, Netfinity and NUMA-Q. The intended result: Linux will be the first operating system available to run on all IBM servers. In theory, this could reduce support and training headaches among IBM's partners and customers. "
Linux integration will not only cover hardware integration. It will also soon cover all major aspects of software infrastructure in the IBM realm. To this effect, IBM is now introducing the following infrastucture packages:
The Linux initiative at IBM is not exactly new. While researching this article, I found the following quote from Mike Tarsala, of CBS Market Watch, saying already on January 25, 2000: "IBM plans to build what it calls a more "robust" version of Linux, for its AS/400 as well as its other lines. The company says it will donate technologies, including programming code, to the Linux community. The aim is to enable Linux to run large business computers more reliably. "
Just recently in the news again:
SOMERS, NY --- December 8, 2000 --- IBM (NYSE: IBM) today announced new e-infrastructure software for Linux. The announcement is IBM's latest initiative to support Linux throughout its portfolio of e-business software, servers and services and gives IBM the broadest database Linux support in the industry, from handheld devices to the mainframe.
Increasingly, the benefits of open source software are emerging and IBM is buying into the concept with all its vast financial and technical resources. At IBM, it seems, all the arrows now point in one direction: Linux. If it succeeds, one will soon be able to develop Java programs using Linux on a PC and port their software on any of IBM's servers, from Netfinity to System 390 grade, without modifications. Does this remind you of the AS/400 concept of scalability?
The AS/400 is a powerful, stable machine, but for now, it seems, these attributes have not been enough to keep it as a market leader. This machine is in dire need of rejuvenation. I am not talking of a GUI facelift or another OS/400 version but a brand new start from the ground up.
Offering Linux on the iSeries may be the best defensive strategy IBM may have to boost this most amazing machine's sagging fortunes. Hopefully, with the help of Linux, it can capture the crown one more time. On the downside, this may also mean the AS/400, or the iSeries as it will be, may become "just another server" from IBM.
Of course, nobody knows for sure how this will turn out. For now, it is still hard to tell how the market demand for mid-range computing will respond to IBM's newfound aim towards one, unifying operating system. Hard also to tell if the AS/400's unique personality will get lost in the wake of the Linux wave.
One thing is sure however, as an AS/400 developer, this statement of direction is hard to ignore. If you do not know anything about Linux, spend a few bucks, buy the CD. Install it on your PC, play with it. This may be your best opportunity to be ahead of the curve!
Appendix 1: A Word About the AS/400 Implementation of Linux
The details for now are still sketchy. There are a lot of second hand news floating around, but from all I can hear, I have put together a small compendium of what to expect, and my comments in italics:
The AS/400: A general Description:
Glenn Booker, in his AS/400 website, describes the AS/400 in the following words: The AS/400 is noteworthy for being the most proprietary widely used computer system. The AS/400 hardware structure is unique, its native operating system, OS/400, is used nowhere else, and even some of its programming languages, such as RPG, are used only on the AS/400. These characteristics make porting Linux to the AS/400 a considerable challenge.
Obviously, the risk is worth the prize!
Linux on AS/400:
According to Midrange Computing:
IBM says that any Linux applications that have been compiled for the PowerPC chip will be able to run within OS/400 partitions. This means that (from what we expect), an AS/400 will have to have (at least) one OS/400 native partition to run and Linux can run in any number of secondary partitions besides the first one.
In theory, iSeries customers will be able to run DB2 for Linux within an OS/400 partition. Ditto for the Oracle database, should Oracle decide to compile a version of its database for the PowerPC chip. It might be useful for AS/400 shops to be able to run an Oracle OLAP server within a Linux partition while retaining their core DB2/400 application databases in the primary OS/400 partitions. Oracle on the AS/400... This will be a first!
That said, Linux
may likely be most useful as a platform from which to run email, Web serving,
firewall, and other e-business programs that have not been ported to OS/400-proper
and never will be. IBM has an especially big hole in the OS/400 lineup of programs
when it comes to firewalls, having killed off the Integrated Firewall for AS/400
program that ran on the Integrated Netfinity Server PC server. This will
also open the door to a large number of applications that did not even dream
of coming close to the AS/400 prior to Linux.
Appendix 2: All about Jikes
Jikes is a compiler that translates Java source files as defined in the Java Language Specification (which can be found at <http://www.java.sun.com/docs/books/jls> ) into the bytecoded instruction set and binary format defined in The Java Virtual Machine Specification <http://www.java.sun.com/docs/books/vmspec>. Features include:
You may wonder why the world needs another Java compiler, considering that Sun provides javac free with its JDK. Jikes has four advantages that make it a valuable contribution to the Linux and Java communities:
22Open source. Anyone can freely acquire the source code to Jikes and redistribute it, possibly with modifications. This allows Jikes to reap the maximum benefit possible from the developer community, and has already resulted in Jikes being ported to several platforms. In an equally important sense of openness, the Jikes team -- which includes members of several organizations besides IBM -- is eager to accept bug reports, suggestions, and changes from the community. Open source is good, but open source from a receptive development team is better.
Strictly Java compatible. Jikes adheres to both The Java Language Specification and The Java Virtual Machine Specification as tightly as possible, and does not support subsets, supersets, or other variations of the language. This document describes some of the side effects of this strict language conformance, as well as links to dozens of issues the Jikes development team has raised with Sun regarding the interpretation of the specification.
Why is IBM Research making the source available? (From IBM's own Jikes FAQ, written by Philippe Charles and Dave Shields)
We do many things here at IBM Research, the most important of which is - you guessed it -- research.
Work on what is now known as Jikes began in January 1996 when one of us (Philippe Charles) decided to study the problem of compiling Java. The other (Dave Shields) joined the project in April 1996, and started out by writing the bytecode generator. We have worked full-time on the compiler ever since.
We released Jikes in binary form in April 1997. During the spring of 1998 we received many requests for a Linux version. Jikes for Linux was released on 15 July 1998 -- the response was overwhelming. Jikes had more downloads in the three months after the announcement than in the fifteen months before the announcement.
The increase in downloads was not just for the Linux version: there was a corresponding surge for the Win95/NT version. We also got many bug reports -- our main goal in putting out this version.
We knew that putting out a version for Linux would inevitably raise the question, "Where's the source?" We received many notes and comments from users suggesting why this would be a good idea, and prepared a Summary of User Comments. We found their comments persuasive.
IBM Research is releasing the source for the Jikes Java compiler to make a very visible demonstration of IBM's commitment to open standards and to Java. This is, to make Jikes more reliable and accessible, to encourage more widespread use of Java, to encourage standardization of Java, and to enhance the reputation of the Research division. We expect this will reinforce the efforts of other IBM groups working with open source, notably the recent alliance of IBM and the Apache group. It will also provide real-world experience working with open source that should be of help to other groups within Research that plan on releasing some open source work soon.
How does Jikes compare with IBM products such as VisualAge Java?
Jikes (TM) is a
research project, providing just the core function of Java compilation. It is
not an IBM product, and is certainly not a replacement for, or alternative to,
IBM products such as VAJava. The latter is a full, industrial-strength product.
Compilation is but one of the many functions that it provides.
Appendix 3: How Domain Name Servers Work
If a DNS Server receives a request for information (the IP address) for a host that is unknown to it, it passes on the request to an authoritative server. An authoritative server is any server responsible for maintaining accurate information about the domain being queried. When the authoritative server answers, the local server saves (caches) the answer for future use. The next time the local server receives a request for this information, it will answer the request itself.
DNS is actually a distributed hierarchical system for resolving hostnames into IP addresses. Under DNS, there are no central databases of addresses for ALL of the Internet. The information is distributed amongst millions of name servers organized into a hierarchy similar to the hierarchy of the UNIX file system.
Thus, there is a root domain at the top of the domain hierarchy. It is served by a group of name servers called root servers.
Directly under the root domain are top-level domains. There are two basic types of top-level domains: geographic, like ".ca" for Canada or ".uk" for the United Kingdom. The other top domains are organizational, as in ".gov" for government and ".com" for commercial.
Every time you send an email message or view a URL, you are making requests to multiple name servers scattered all over the globe. What's amazing is that the process is normally completely invisible and extremely reliable.Back to Tylogix Home Page