Cover V01, I01
Article

may92.tar


Installing AIX

Bruce H. Hunter

IBM's AIX operating system is making its presence known on RISC/6000 systems around the country, and UNIX administrators need to learn about it.

AIX is "POSIX compliant," which means that it looks like UNIX to the user, but underneath that user interface are several major differences and a lot of extensions. These differences are hidden from the user; for example, where the user sees an lp or lpr command, these commands are actually controlled by another spooler entirely, a versatile AIX spooler.

It's easier to describe AIX to UNIX administrators by identifying what it is not: it is neither UNIX System V nor BSD. However, it is innovative and many parts of AIX resemble UNIX. For instance, unique AIX configuration files maintain a certain consistency through the use of structures called stanzas, which are somewhat reminiscent of termcap and printcap.

This article describes a setup for a network installation of AIX and talks about some of its differences and strong points, such as smit (the administrator's front end), LVM (the logical volume manager), and ODM (the object data manager).

Installing AIX

The first step in RISC/6000 ownership is installing AIX, by copying off the OEM distribution. You may install by tape or diskette, but since a diskette installation takes a very long time, a tape installation works better for the first installation. The smaller RISC/6000 systems, like the 530s, are typically purchased without tape drives, but it's worth your while to have at least one with a QIC drive.

After the first installation is done, network installation is the quickest method. Although this method takes some care in setup and execution, it allows you to install a RISC/6000 system in one and a half to two hours.

To prepare for a network installation, you must take an image of a working system. The image doesn't have to be from an identical machine -- a 550 will do for a 530 image -- but the image must be small enough to fit. Most useful would be an image of the most typical machine.

Creating an Image

To avoid replicating trash from machine to machine, you want the cleanest image possible. Therefore, ready the donor system by cleaning out all its trash -- /tmp, lost and found directories, the log files, printer and uucp spools, mail, and /var/spool/cron/crontabs.

Keeping in mind that you will be creating an image of the entire system, cut the system down to only the files needed (taking an image from a 560 to fit on a series of 530s, for example, will require quite a bit of pruning). To begin, remove all NFS-mounted file systems. If you have local user work areas, remove those as well. Do a df or a du to see if you have the image down to a size that will fit on donor systems.

Before taking the image, ask all users to log off and tell them that the system will be unavailable for an hour or so. When everyone has logged off, edit the rc file that controls nfs, /etc/rc.nfs, by inserting a comment before the mount command. This prevents the system from mounting its NFS files.

#
#else
# mount -t nfs
#fi
sleep 5

As you spend time with AIX, rc.nfs will become an old friend, so get to know its contents.

AIX shutdown is similar to a BSD 4.X shutdown (and unlike a XENIX or System V shutdown). Bring it down with a shutdown -h for a halt or a shutdown -r to reboot. The -F flag will save more time by omitting shutdown messages.

If you brought the system down using the -h, -x, or halt option, reboot using the yellow restart button with the front panel key in normal or run position. Those new to RISC/6000 systems wil find this key disconcerting at first, but it's simply like the key to an automobile -- each position has a different meaning. Getting the key position right is critical, as you'll quickly discover if you try to boot a newly built system from the maintenance or the run position.

To prepare to create the image, clear out any pre-existing image from the area

/usr/work/inst.images/risc_sys6000/3.1

Here 3.1 is the current revision number. If an old image file exists, it will be called bos.obj.backup. With NFS mounts disabled and the image area cleared, you are ready to start. Initiate smit with the startup option (not found on the regular smit menu).

smit Startup

Moving through the menu options, take the backup option and enter the path and file name

/usr/work/inst.images/
risc_sys6000/3.1/bos.obj.backup

The screen menu will display a message to back up the system. Type or select the appropriate values in entry fields, entering a string at square brackets and toggling for yes/no arrangements. You toggle some smit items merely by selecting them; others you select with a tab. When you have made all necessary changes, press Enter.

It will take about 20 minutes for the command to execute and create the system image on disk. If it fails for lack of space, it will tell you to mount vol 1 on the /usr/work/inst.images/risc_sys6000/3.1/bos.obj.backup. If all goes well, the command finishes and quits. You then scroll to the bottom of the smit screen to check all the messages.

Inexperience can trap you here, because smit writes all sorts of things at the bottom of its menus, assuming that you know to scroll to the bottom when you're done. Leave smit when you're certain all is well, uncomment your work in rc.net, and reboot your system.

You should now have an image you can use both for a full system backup and for a network installation.

The Installation

Gather the primary information that will be needed to set up and complete the net installation, such as the system's new name and Internet number and the Internet number of the system that will serve the image; if you have to go through a gateway, you also need the Internet address of that gateway or router.

As an example, this article sets up a machine called tiger at 129.243.40.25. This system is on one of several subnets. The immediately necessary information for this image install is:

image server: lion
internet #: 129 243.75.33
mask: 255.255.255.0
router: 129.243.29.100

Note that the mask is for a class B network with a subnetwork part.

This is the information needed to get the new system going. With the infant 6000 wired and on the network, boot from the special installation set of diskettes. There will be two start diskettes in addition to the regular repair diskette. Boot to the first diskette with the key in maintenance mode.

Remember to switch full clockwise to service position and then power on. The RISC/6000 systems have a set of diagnostic lights on the front panel that give you direct alphanumeric messages, but these messages will be a bit confusing until you understand the ODM. The C messages will make a little more sense: two common ones are are C09 for reading and C07 for "load next floppy."

To start, insert the first floppy and wait for the C07 to tell you to load the second diskette. The first two diskettes will run silently, with no screen display. When diskette 2 has been read, the system will tell you that you can now go interactive and see what you are doing. Hit the F1 function key, then an Enter, and install the third (maintenance) diskette.

BIOS Installation

The third diskette loads the memory-resident BIOS, the basic input output system. The menu displayed at this point allows you to do some basic setup and prepare to read the image over the net. First, however, you must check the system's date from another system, because you will have to reset the system's date. Select menu option 3 (>>>3 settings) and you are ready to set up. Start by setting the time (option [7] set TZ), including time zone and DST/no-DST option. Next, use option [4] to set installation from the diskette drive to network.

Fill in the host name and Internet number, the master's Internet number, and the router's Internet number. Once done with this, select the image file and path you set up when you created the image in the first place. The menu will walk you through, but it does so circuitously.

If you have completed everything satisfactorily, the image will read in. Full path names and basenames will scroll up the screen for an hour. When scrolling stops, the screen will say that you can boot. Don't believe that message. You still have more work to do, starting with moving the key to normal so that you actually can boot.

Post-Net Installation Customization

The new system needs to be brought up to something close to single-user mode. However, if it processes through the network part of the installation, it will become unhinged and go off into never-never land. To prevent this, halt rc's part of the boot with a Control-C. You must act quickly to short-circuit the process before the network services can be activated, so hit Control-C as soon as the daemon message for TCP/IP and NFS displays.

Remember to key over to normal from service before booting. After cancelling rc, you will get a login. Because you now have the full system image taken from the donor system, log on as root using the root password of the donor.

Edit Critical System Files

Since the system's working image is a copy, the next step entails providing unique system identifiers. As with any UNIX system installation, you must be ensure that the system has its correct hostname, Internet number, and route information. These are hidden in different places, but they must all be found and changed. Use smit to change the hosts and rc.net files' information and thereby update the ODM.

Hosts

If you are using NIS, any good hosts file is just a two-liner, so add the new system's name and Inet number, keep loopback, and delete all others. If you like easy readability, remove all the comments. If you don't use YP, edit the very long hosts file by entering your system's name and Internet number as the second line, just after the loopback address.

rc.net

Administrators who have previously been exposed only to BSD systems must prepare themselves for a shock. The convenience of having only a few rc files, like rc.boot, rc, and rc.local, is gone; in their place are dozens of rc files and rc directories. The network initiation files, /etc/rc.net and rc.nfs, set the hostname and hostid, add routing information, and open the Ethernet port. The files contain a number of lines, many of them comments; for customization purposes, find the lines for hostname, route, and ifconfig. Let's set up tiger:

/bin/hostname tiger >>$LOGFILE 2>&1
/etc/route add 0 129.243.70.100 >> $lLOGFILE 2>$1

/etc/ifconfig en0 inet 'hostname up >> $LOGFILE 2>&1

All of these lines must be uncommented and changed. This part of the installation is critical; if you make a mistake here, you won't be able to boot successfully. Instead, the system will fail and will display a misleading message, "YP master not found," which will cause you to look in the wrong place to troubleshoot the problem. The system needs an Internet number, good routing information, and its hostname, and it has to bring up its Ethernet port. Otherwise there will be no network and no system. If you can't get the hostid check back on, see if anything is wrong with the hostname line. hostid is set near the bottom of rc.net and is a function of hostname. If hostname is not set, neither is hostid. The trick is to find the hostid command, and if you get back an answer like 0xf, you haven't succeeded. You must get this part right, because a lot of your software licenses will key off the hostid.

If you neglected to clean out the cron directory or any other trash collection directories when you created the image, do it now and resolve to be more careful the next time you create an image. Move to /var/spool/cron/crontabs and remove all but root's cron file. These are the most important files, but there may be others, like /etc/filesystems, AIX's answer to BSD fstab. If your file systems are unique, customize them now.

You can put your custom files on your own diskette and use tar to read them in. If you do, the device is /dev/fd0 as in

#tar xvf /dev/fd0

The high-density diskette is fd0h, but this isn't required for single file transfers.

Make Some Room and Then Create New Partitions

The as-shipped system may not have enough room. If your /usr/work partition is too large to allow for adequate swap space, shrink the partition by removing it (that's as small as it can get).

Mount /usr/work and then remove the entire logical volume by playing with LVM through

smit (rmfs /usr/work or rmlv /dev/lv00)

To create the file system again also requires using smit. Follow this menu path

smit -> phys -> file sys ->
add/change/show.. ->JFS -> add a JFS

which moves you from smit's first window to physical storage to file systems to add/change/show -- and on through to journaled file systems. Select the add option. You will get a brief root message, then you will be asked the size of the file system and its name:

size of [50]
mount point [/usr/work]
mount auto

Questions like

mount automatically no

can be toggled to "yes" by using the Tab key. If you succeed, smit will confirm that the job is done. Press F10 to exit and go on to more useful work.

Increase Paging Size

chps changes the attributes of the paging space and can be used to provide the larger amount of page space required by engineering and scientific systems. The -s option specifies the number of logical partitions to add. For example,

chps -s4 myvg

adds four logical paritions to the myvg paging space. Using quotation marks helps even more, as in the following fragment that sets two paging areas:

chps -s'8' hd6
chps -s'8' hd61

Change Protections

Typically, you will have to change some protections like /etc/swcons to /dev/kmem. kmem is always shipped with excessive protection, but since some of your applications need to read from it, you'll need to reset it:

chmod 644 /dev/kmem

Post-Custom and Debug

As noted earlier, if anything goes wrong with the network portion of the installation, your boot will hang and display messages like "YP server not responding." The recovery is to backtrack your customization starting with /etc/rc.net, looking for missing comments and typos.

A good debugging technique is to run smit to get its version of what the net interface looks like. Use the following menu path:

smit ->communications... -> \
TCP/IP ->minimum config -> \
ne0 -> ->NFS -> NFS -> conf

If you find that the gateway (router) address has not been entered, provide the required information including mask, host number, and hostname, and smit will write it to the AIX system's database. You may have a few odds and ends of your own; do them.

Now you are ready to boot all the way to multi-user mode. Try a shutdown -r and celebrate, or go back in again and see where you went wrong.

About the Author

Bruce H. Hunter is the co-author, with Karen Hunter, of UNIX Systems, Advanced Administration and Management Handbook (Macmillan: 1991).