Frequently Asked Questions: Various subjects for AIX/RT.

This is a reworked and HTMLized version of Mark Whetzel's (MW) RT pages, as of Fri Mar 25 03:37:40 CST 1994.
The original can be found at misc1, misc2. -MK

Q.01 I have lost my root password, how can I reset it?

I have a procedure in another document outlining the steps for this recovery. E-mail me with your request, and I will mail it to you. I hesitate to post the procedure to a public list. - MW

Q.02 LED code 99 is displayed at power on, what is it?

The keylock has been left in the 'locked' position at power on. Turn the key to unlock and the system will continue booting.

Q.03 How do I move 'system' filesystems (/,/usr,/tmp,/u,/vrm)? How to increase the size of filesystems.

The procedure for moving or enlarging a minidisk are virtually the same. The basic procedure involves rebooting from the Installation/Maintenance disk, backing up the minidisk in question, deleting the original space and remaking the new space, then restoring the data. One critical element of these procdures is the IODN of the various system minidisks. Make sure that you use the same IODN number for the newly created area as before.

To enlarge a minidisk, the principle is the following:

  1. backup your minidisk,
  2. load the installation/maintenance diskette,
  3. get the IODN of the current minidisk you want to enlarge,
  4. delete the minidisk,
  5. create a new, larger minidisk using the same IODN,
  6. make a filesystem on the new minidisk,
  7. restore your data,
  8. reboot normally.
You can change the size of the /usr minidisk (or any other for that matter). Minidisks are sections of the hard disk that are contiguous. There may not be any free space immediately after the /usr minidisk on your system. If that is the case, then you will have to rearrange several minidisks on your system in order to create the amount of contiguous free space that you need. A general procedure is outlined below. More detailed information is contained in Managing the AIX Operating System (SBOF-0168).

Detailed procedure:

  1. While in the Bourne Shell use the minidisk command and print off the minidisk configuration (F4).
  2. Check the printout from the minidisk command. Check to see if there is any free space immediately after the /usr minidisk. If there is enough, then the procedure will be fairly simple. If not then it is a little more involved.
  3. Shutdown and boot from the Install/Maintenance Diskette. Follow procedure A or B, depending on the free space.

Tip from Willi Zuber, IBM France
Date: 16.09.1988

If /usr is full, do the following to gain some space:

  1. Find the biggest subdirectory in the /usr directory:
       cd /usr
       li -R1p | xargs -i du -s {}
    The system lists the directories of /usr and their respective disk usage. Take note of the biggest one: ex. 18000 blocks for /usr/lib
    [ Note:
    lib is the hardest to move, as it is usually busy with programs. I suggest /usr/lpp first, then try /usr/lib. I suspect it would be best to have a completely idle system and a killall done first before attempting /usr/lib. -MW ]
  2. Create a new minidisk to contain that "biggest subdirectory" and give it a "dummy library name": ex. hd13 with 22000 blocks to contain /dummylib
  3. Mount the new minidisk:
       mount /dev/hd13 /dummylib
  4. Kill the error daemon:
    kill /usr/lib/errdemon
    This is only necessary if you move the subdirectory lib
  5. Copy /usr/lib to /dummylib:
       cd /usr/lib
       find . -print | cpio -pdl /dummylib
    [ Note:
    Verify that your copy is good before continuing. - MW ]

  6.    umount /dummylib
  7. Remove the entries of /usr/lib:
       cd /usr/lib
       rm -r *
  8. Mount hd13 on the correct directory:
       mount /dev/hd13 /usr/lib
  9. Update the file /etc/filesystems:
    change the stanza name /dummylib: into /usr/lib:.
    (do not forget the double point!!) [ Colon for us USA types - MW ]
    Make sure that the mount is set to always mount at IPL.
  10. Re-ipl the system.


[ Note:
I personally have NOT tested this way of 'increasing' /usr. I HIGHLY recommend that you have a good system backup in case something goes wrong. Always 'Be Prepared' when experimenting! - MW ]

Q.04 What do the IODN numbers mean?

The Input Output Device Numbers (IODN) assigned to various system minidisks is how the VRM is able to associate a particular disk partition with the related filesystem.
       dev  IODN   use      mount             attributes
       ---  -----  -------  ---------------   -----------------
       hd0  16384  AIX      /                 Auto IPL
       hd1  16386  AIX      /u
       hd2  16387  AIX      /usr
       hd3  16388  AIX      /tmp
       hd4  16385                             dump
            32766  PgSpace
       hd6  32760  VRM      /vrm              read only
       hd7  20001  AIX      /user-minidisk
IODN number for minidisks is 16384 (minimum) to 32767 (maximum). User created minidisks start at 20001 thru 29999.

Q.05 How do I make a netnews filesystem with lots of inodes?

The minidisks command can make a minidisk partition of any size, but the maximum number of inodes it will make is less than 32000 inodes, and is based on the size of the minidisk being created. The AIX filesystem can be made with a larger number of inodes by use of a prototype file and the mkfs command.
  1. Use minidisks to make a filesystem (for example /news) of the size you wish, on the disk you want...
    number of blocks maximum on a E310 = 605460 (leaving 9 free)
    Note the device number when minidisks makes the new filesystem and minidisk.
       mount /news
       df /news
    The number of blocks will be LESS than that specified in the minidisks command, because of inode blocks overhead.
  3. Use the proto command and save the output to a file:
       proto /news >/tmp/proto.keep
       unmount /news
  5. Edit the /tmp/proto.keep file and add the size of the filesystem, and your requested number of of inodes. Be conservative, the mkfs command will round UP to a proper multiple based on the geometry of the target disk drive.
       cat /tmp/proto.keep
    : Prototype file for /news
    /noboot 605460 63000 
    d--777  0 0   
    lost+found      d--755  0 0   
       mkfs /dev/hd10 -vNEWS /tmp/proto.keep
    Do not go over 64000 inodes. Due to some bug in the AIX filesystem code, it seems to get lost if the total number of inodes is very large, and does not contain some slack space.

  6.    mount /news
    Expand the lost+found directory by creating about 200 files with touch, and then delete them. This expansion is required so that during fsck processing, if errors DO occur, the system can move 'dangling' files to the lost+found directory. During this processing fsck cannot have the filesystem changing without its knowledge.

Q.06 The domain name server is not working correctly.

The version of named shipped with AIX/RT is VERY old! A partial
   what /usr/lpp/tcpip/etc/named
	  ns_init.c	 4.23 (Berkeley) 2/28/88
	  ns_main.c	 4.30 (Berkeley) 3/7/88
	  Copyright (c) 1986 Regents of the University of California.
	  ns_maint.c	4.23 (Berkeley) 2/28/88
	  ns_req.c	7.7 89/01/27 11:30:46
	  ns_req.c	  4.32 (Berkeley) 3/31/88
	  ns_resp.c	 4.50 (Berkeley) 4/7/88
	  ns_sort.c	 4.3 (Berkeley) 2/17/88
	  ns_stats.c	4.3 (Berkeley) 2/17/88
	  named 4.8 #12: Wed Jul 27 11:47:05 CDT 1988 

While it pretends to be 4.8, it does not have anywhere near the features of the 4.8.3 server or later. Particular problems I have seen are:

If you are having problems with the server, I suggest that you replace the named server with at least the 4.8.3 version available from the net. See section P.03 on porting and running that server. -MW

Q.07 Mail addressing and setup.

The AIX/RT standard mail facilities consist of the sendmail program, (if installed) and the SYSV based user agent mail command. The sendmail code appears to be based on sendmail version 7.24. The only overt major change to the programs is the location of the control files. They are located in: /usr/adm/sendmail.

IBM includes a program called /usr/lib/edconfig to help with editing the control file. This program is menu driven, and depends on the supplied and the comments located in the file to be able to change the sendmail configuration for you. However, you do not have to use this program to configure the sendmail config file. There are liberal comments located in the file describing the various macros for the system configuration.

For more documentation on the IBM sendmail, see the "Managing the AIX Operating System" manual number SC23-2008. Chapter 7 is devoted to mail issues. That chapter has some excellent information on understanding the file, sendmail macros, mail tailoring issues, understanding mail rewrite rules and the obscure format of the sendmail config file. Also covered is the format of the queue control files, and more.

If you use the supplied AIX sendmail config file, here are some macros that should be looked at:

   Dw       Host name macro
   Cw       Host name class
   DD       Domain name macro
   DE       Macro for first (left most part here in the US) domain part.
   DF       Macro for second domain part.
   DG       Macro for third (optional) domain part.
   DH       Macro for fourth (optional) domain part.
To avoid confusion IBM manual recommends that the following names for your system should all be the same:
   nodename   - Defined in /etc/master and built into the kernel.
                Binary changed in /unix and the running kernel with
                the 'chparm nodename=' command.
   nickname   - The name that Distributed Services uses for your system name.
                Changed by the 'ndtable' command.
   hostname   - TCP/IP name defined and displayed by the 'hostname' command.
                Usually set from /etc/rc.tcpip shell script.
As supplied, you will find that the IBM mailer has a great deal of problems existing in a mixed UUCP and TCP environment. A pure TCP environment also will have problems with MX records, and domain name service queries. X.400 names can cause it all kinds of problems.

I found that the best solution was to replace the supplied sendmail with PD versions. See section P.05 for porting and install instructions for IDA sendmail 5.65c. - MW

Q.08 How do I set up a dial-in autospeed detect serial line?

See the software question S.13 for general serial port add instructions.

Modem capabilities vary greatly from vendor to vendor, and much of the 'art' of serial port setup of any type will be impacted by the setup 'switches' both hardware and software register setups. A great deal of the problem with serial port function is using the proper cable. Modem usage requires a correctly wired cable. See the hardware FAQ for pinout and cable information.

Before starting any attachment of a modem, read your vendors manual on setups. Some vendors documentation have recommended setups for attachment to UNIX systems, particularly when used with UUCP.

Examine your vendors modem manual about soft register settings dealing with speed matching, and how it is presented to the host computer. If you have one of the newer breed of modems where the serial-port-to-LOCAL-computer speed can be locked to a single speed, while the modem-to-REMOTE-computer speed can be set to the callers speed, Then the procedure described below is not necessary, simply setup the port as normal, and set the port speed to the 'locked' speed of the modem, and your work is done. (Trailblazer modems have this capability for example). Make sure that the pacing, either XON/XOFF or RTS/CTS, is setup correctly in the modem and/or the communication terminal that the caller will be using. If the users speed will be mis-matching the port speed, there can be over/under run problems.

Setting up an AIX/RT port for autobaud capabilities is not described very well in any of the AIX documentation. The Managing the AIX Operating system book has a small section devoted to serial port setup, but this obscure feature of AIX/RT serial ports is overlooked. The real truth is AIX/RT serial port capabilities are not great, especially in the autobaud arena. You will have to decide what combination of speeds and parity settings you would like to support and select a few popular combinations.

To allow more than one speed to dial in requires you to edit manually the /etc/ports file AFTER you add the tty port with the devices command.

Any use of the devices command on this port later will wipe out the following changes, and will have to be manually be re-entered for that port.

Edit the /etc/ports file, find the /dev/tty## entry that was added by the devices command for your serial port.

Looks a little like this:

           lock = true
           speed = 2400
           logmodes = echoe+cs8
           runmodes = hupcl+cs8+cread+brkint+icrnl+opost+tab3+onlcr+isig+
           parity = none
           synonym = /dev/ltty0
Change the speed and parity entries to look like this for a three speed call in of 9600,2400,1200 with no-parity used for any of the speeds used.
This will set the port initially to 9600 baud, and step down the speed on each receipt of a break sequence by the modem.

If a user dials in at 2400, after the modems sync carrier, and setup for 2400 baud, if the port is at the wrong speed, they will receive garbage for the hearld stanza in the defaults section of the /etc/ports file. They then press break and the RT will move to the next speed, and then the hearld will be re-displayed. Once the speed and parity setting matches the users modem speed, the login hearld will be readable. If the end of the list is reached on speeds, it wraps around to the first entry.

Q.09 How to setup a serial port for shared dial-in and out?

To properly allow a serial port to be used for dial-out with the cu command or for UUCP usage, AND allow call-in capability will requre a few non-standard, and obscurely documented changes.
  1. Define the port for dial-in usage as described in section Q.08 above, but make sure the ae parameter is set to delay or share. I find that delay works best, but use what is proper for your requirements.
  2. Add the following line to the /etc/ports file for the /dev/tty# stanza requiring dial-in/out capability:
       lock = true
This will cause a lock file to be created in /etc/locks by the getty, and also allow it to correctly handshake with uucico and cu to release the serial port when necessary for outbound operations, and also will block uucp and cu from operating when a caller is logged in on the port.

Under normal usage, this is all that should be necessary.

Even on the last fix level, the ate command does not know how to request a lock, or release a port in a automatic fashion. You will have to issue a pdisable command prior to ate usage, and then re-issue a pdelay or pshare command after done using ate.
Proper locking and releasing of ports with uucico and cu was not fixed until around the 2705 opsys update level or later.

Q.10 The devices command won't find my newly installed adapter.

Four possibilities:

Q.11 What is the procedure to add a hard disk to a system that has been in use on another RT system running AIX?

Assuming that the drive to be added came from another RT system, no special formatting is needed. The minidisk partition table, and bad track map are already on the drive.

To be safe, I personally like to remove all hard drives except the NEW one, put the terminator on the new drive, boot from the VRM floppy, and then use the second procedure below to remove any stray minidisks from the foriegn drive. - MW

Simple procedure: *IF* you are sure that the drive to be added had NO minidisks on it, all you have to do is:

  1. Plug in the new drive, observing that the terminator is removed. Only one disk must have a terminator, with one controller card, If you have a system with more than one controller, follow the cable set for each controller. Only one drive for each set must have a terminator resistor installed.
  2. Use the minidisks command to manage the drive, add minidisks, filesystems, and enjoy. Your work is done.
Complex procedure: However...
If the new drive had minidisks already on it, and worse, SYSTEM minidisks on it, AIX and VRM will get VERY confused about what minidisks are what. Use this procedure if you are not sure what minidisks may be on the drive, if any.
This is the ONLY safe way to check out foreign disks.
Don't try to boot your AIX system just after adding it to the system.
  1. Boot the diagnostics disks, and see what drives are found. Use the option show all installed options selection of the utilities portion of the diagnostics. Make sure that the terminator is installed correctly as shown in the hardware setup FAQ or manuals. Remember, only the last drive in the chain for each controller just have a terminator pack.
  2. I like to test the drive with diagnostics and make sure it is at least responding to initial selection. - MW
  3. Boot up the VRM diskette #1 and use the VRM maint utility commands qi and its other very strange commands to display all minidisks on each and every drive. Write down the IODN and IOCN numbers on each is installed drive.
    If the NEW drive has any VRM minidisk numbers (32760 and 32766) AND AIX system minidisks (16384 and up to 19999) VRM will get VERY confused about what VRM and AIX filesytems are what. It seems that VRM goes by the IOCN/IODN numbers to figure out what partitions are what, and gets very confused if there are duplicate partition numbers. To clear this up continue with step 5.
  4. If ALL the minidisks are over 20000 and less than 32760 in number, AND *NONE* of the minidisks has the PgSpace marker, you can do one of two procedures:
    1. Exit the VRM utilites and re-boot your normal AIX system, then use the mdrc command to recover any filesystems and minidisks that were on the 'new' drive. The mdrc (minidisk recovery) command reads the minidisk partition table, and re-writes it and resynchronizes the /etc/system and /etc/filesystems files so that the numbers on it and the system tables will not conflict with existing minidisk numbers. This procedure will rename any mount points on the 'new' filesystems to /tmp/directory/hd## matching the renamed hd numbers that will be assigned to the added drive.
    2. Use the VRM install utilities and use the minidisk delete command described in step 5A to delete any or all unneeded minidisks. If any minidisks are left, then use step 4A on the disk to recover any remaining minidisks, and synchronize the system tables.
  5. If some or all the minidisks are under 20000 in number OR there are minidisks in the 3276x range, OR one of the minidisks has a VRM PgSpace marker, problems can occur.
    You can choose several options:
    1. Delete everything on the new drive,
    2. Delete some minidisks and recover what is left, or
    3. attempt to recover all minidisks, including the 'system' ones.
    While following these proceedures, BE CAREFUL on what drive is called 0 and 1 and 2. Drive 0 normally is the top back drive connected to the C1 connector. Drive 1 is the bottom back drive connected to the D1 connector, and drive 2 is the front drive bay connected to the E1 connector. Things can get VERY confused if you have a system with two controller boards in slots 1 and 2. A mis-cabling by some other person can scramble the drive numbering.
    1. You can remove all the minidisks on the drive by using the delete minidisk command dlmd, to delete any of the possibly duplicate minidisk(s). If any to be removed are a pagespace, follow the procedure in step 5C2 below prior to deleting that type of minidisk. The syntax of the delete command is:
           minidisk_id = IODN or name of minidisk being deleted.
           reald = The fixed disk IODN on which the minidisk resides.
                   If you have more than one minidisk with the same
                   name on different drives you *MUST* specifiy this
                   parameter.  The number to be used is the disk
                   drive NUMBER (0,1 or 2).
      Once all old minidisks are gone, remove the VRM utility disk, re-install your other disks (if you removed them), and reboot AIX and use the now empty disk as normal.
    2. Using the dlmd command as described in procedure 5A above, delete any system minidisks from the new drive, leaving the 'user' minidisks (greater than 20000 and less than 32767). Continue with step 4A above to recover the filesystems.
    3. To recover ALL minidisks for examination, use the VRM utilities to remove the special VRM markers from the minidisks on the new drive. There are three special case filesystems:
      1. If any have the PgSpace marker, it is a paging area, and is most likely currently in use by this boot of VRM (from the utilities!). Deleting it now can cause a run error. First, unmark the minidisk as a pagespace with the utility command setattr. Reboot the VRM utilities, and then remove any minidisk(s) that were in use as pagespace (there is no AIX filesystem on it and nothing generally of use anyway).
      2. If any minidisks have the IODN of 32760 and have the 'VRM' marker, AND you want to recover it as a regular filesystem minidisk, remove the VRM marker from the minidisk with setattr. You can also use the setattr command to remove the read-only status of the minidisk.
      3. If the / (root) filesystem exists with IODN 16384 on the drive, remove the 'IPL' marker from the minidisk with setattr.
      Then continue with step 4A above using the AIX/RT mdrc command to renumber and rename the remaining possibly duplicate minidisks.

Q.12 The disk I have is one of the IBM supported disks, but it can't be found by diagnostics, or AIX.

The most likely cause of this problem is the IBM supplied minidisk partition table, and the defect map area has been removed by some method. A full reformat with a non-AIX/RT computer is the usual cause of this problem. To add this disk, follow the procedures described in Q.13 below for adding an ODM ESDI drive to the system. When you get to the part on specifying the disk parameters, use the option 1 - Specify a known device. to fill in the disk parameters.

Q.13 What is the procedure for adding a Non-IBM ESDI or MFM hard disk with AIX V2?

To use a NON-IBM ESDI drive on an RT, it will have to be very close in its geometry to one of the IBM supported drives. I have not yet tried to use ESDI drives with larger than 310 Mbytes of space with AIX.

To be able to properly use the drive, it will have to be prepared in two seperate formatting steps.

First, shutdown the system as normal.
I personally like to work on new disk drives with NO other drives installed in the system. - MW
This serves several purposes:

  1. If there is anything wrong with the drive, it won't cause problems the other disk drives in the system.
  2. If you make an error specifiying any arguments or commands with the diagnostics or the VMF utilities, you won't accidently damage any of the information on your other drive(s).
The RT employs a specially cut and twisted drive control cable, allowing all hard drives to be jumpered for drive select

Second, examine the disk drive electronics, and set the drive select jumpers for the drive to DS2. Double check other jumpers if necessary on the drive. Some drives have jumpers to control the number of sectors per track, and timing adjustments. Look at the ESDI drive chart in this FAQ and pick a setup that is close in sectors to the IBM drives. The larger drives usually use from 34 to 36 sectors per track. If you are following the precautions suggested above for testing the drive by itself, make sure that the proper value and type of terminator resistor is installed in the drive, as this will be the last (only) drive in the chain of drives in the system.

Install the drive in one of the open drive bays. Make sure that the drive is plugged into the proper power cable. The tower model 6150 RT has the following drive bay locations:

If this is the only drive in the system, put it in bay 'C'.

Unfortunately the desktop 6151 system has only one full height drive bay. While the controller is capable of running two (or three depending on the exact model controller) hard drives, I have not investigated using two half height drives for this system. That may be possible as long as you don't exceed the capacity of the power supply. -MW

At this point, boot the diagnostics diskettes and see if the drive is recognized. Choose the utility section of the diagnostics, and select the show all installed devices. All adapters in the system should be listed, including the fixed disk drive adapter. This makes sure that the adapter is still functioning. Usually the drive itself will NOT show up in the attached devices list, even if everything is correct with the hardware. The AIX RT diagnostics are rather dumb and will not understand the drive and its geometry if there is no AIX style minidisk partition table on the drive.

If the new drive DOES show up, the diagnostics will show its position and size if it is an IBM drive. Unless you would like to completely reformat the drive you should skip to the FAQ section on adding a drive with existing AIX formatting to the system. There may be minidisks on the drive that can conflict with your system. If you do wish to reformat this drive, skip past the paragraphs below about VRM formatting.

We now have to assume that the ESDI drive is working correctly, as none of the AIX or diagnostics tests will show the drive as operable yet. The new drive must be formatted with the VRM installation disks. This formatting will put a new minidisk partition table on the drive, and also will create the VRM bad track map table on the drive (empty), and the geometry information record will be written to the drive.

Put disk 1 of the VRM install disks in the floppy drive, and boot the system from the floppy. Use the following procedure to walk thru the menus of the VRM utilities and the VRM format command.

When the VRM install disks boot up, they will ask you for your keyboard language, choose the proper menu item and press enter. Next a menu of VRM options will be displayed.

  1. Choose menu option 7, Maintenance Facility You will be given a command line interface with a prompt of ">". To get help with any comand type help commandname. The screen will not scroll when the screen is full with these utilities. Press F1 to see more of the screen.

    Assuming that the drive is in bay C, and all by itself, type the following command to start formatting that drive:

       format 1
    Drive bay C is drive 1, bay D is 2, and bay E is 3. Systems with two EESDI controllers thus have drives 1,2,3 on the first adapter and drives 4,5,6 on the second adapter.
    A display menu of adapters in the system will now be shown, and the attached drive numbers that may be formatted. At the prompt to continue, press 'Y'

    VRM will complain that the drive is unreadable, with the following message as there is not an existing partition table on the drive:

       Drive is Un-readable.  No valid disks parameters can be located.
       Do you want to specify parameters (y/n).
    Enter "y" to continue.
  2. A menu of selectable drive parameters will now be displayed that looks like this:
    		1 - Specify a known device.
    		2 - Specify number of cylinders
    		3 - Specify number of heads
    		4 - Specify number of sectors per track
    		5 - Specify interleave factor
    	   yes	6 - Specify cylinder where precomp begins.
    	   yes	7 - Specify seek profile.
    		8 - Specify skew factor.
    		9 - Display configuration record
    	       10 - Continue with format.
    	       11 - Quit format command.
    If you have an IBM drive that has had its VRM minidisk table wiped out, or a drive that exactly matches the geometry of an IBM drive, you can choose menu option 1 and a menu of IBM known drives will be displayed. Choosing a IBM drive type will then bring you back to this menu with 'yes' by all of the parameters that have been set. If you have a drive with different specifications, choose each menu option in turn above and enter the proper value for your drive. As each option is specified, and 'yes' will be entered next to that menu option.
    ESDI drives do not need menu option 6 or 7, that is why the 'yes' is already on those options.

    When you have finished specifying the settings, menu option 9 will give you a summary of the settings, or allow you to display the current settings that a drive already has. When ready to continue formatting, choose option 10.

    As the drive formats it will show you the cylinder number in a running display. If there are problems, you will see the following error message, or similar:

           Start I/O failed. IODN=1315  return code= -6
           I/O error during format operation.
              drive 1
              cyl   0
              head  0
           Do you want to continue format?
    This error indicates an immediate failure (cyl=0, head=0) and most likely the drive is not responding, or a gross misarrangement of geometry settings. A 'n' will abort the format operation, a 'y' will attempt to continue. A very bad track on a drive can also show this error, but the cylinder and head numbers must be non-zero. A drive with cylinder zero defective is most likely useless.

    Assuming that the VRM format operation has completed, now you need to boot the diagnostics disks. VRM formatting will now allow the diagnostics to be able to find and understand the drive.. HOWEVER, the bad track map is not filled in by the VRM formatting.

  3. After booting the diagnostics, choose menu option two (2), Utilities. This will bring up the Utility Selection menu. Choose option three (3), Fixed Disk Utilities. Option one (1) on this menu will be Format a Fixed disk. Make sure that you select the correct disk. Confirmation of format will not be requested. The disk size will be known from the already installed minidisk partition table from the VRM formatting step. After formatting is complete, exit the diagnostics, and remove the diagnostics diskette, and enjoy your new disk drive.

Q.14 What is the procedure for using non-IBM SCSI disks with AIX V2.

As mentioned in the hardware FAQ, the IBM RT SCSI adapter uses a differential interface, instead of a single ended interface like that used in most workstations. This makes it electrically incompatible with most SCSI drives on market.

However, all is not lost. :-)

Some vendors do offer their SCSI drives with an optional differential interface. There also exist a couple of manufacturers of 'Differential-to-single-ended' converter boxes. These boxes allow a bi-directional conversion of the SCSI bus and will allow attachment of these single ended disk drives. Newer IBM RS/6000 systems have optional differential interfaces now available, and some SUN systems will be offerd with differential interfaces. This will most likely cause drive manufacturers start to increase the availability of differential drives.

Here is a procedure that works to attach SCSI disks from non-IBM vendors to an RT running AIX 2.2.1.

  1. Get the geometry information for the drive and create a ddi stanza file with the proper information. Use as a reference the ddi information for IBM's 9332 drive. Copy the /etc/ddi/9332 entry to one of your own name, such as /etc/ddi/wren7.
    The commented lines in the ddi stanza are IMPORTANT. Do not change them, or remove them. They must follow AFTER the entry being described.
    Find the following entries and change them to match the characteristics of your SCSI drive:
  2. Change the string /d9332/ to /wren7/. I never went over 5 characters, just made sure that the strings started with a letter, and were 5 characters long. The value used for the string is not important, just be unique among the entries if you have more then one type of SCSI disk, and it matches the *NAME* of the file in /etc/ddi directory.
  3. Next, we have to setup some things by hand that the devices command would normally do for us. The disk drives SCSI address and the DMA channel to use when accessing the SCSI card/device.
    1. Find the stanza entries in your newly cloned ddi entry that now read:
             * DMA Channel Number            * 0, 1, 3, 5, 6, 7
                  	       biopa = d50
                  	       cn = 6
             * DMA Channel Number            * 0, 1, 3, 5, 6, 7
                  	       biopa = 950
      	                   cn =5
    2. The entries that start wren7scsi1 sets the addressing parameters for accessing the SCSI card 1. If this is your very first attached SCSI device, make sure that the DMA channel number used is not in use by any other cards in your system. The biopa and cn paramemters MUST track together. The cn parameter sets the DMA channel number. The biopa sets the base I/O address for the card.
    3. Find the entry that reads: wren7scsi###
             * The following stanzas are 9332 DASDs on the first SCSI adapter
             * DMA Channel Number            * 0, 1, 3, 5, 6, 7
                           biopa = d50
                           cn = 6
      The name of the stanza is the entries to be used for the individual instance of a device. The name is wren7scsi%$#, where
             % = The card number (1 or 2)
             $ = The device SCSI ID (0-6)
             % = the device LUN ID (0-1)  
    4. Make the same change to the cn and biopa values, if necessary.
  4. Now comes the critical step, editing the /etc/system file. Make a backup copy of /etc/system. Syntax errors in this file will make your system unbootable! Make sure that you have a working copy of your Install/Maintenance diskette around to be able to get back in and repair any botched attempts.
    Add the hdisk by manually adding the stanza(s) for the disk. This would normally have been done by the devices command.
    External disks start with hdisk6. hdisk0,1,2 are internal on the first EESDI adapter. hdisk3,4,5 are on the possible portable EESDI adapter. Pick a unique IODN number for the stanza. You usually start with 2310. The SCSI id and SCSI card are pointed to by the nname= and use= stanzas of this entry. Make sure the file=, kaf_file= and kaf_use= stanzas point at your newly added ddi file in /etc/ddi.
         * MAXSTOR XT-8760 SCSI Disk Drive
    	     aflag = true
         * IBM SCSI Adapter, Primary
    	     adp = scsi1, scsi2
    	     config = scsihelp
    	     crname = false
    	     dname = hdisk
    	     driver = vscsi
    	     dtype = scsi
         * IBM RT PC SCSI Devices
    	     file = /etc/ddi/max
    	     iodn = 2310
    	     kaf_file = /etc/ddi/max
    	     kaf_use = kmax
    	     maxdev = 5
    	     name = max
    	     noddi = false
    	     nodl = false
    	     noduplicate = false
    	     noipl = true
    	     noshow = false
    	     nospecial = true
    	     shared = true
    	     specproc = /etc/scsiproc
    	     switchable = false
    	     vint = 4
    	     modes = rw-rw----
    	     nname = maxscsi130
    	     use = dmaxscsi130
  5. Activate the usage of the new SCSI disk by the varyon command. The first time you issue this command, the varyon may fail on some SCSI disks. The pending Unit Check from coming ready will confuse the vary commands processing. The vary processing will discover (hopefully) that the minidisk partition table is missing, and will proceed to create one. Depending on the formatting or prior data on the drive, this step can fail, if the varyon command gets confused about if a valid minidisk partition table is present. If this happens, take the drive to some KIND soul and have them write ZEROS on the first 100 sectors of the drive, and re-attach, and re-issue a varyon command (most likely twice). If everything is correct the vary will complete without errors, and a subsequent minidisks command will show that space as available.
  6. Modify the system to varyon the SCSI disk(s) on each boot. Add the following command to the end of /etc/rc.include
         varyon -q -d hdisk6
         varyon -q -d hdisk7 # or however many disks you have
    You might have to issue the command twice for each drive.
[ Note:
It has been a while since I have personally done this, but the general procedure does work. I will re-verify it shortly. - MW ]

Q.15 The diagnostics start booting ok, then fail with a LED code. What do the codes mean?

This problem can be caused by several problems among which are:
  1. Unrecognized floppy controller.
  2. Unrecognized or missing RT approved display adapter.
  3. Serious malfunction of one or more adapters.
  4. Serious malfunction in a portion of the processor or memory cards installed.
Usually, the failing component code will be the last displayed LED value. Reference the Hardware FAQ for a list of POST LED codes.

These additonal LED codes can be found for problem areas:

Q.16 How do I setup and use the AT Simulator?

[ Open for adoption by someone very familiar with PC Simulator experience! - MW ]

Q.17 What books comprise a full set of AIX/RT documentation?

Manuals marked with an @ sign were shipped with every system that had ordered AIX/RT. Manuals marked with a % shipped with ALL systems regardlesss of the OS.


The "SBOF" (special bill of forms) manual numbers included the manual and a binder. Some SBOF numbers were used to group sets of related manuals into special ship groups as well.

IBM RT Bibliography:

 General Information.

  -           GC23-0783  IBM RT PC General Information
  -           GC23-0784  IBM 6150 Concepts
  -           GC23-2002  AIX Family Definition
  -           GC23-2129  AIX/RT General Information
  -           GH23-0150  AIX/RT Hardware/Software Catalog
  -           SA23-1057  IBM RT PC Technology
 @- SBOF-1817 SC23-0788  Bibliography and master index AIX 2.2

 Planning, Installation and Operation.

  -           GA23-1058   Planning and Site Preparation Guide
  -           GA23-1061   Software Planning Guide
  -           GC23-0782   IBM RT Planning Guide
 @- SBOF-1816 SC23-2012   Installing VRM 2.2
 @- SBOF-1817 SC23-2013-0 Installing and Customizing AIX 2.2
 @- SBOF-1817 SC23-2013-1 Installing and Customizing AIX 2.2.1 P/N 27F4352.
 @- SBOF-1817 SC23-2023-1 Bibliography and Master Index
 %- SBOF-1828 SA23-2607   Guide to Operations P/N 22F9801
 %- SBOF-1829 SA23-2608   User Setup Guide P/N 22F9802
 %            SA23-2609   Options Installation P/N 22F9802


  - SBOF-0126            Keyboard Description and Character Reference
  - SBOF-1826 SV21-8025  (old) 6150 Syst. Unit Hardware Maintenance and Service
  - SBOF-1826 SA23-2605  6150 Syst. Unit Hardware Maintenance and Service
			 Also orderable as P/N 22F9803.
  - SBOF-1827 SV21-8026  6151 Syst. Unit Hardware Maintenance and Service
  - SBOF-1830 SV21-8024  (old) Hardware Technical Reference
  - SBOF-1830 SA23-2610  Hardware Technical Reference Vol 1  P/N 22F9805
  -           SA23-2611  Hardware Technical Reference Vol 2
  -           SA23-2612  Hardware Technical Reference Vol 3

 Problem determination.

  - SBOF-1822 SC23-2018  AIX 2.2 System Messages Reference
 @- SBOF-1825 SA23-2604  Problem Determination Guide: Hardware P/N 22F9800.
 @            SA23-2603  Problem Determination Guide: AIX      P/N 22F9815.

 Technical References.

  -           SC23-2022  VRM 2.2 Quick Reference fold out card
  - SBOF-1517            AIX 2.2 Tech.Ref. + VRM 2.2 Tech.REF.
  - SBOF-1808 SC23-2006  AIX 2.2 Device Driver Development Guide P/N 08F3424
			 4 Samples diskettes included:
			 P/N's 92X1326, 92X1328, 92X1329, 92X1337
  - SBOF-1818 SC23-2014  VRM 2.2 Virtual Resource Manager Programming Reference
                         (formerly VRM Technical Reference Vol.1) P/N 08F3410
              SC23-2015  VRM 2.2 Virtual Resource Manager Device Support
                         (formerly VRM Technical Reference Vol.2)
  - SBOF-1823 SC23-2019  AIX 2.2 Technical Reference Vol.1
              SC23-2020  AIX 2.2 Technical Reference Vol.2
  - SBOF-1823 SC23-2125  AIX 2.2.1 System calls and Subroutines    P/N 27F4355
                         (formerly Technical Reference Vol.1)
              SC23-2126  AIX 2.2.1 Files and Extensions            P/N 27F4355
                         (formerly Technical Reference Vol.2)

 AIX Operating System.

  -           SX23-0713  AIX Quick Reference
  - SBOF-0157            AIX Text Formatting Guide
 @- SBOF-1809 SC23-2007  Using the AIX 2.2 Operating System        P/N 08F3406
 @- SBOF-1810 SC23-2008  Managing the AIX 2.2 Operating System     P/N 22F4353
 @- SBOF-1814 SC23-2011  AIX 2.2 Commands Reference Vol.1          P/N 27F4354
 @            SC23-2081  AIX 2.2 Commands Reference Vol.2
  - SBOF-1819 SC23-2016  AIX 2.2 Programming Tools and Interfaces

 AIX Shells.

 @- SBOF-0149            Usability Services Reference
 @            SX23-0714  Usability Services Quick Reference
  - SBOF-0158            AIX DOS Services Reference
              SX23-0717  DOS Services Quick Reference
 @- SBOF-0160 SC23-0799  INed (Editor)
 @            SV21-8081  Using INed Editor
 @            SX23-0715  INed Editor Quick Reference
  - SBOF-0276            X-Windows version 1.1 Guide and Reference
  - SBOF-1868 SC23-2017  X-Windows version 2.1 User's Guide
              SC23-2118  X-Windows version 2.1 Programmer's Guide

 Keyboard templates.  (Packaged with Using the AIX Operating System)
  - SBOF-1809 SX23-0743  RT PC AIX Functions for the VT100 keyboard.
  -           SX23-0744  RT PC AIX Functions for the VT220 keyboard.
  -           SX23-0745  RT PC AIX Functions for the IBM3161, IBM3162 and 
                         IBM 3163 keyboards.
  -           SX23-0746  RT PC AIX Functions for the ASYNC Terminal Emulation
  -           SX23-0747  RT PC AIX Functions for the IBM RT PC Keyboard.

 Data Management.

  -           SV21-8015  Data Management Services
  -           SX23-0718  SQL/RT Quick Reference
  - SBOF-0139            Easy SQL/RT User's Guide
  - SBOF-0140            SQL/RT Interactive Command User's Guide
  - SBOF-0141            SQL/RT Programmer's Guide

 Programming languages.

  -           SC23-2106  VS COBOL Language Reference
  -           SC23-2107  VS COBOL User's Guide
  -           SC23-2108  VS COBOL Runtime Guide
  -           SC23-2124  AIX/RT Modula-2 Develop. Syst. User's Guide
  -           SV21-8016  Pascal Compiler Fundamentals
  -           SV21-8017  Pascal Compiler Language Reference
  -           SV21-8018  Basic Language Reference
  -           SV21-8019  Basic Language Handbook
  -           SV21-8027  FORTRAN 77 Language Reference
  -           SV21-8062  LISP Development System 1.0.1 Guide and Ref.
  -           SX23-0716  C language Quick Reference
  - SBOF-0133            Assembler Language Reference Manual
  - SBOF-0134            C Language Guide and Reference
  - SBOF-0105 SH23-0127  VS PASCAL User's Guide
              SH23-0128  VS PASCAL Reference Manual
              SH23-0131  VS Language/Op. Syst. Interface Lib. Ref. Manual
  - SBOF-0106 SH23-0129  VS FORTRAN User's Guide
              SH23-0130  VS FORTRAN Reference Manual
              SH23-0131  VS Language/Op. Syst. Interface Lib. Ref. Manual


  -           SC33-0630  X.25 Communications Support: User's Guide
  -           SC33-0631  X.25 Communications Support: Programmer's Guide
  -           SK2T-0291  IBM Token-Ring Network Adapter Tech. Ref.
  -           SV21-8031  INmail/INnet/FTP
  -           SV21-8032  3278/79 Emulation
  -           SV21-8086  Using INmail/INnet/FTP/connect
  -           SX23-0727  Communications Guide Quick Reference
  - SBOF-0107 SC23-2060  AIX/RT WHIP 1.1 Guide and Reference
  - SBOF-0131            Base PC Network Services
  - SBOF-0150            SNA Services Guide and Reference AIX 2.1
  - SBOF-0151            Network-PLUS 3270 SNA User Guide
  - SBOF-0152            Network-PLUS 3270 BSC User Guide
  - SBOF-0153            Network-PLUS RJE SNA User Guide
  - SBOF-0154            Network-PLUS RJE BSC User Guide
  - SBOF-0155            Network-PLUS Programming Interface Manual
  - SBOF-0156            AIX Communications Guide
  - SBOF-1807 SC23-2005  Interface Program for use with TCP/IP AIX 2.2
  - SBOF-1811 SC23-2009  SNA Services Guide and Reference AIX 2.2
  - SBOF-1870            AIX/RT NFS User's Guide

 PC-AT Compatibility Services.

  -           SC23-2042  AIX Access for DOS Users, Administrator's Guide
  -           SC23-2041  AIX Access for DOS Users, User's Guide
  -           SV21-8028  AT Coprocessor Services User's Guide
  -           SV21-8029  AT Coprocessor Technical Reference
  - SBOF-0158            DOS Services Reference
  - SBOF-1813 SC23-2010  AT Simulator Guide and Reference P/N 27F4360

 IBM 6192 Expansion Unit.

  -           SA23-2600  Setup, Options Installation
  -           SA23-2601  Hardware Maintenance and Services
  -           SA23-2616  Technical Reference

 IBM 6156 Portable Disk.

  -           SA23-2613  Hardware Maintenance and Services
  -           SA23-2614  Setup, Options Installation, Tech Info Manual


  -           GA66-0500  IBM 6180 Color Plotter Guide to Operations
  -           GA66-0501  IBM 6180 Color Plotter Programming Manual
  -           SH23-0089  IBM 6184 Color Plotter Programming Manual
  -           SH23-0090  IBM 6184 Color Plotter HW Maintenance & Service
  -           SH23-0091  IBM 6184 Color Plotter Guide to Operations
  -           SH23-0092  IBM 6186 Programming Manual
  -           SH23-0093  IBM 6186 Guide to operations
  -           SH23-0094  IBM 6186 Hardware, Maintenance and Service

 IBM 9332 Disks.

  -           SA21-9532  Planning Manual
  -           SA21-9533  Installation Manual
  -           SA21-9534  Analyzing Problems Manual
  -           SA21-9535  Reference Code Guide
  -           SY31-0685  Service Guide

 Professional Graphics Series.
  -           SV21-8058  Graphics Development Toolkit
  -           SV21-8059  Plotting System Programmer's Guide
  -           SV21-8060  Graphical File System Programmer/User's Guide
  -           SV21-8061  Graphics Terminal Emulator User's Guide

 Personal graPHIGS.

  -           SC33-8100  Introducing graPHIGS
  -           SC33-8102  Understanding graPHIGS
  -           SC33-8103  Writing Applications
  -           SC33-8104  Subroutine Reference
  -           SC33-8105  Messages and Error Codes
  -           SC33-8106  Installing Personal graPHIGS
  -           SC33-8107  Programmer's Pocket Reference
  -           SC33-8109  Problem Diagnosis
  -           SC33-8110  Technical Reference
  -           SC33-8111  User's Guide for GKS Compatibility
  -           SC33-8112  Subr. Ref. for GKS Compatibility
  -           SC33-8113  Pocket Ref. for GKS Compatibility
  -           SC33-8181  graPHIGS Systems
  -           SC33-8182  graPHIGS User
  -           SC33-8183  graPHIGS API Technical Reference
  -           SC33-8184  Programmer Reference
  -           SC33-8185  GKS Compatibility Opt. User
  -           SC33-8186  GKS Compatibility Opt. Subr. Ref.

 IBM 5080/IBM 6150 Graphics System.

  -           GA23-0132  Problem determination guide
  -           GA23-0274  Operation
  -           GA23-027?  Information Reference Summary
  -           GA23-2005  System operation
  -           GA23-2007  Setup instructions
  -           GA23-2012  Principles of Operation

 IBM 5081 Graphic Display.

  -           GA23-1324  Problem determination
  -           GA23-2001  Problem determination card
  -           GA23-2007  Setup instructions
  -           GA23-2008  Site planning and preparation
  -           GA23-2009  Site planning and installation
  -           GA23-2012  IBM 5080 Principles of operation
  -           SY66-0103  IBM 5081-11 Maintenance Information

Q.18 How to change the 4 MB filesize limit in AIX/RT.

[ I have seen LOTS of complaints that AIX/RT can't handle files over 4 Megabytes in size. - MW ]

The system install default standard ulimit on maximum user file size is 8192 blocks in 512 byte blocks, or 4194304 bytes.

Changing the default ulimit is easily fixed by one of three methods:

  1. Raise the individual user's account default ulimit by adding the filesize field to his password entry. The slash after the username is the size in BLOCKS to set the users ulimit.
       biguser:!:100:100:System Abuser/600000:/u/bigfilesys:/bin/sh
    This field is automatically added by the adduser command when the filesize field is non-blank. This allows setting different filesize limits based on each users login environment.
  2. Add the ulimit command to some place in /etc/rc.include to increase the ulimit of all processes, including daemons.
  3. Raise the entire default ulimit on a global basis. Edit /etc/environment file. Be careful, this is NOT a shell script. Only selected variable assignments are allowed here. Add the following:
    Where #### is the maximum desired filesize in 512 byte blocks. Default value is 8192.
    You must be at 2705 update level or later to be able to change the filesize limits via /etc/environment. Also for ulimit to work correctly for rsh, update 2705 must be installed. NFS 1.1 needs at least update 1110 or later to fix ulimit problems on remote machines.
There is nothing that restricts a filesize on AIX/RT other than the max inode pointer (signed int, 2 GB) OR the filesystem size. Since AIX/RT cannot create filesystems that span volumes (like AIX V3 for 6000's) that is your actual limit on filesize.

Unfortunately, there is a bug in VRM that will not let it address filesystems on SCSI disks larger than 1 GB. Worse, due to the VRM bug, it will wrap the block pointer back to zero, destroying the minidisk partition table, *AND* the first filesystem on the drive. I have never had ESDI drives attached to an RT larger than the 310 MB drive type so I am not sure if this limit is a problem for that driver.

Q.19 How to install a system image from tape.

Here is a 'quick' install setup I got from a IBM tip. However, it does not seem complete to me... I guess that tape is restored from the install/maint diskette, without installing the initial set of 8 disks. Just VRM installed., and using the Install/Maintenance diskette, and selecting the tape drive as the install device. -MW

This procedure assumes you have enough room in /tmp to hold the initial 8 diskette set. Use another temporary work filesystem of your choice for the step 1 area.

HOWTO: Quick Install RT 6150 / 6151

  1. Create an installable AIX 2.2.1 operating system tape. This is quicker to use than loading the 8 diskettes.
       cd /tmp
       restore -xvf /dev/fd0 >
    #  .. load AIX 2.2.1 Base system program disks (PBEX8-PBEY5)
       sed 's/^Mx //' > files.lst
       backup -ivf /dev/rmt0 -pY -C2000 -s4000 -d1000 <files.lst
    (Figures are for a DC300XLP tape - If you use a 6157-001 drive to create the tape, then that tape can be read on either 6157-001 or a 6157-002 drive).
    The undocumented -p can be used to create a packed backup. All files are passed through pack first. This uses less media, but tends to be slower.
    (I also had problems with files bigger than about 1 MB, see later). - MW
  2. Create set of bff (backup format file) images of all software. On a RT with sufficient disk space in /inst.images (say), as root:
       ulimit 200000
       ln -s /inst.images/lpp.install /usr/lpp.install
       ln -s /inst.images/lpp.update  /usr/lpp.update
       mkdir /inst.images/tmp                         # for workspace
       bffcreate -w /inst.images/tmp -v               # for installp files
       bffcreate -w /inst.images/tmp -v -f outfile    # for updates, bos, misc
    bffcreate can only use the specified directories; hence the symbolic links above. installp files are created with names such as em78.01.03

    Submitter: "Andrew J V Yeomans" <ayeomans@VNET.IBM.COM>
    Date: Mon, 25 Apr 94 15:23:44 BST

    This is useful if you are loading several systems; you can make an install tape, which is in backup format, from the installation diskettes. The commands are basically what bffcreate does; except that bffcreate cannot be used on the initial installation floppies. (In principle you could unpack backup format from floppy -> tape without using hard disk in the middle, but it's more than a 1/2 hour hack!)
    Note that the initial installation floppies or tape contain some configuration commands which are executed, and then deleted from the hard disk. I think these play with VRM.
    I've tried making a 'backup' format of a tailored system with extra software, and then using the above process. Some internal IBM notes seem to say it is possible, but it failed for me when I tried to clone a system. My guess is that since the extra configuration was not executed, the copy failed to work. It might work if you use the cvid command to make customised VRM disks, or if you copied the configuration commands from the base installation.
    It seems to work OK on a running system. So I have been cloning systems by loading VRM, loading base AIX 2.2.1 from tape, then restoring a copy of my fully configured system image.

Q.20 How to control the "sound" of the keyboard.

To control the speaker, use the command sound:
   sound -h  # speaker volume high
   sound -m  # ..  medium
   sound -l  # ..  low
   sound -o  # all sound off  (including clicking)
To control the click, use the command sound:
   sound -c  # keyclick on
   sound -q  # keyclick off

Q.21 How to find the machine serial number.

The serial number of the machine processor is unique and can be found with the command uname -m. This number is kept in the ROS on the processor card. Changing the processor card, eg. upgrading to an APC, changes the serial number of your machine.

This is NOT the serial number of the chassis. That serial number is located on the 6150 machines on the top of the case, as well as on the rating plate in the lower back inside next to the keyboard cable plug.

Q.22 How to change which adapter will be the console device.

If you have more than one display adapter installed, which display the system uses as the console is determined by the order in which the VRM lposts (loadable power on self test) are found. There is a file for each device. Most of them are in /vrm/ldlist/posts.

The mvmd command (described under the command installp!) will allow you to specify which display comes up when you IPL your machine. The change will remain in effect until the VRM is reinstalled or modified by another mvmd command.

Assume your goal is to have the IBM 5151 display come up as console, instead of the IBM 6155 display, do the following:

  1. sign on as superuser
  2. make sure you are NOT in the /vrm directory
  3. issue the following command:
       mvmd -m /vrm/ldlist/lpcmod.0000.00 -p /vrm/ldlist/posts
  4. When you IPL again, the IBM 5151 will come up as console.

With a normal VRM install, and both a 5154 (EGA) and a 6154 (advanced color) display in an RT, when AIX boots, the 5154 becomes the console. To cause the 6154 to be the default, do the following: (this is all one command line)

   mvmd -m /vrm/ldlist/posts/lapa8c.0000.00 \
        -f /vrm/ldlist/posts/ldskt1.0000.00
Explanation: The RT PC looks at the /vrm/ldlist/posts directory to determine what display will be the console. Use:
   li -lSx /vrm/ldlist/posts | pg
command to look at the directory. Somewhere in the list you will see the following entries:
   lapa8d.0000.00    (6153)
   llegam.0000.00    (5154)
   lapa8c.0000.00    (6154)
   lapa16.0000.00    (6155)
The order of these entries determines the default display. The mvmd command changes this order. The -f (file) option of the mvmd command is used to specify the position in the directory list. The file specified with the -m option will be moved to a position following the file specified with the -f option.

Use the

   li -lSx /vrm/ldlist/posts | pg
command to view the order in which the displays will be chosen as the console display; then move the desired console display to the front of the list of displays. You can do this by finding the first display in the list, then noting which device is just above that display and using that device with the -f option of the mvmd command.

For example, suppose the

   li -lSx /vrm/ldlist/posts
command returned the following portion of the ldlist directory.
   lapa8d.0000.00 (6153)
   llegam.0000.00 (5154)
   lapa8c.0000.00 (6154)
   lapa16.0000.00 (6155)
   lmpel1.0000.00 (5081)
Then to make the megapel display the default console display, notice that the first display listed is lapa8d.0000.00 (6153). The device directly above that is ldskt1.0000.00, so the command would be:
   mvmd -m /vrm/ldlist/posts/lmpel1.0000.00 \
        -f /vrm/ldlist/posts/ldskt1.0000.00
You must be a member of the system group or operating with superuser authority to run mvmd.

Q.23 How to find out which floating point unit is in use.

The AIX command fptype tells you which type of floating point card you have. It returns 5 different values: In addition to the exit values, it prints a message to stdout.
The information it returns is also available in Virtual Machine low memory location 0xcc. This byte of information is identical to the exit values of fptype. This program will print the value:
   main() { printf("0x%x\n", *(char *)0xcc); }

Q.24 HFT virtual terminal tips and tricks.

You must be at the console to be able to activate a new virtual terminal. Type open xxx and the system will open a new virtual terminal with the xxx Shell, where xxx stands for:
   sh ....... Bourne Shell
   csh ...... C Shell
   dos ...... DOS Shell
   actmngr .. Usability Shell
   xinit .... X-Windows
To move forward from one virtual terminal to another, press the <alt>-<action> keys together.

To terminate a virtual terminal session, hit: <ctrl>-d, or exit that shell program.

By default you can open up to 16 virtual terminals on the console. This can be changed by a kernel value in /etc/master:

at the expense of making the kernel larger.

If the user-profile contains /bin/sh as start-program, then you can log out from the /dev/console, even if you still have virtual terminals open. To avoid this, the program /bin/actman should be defined as start-program in the user-profile: the actman would then take over the control of the different opened virtual terminals. Example of such a user definition in the file /etc/passwd:

(The actman program is located on the Useability Services diskettes.)

You can use a shell script to automate the opening of different virtual terminals on the console:

   PS1="shell#1 > "; export PS1
   open sh
   PS1="shell#2 > "; export PS1
   cd $HOME/dira
   open sh
   PS1="shell#3 > "; export PS1
   cd $HOME/dirb
   open sh
You can use the display command to change fonts on an individual virtual terminal with the -t flag. Each virtual terminal can have a different size font associated with it. This can also be done with colors as well, using the -f and -b flags to set the foreground (text) and background colors on adapters with color capability.

The IBM5151 (XT mono display), while it can be used as a console, and have virtual terminals like the other adapters, it cannot use different size fonts or colors due to the restrictions of the adapter. It CAN use blinking and underlined text, where the other adapters cannot.

The PF keys on the console keyboard can be pre-programmed. The defkey command allows you to assign strings to the keys, save the definitions in a file and retrieve them.

Q.25 How to determine how much real memory AIX has available.

To find out the real memory size, use the crash command:
   $ crash
   > od meminbox # this should give the real memory size in hex
   > q           # to quit
The following C program detects which real memory cards are installed in the RT. It will give how much memory you have in the Slots C and D, and the value of the memory configuration register.
   #include <fcntl.h>

   #define EIGHT   0x4
   #define FOUR    0x0
   #define ONE     0x1
   #define TWO     0x5
   #define NONE    0x7
   #define SLOTC   0x7
   #define SLOTD   0x70

   {   char size, megsc, megsd;
       int busfd;
       if ( (busfd = open("/dev/bus",O_RDONLY)) < 0)
          printf(" bus access failed.\n");
          return 8;
       size= (* (char *) 0xf0008c80);
       switch(size & SLOTC) {
           case EIGHT : megsc = 8; break;
           case FOUR  : megsc = 4; break;
           case ONE   : megsc = 1; break;
           case TWO   : megsc = 2; break;
           case NONE  : megsc = 0; break;
       switch((size & SLOTD)>>4) {
           case EIGHT : megsd = 8; break;
           case FOUR  : megsd = 4; break;
           case ONE   : megsd = 1; break;
           case TWO   : megsd = 2; break;
           case NONE  : megsd = 0; break;
       printf("Slot C has %d MB, slot D has %d MB\n", megsc, megsd);
       printf("Value of memory configuration register is 0x%x.\n", size);
       close (busfd);

Q.26 How to get reverse video on the 6153 display.

You can get a 'temporary' video reverse (white characters on a black background) by issuing the command:
   echo "\033[7m".
You can put this command into the user's .profile, the system's profile, or create a shell script (new command) to invoke it. Putting it in the user's .profile means it will be video reversed for that user only; putting it in the system's profile means it will be video reversed for everyone.

There is no way to change the whole screen since black on white is hard coded into the software.

Q.27 /tmp is too small.

If /tmp is temporarily too small, if you have space in another filesystem (/u for example) and use AIX version 2.1.1 or more recent, just create a directory in the other filesystem called tmp and issue:
   mount /u/tmp /tmp
When you are through, issue:
   umount /tmp
You have to be root for the mount and the umount.

To enlarge the /tmp minidisk permanently, use the following procedure:

  1. Find the IODN of the /tmp minidisk (should be hd3 16388).
  2. Boot with the installation/maintenance diskette.
  3. select the maintenance option.
  4. Use option x to delete the minidisk specifying the IODN.
  5. create a new, larger minidisk using the same IODN.
  6. make a filesystem on the new minidisk.
  7. exit and reboot normally.

Q.28 How to change the cursor type/shape.

Q.29 How to copy diskettes with a single diskette drive.

To copy a diskette on another diskette, use the following shell script:
  echo 'Looping single copy of a source diskette,'
  while  expr "$again" = "y" >/dev/null
  do     echo 'insert source diskette and press ctrl-d to proceed'
         cat >/dev/null
         echo 'Reading...'
         dd if=/dev/rfd0 of=/tmp/diskcopy bs=122880
         if    expr "$?" |= 0 >/dev/null
         then  echo "Input failed $?"
         echo 'Remove source diskette,'
         echo 'insert a new target diskette and press ctrl-d to proceed'
         cat >/dev/null
         echo 'Writing...'
         dd if=/tmp/diskcopy of=/dev/rfd0 bs=122880
         if    expr "$?" |= 0 >/dev/null
         then  echo "Output failed $?"
         echo 'Done!'
         echo 'Another copy (y/n)?'
         read again
  rm /tmp/diskcopy
If you have two diskette drives, this command will copy a 1.2 MB diskette, regardless of its format, DOS or AIX:
   dd if=/dev/rfd0 of=/dev/rfd1 bs=122880
The blocksize (bs) value is copying 8 double sided tracks at once: 8*15*2*512=122880. This is the maximum the floppy driver will handle at once, and is the most efficient for copy operations.
These copies will work, regardless of the format, DOS or AIX.
If the floppy is low density (360K) adjust the bs value and use the /dev/rfd0.9 device names.

Q.30 How to copy a set of DOS files to a AIX filesystem.

A better set of DOS tools is the mtools package. It is easily ported to AIX/RT. With mtools this becomes:
   mcopy a:*.* .

Assuming you have a diskette containing DOS files to be read in an AIX filesystem, change to the target directory and use the following shell script (either interactively or from a stored script):

   for filename in `dosdir | fgrep -v "Free space"`
    f=`echo $filename | tr '[A-Z]' '[a-z]'`
    echo "$filename \c"
    dosread -a $f $f
   echo "\n\ndone!\.n"
   exit 0
Capital letters in the filenames are converted to small.

Q.31 How to run AIX/RT AIXwindows v2.1 and other X11 notes.

IBM AIX/RT AIXwindows V2.1 is a X11R2 base, and if upgraded by the maintenance update 1723 or later, is X11R3.

Starting X-WINDOWS

  1. Login as user (not root).
  2. Open a shell and type:

    or type directly:
       open xinit

Using the mouse

X-Windows was written to support a three button mouse. The IBM RT mouse is a two button mouse. The RT mouse buttons are defined as follows:

Stopping X-Window

Press: <ctrl>-<alt>-<backspace>. This takes you back to the shell you opened.

Remote execution

You can run aixterm remotely:
  1. Type:
       xhost +remote
    #  Or...
       xhost +
    where remote is the name of the remote machine The remote machine can now access your X server. A simple + allows all network hosts to attach X programs to your server.
  2. Start the remote shell with:
       rexec remote aixterm local:0
    where local is the name of the local machine running this X server.
If you want to enable this for the first instance of the X server on a default basis, create and edit the folowing file: /etc/X0.hosts

This file is a simple ASCII file with one line per host name allowed to contact this server on this host, or a plus (+) by itself allowing ALL hosts. This file will allow access to listed hosts for the "0"th instance of the X server. Other X programs on remote machines will know this server as machinename:0.
If you run another X server, at the same time on another virtual HFT terminal, it will be known as machinename:1, etc.. This will require a /etc/X1.hosts file for the number of servers you have running.

Running on a multi-display RT

Use the display command to set the default device, for example, to the megapel; the virtual terminal that xinit opens will then appear on the megapel.
Alternatively, use from the /dev/console:
   xinit -dd 5081 # to start on the megapel
   xinit -dd 6155 # to start on the 6155
This avoids having to bother with the display default. You can edit this specification into your own copy of xinit.

You can have independent X servers running on each display adapter you have attached. Assume you have two displays, a megapel, and a 6155 display, and the megapel is your default console.

   login user 
   open sh            # to get a second virtual term on megapel
   display -d advmono # the 6155 display
   xinit              # x server :0 starts on 6155
                      # input moves to the just started X server on the 6155
   <ctrl>-<action>    # moves input back to /dev/console
   <ctrl>-<action>    # moves input to /dev/hft/0 on megapel
   display -d megapel # to point default back to megapel
   xinit              # new X server :1 starts on megepel
This procedure leaves /dev/console available for console error messages.

Submitter: John F Carr (
Date: 18 Sep 89 06:21:54 GMT

The X server on the IBM RT supports multiple screens (in fact, I have 3 in front of me right now). They can be placed in any order, but only horizontally. I've never felt any desire to have vertical stacking, since I don't stack my hardware. There are runtime options to identify the top and bottom edges of the screen (so that the cursor appears at the bottom after moving off the top), or the right and left edges of the extreme screens. If both options are selected the display is like a torus.

There certainly should be an option to choose the order of the screens (due to limitations of desk space and cable length, the physical order of my screens is restricted, and I want the logical order to match). With the RT X server, the screens are assigned in the order they are listed on the command line. The server lacks a method of assigning numbers to screens independently of right-to-left order; this would be a good addition.

The Xibm multi-screen support is unlikely to change much for R4; I haven't paid attention to any other servers.

Mouse or Tablet

AIXwindows can use a tablet connected to the pointing device port, instead of a mouse. However, the mouse and the tablet are not interchangeable without consequences: Applications that expect to 'warp' the pointer to a window, and have the user operate from that window, will not operate quite like expected. The pointer will 'snap' back to the tablet physical position of the puck on the tablet surface, when moved again. The physical position of the puck on the tablet surface will match the relative position of the cursor on the screen.

If you use the stylus with the tablet, you will only have access to button one, by pressing on the pen point. If you have the four button puck for the tablet, all three buttons are available, and button four is ignored.

The X-Window system does not run on an IBM 5081 display attached to an IBM 5085 control unit. You must attach the IBM 5081 display to the RT via a megapel adapter. The 5085 control unit CAN be used by the CADAM and CATIA software packages.

Q.32 How to recreate a lost+found directory.

In order for the fsck command to be able to rescue lost inodes and files, there must be a lost+found directory in the filesystem.

You should be superuser, with the filesystem mounted, and issue a cd command to the mount point of the filesystem where you want to make lost+found. After it is created the directory must have permissions 755 and be owned by root, group system.

Here is a shell script to re-create a lost lost+found directory:

   mkdir lost+found
   chmod 755 lost+found
   cd lost+found
   for i in a b c d e f g...x y z        #fill in the letters
     for j in a b c d e f g...x y z      #ditto
       echo > $i$j
   rm *
The files are created and then deleted in this directory to cause the directory to grow in size. This is necessary as the fsck command cannot expand this directory while working on a damaged filesystem. Files will from time to time be created here with the filename the same as the inode number when fsck detects a filesystem problem. If you are running out of space in a filesystem and cannot find out where the space is going, check out this directory and clean out the old files.

Q.33 Minidisk tricks and traps.

Restore minidisks names

To restore the names of the user minidisks after a reinstall or when moving a disk drive from one system to another, or somehow 'lost' a minidisk, use the command:
   mdrc -h hdisk#

This command will permanently alter the minidisk information on the referenced drive. Executing this command on a drive that has system minidisks on it (from another system) will render it unusable as a boot device again, as the minidisk names and IODN numbers will now no longer be correct.

Q.34 How to make the backup command default to a longer tape.

The parameter backuplen in the first stanza of /etc/filesystems is initialized for 300 feet tapes. Different cartridges have different lengths and number of available tracks.
The value assigned to backuplen should be the length of the tape (in feet) times the number of tracks.

This value does NOT change the length when using tar or cpio.

Recommendations for 6157-001:


   3M DC 300A     300 feet     9       2700       29 MB
   3M DC 300XLP   450 feet     9       4050       44 MB
   3M DC 600A     600 feet     9       5400       59 MB
Recommendations for 6157-002:

   3M DC 600A     600 feet    15       9000      118 MB
   3M DC 600XTD   600 feet    18      10800      142 MB
   3M DC 6150     600 feet    18      10800      142 MB

Last Update: 20-Oct-2013, M.Kraemer