5 Known Problems and Workarounds
- 1 -
1. Introduction
These notes describe the standard user environment of the
IRIX 5.2 operating system from Silicon Graphics, Inc.
This document contains the following chapters:
1. Introduction
2. Installation Information
3. Changes and Additions
4. Bug Fixes
5. Known Problems and Workarounds
6. Documentation Errors
Appendix A is a discussion of the Challenge/Onyx IO4 PROM.
1.1 Release_Identification_Information
Following is the release identification information for
standard user environment of IRIX 4D1-5.2:
Software Products eoe1 and eoe2
Version 5.2
Product Code SC4-W4D-5.2
1.2 Online_Release_Notes
After you install the online documentation for a product
(the relnotes subsystem), you can view the release notes on
your screen.
If you have a graphics system, select ``Release Notes'' from
the Help submenu of the Toolchest. This executes the
grelnotes(1) graphical browser for the online release notes.
Refer to the grelnotes(1) man page for information on
options to this command.
If you have a non-graphics system, you can use the
relnotes(1) command. Refer to the relnotes(1) man page for
accessing the online release notes.
- 2 -
Note: You can read the online release notes for most
products before installing the software. Refer to
the booklet in your CD-ROM case for more information.
1.3 Product_Support
Silicon Graphics, Inc., provides a comprehensive product
support maintenance program for its products.
If you are in the U.S. or Canada and would like support for
your Silicon Graphics-supported products, contact the
Technical Assistance Center at 1-800-800-4SGI.
If you are outside these areas, contact the Silicon Graphics
subsidiary or authorized distributor in your country.
- 1 -
2. Installation_Information
The IRIX 5.2 Execution Environment products (eoe1 and eoe2)
contain foundation level software that requires a miniroot
installation. Please follow the instructions provided in
the IRIS Software Installation Guide.
The IRIX 5.2 Execution Environment can be installed over any
previous operating system release, such as 4D1-3.3, 4D1-4.0,
4D1-4.0.1, and 4D1-4.0.5, or any of the previous IRIX 5
releases (5.0, 5.0.1, 5.1, 5.1.1.1, 5.1.1.2, or 5.1.1.3).
If you have a clean system with FDDI and Ethernet, e.g. no
networking info like /etc/hosts or /etc/sys_id on the disk,
and you boot miniroot over the net, when you do "from" or
"list" you are asked 2 questions:
What is the name of this system?
What is the network address of ?
It then puts an entry in /etc/hosts with the netaddr
variable from PROM, and with your system's hostname. It
then uses this address to start the FDDI interface. Because
the netaddr was the IP address of the Ethernet interface,
everything is unreachable now.
This can be worked around by:
sh
/usr/etc/netstat -in # to find the names of your interfaces (ipg0/xpi0/etc)
killall routed
route -Fn
ifconfig xpi0 netmask up
ifconfig ec0 netmask up
/usr/etc/routed -q
use ipg0 instead of xpi0 if appropriate and use et0 or enp0
instead of ec0 if appropriate.
2.1 IRIX_5.2_Execution_Environment_Subsystems
The IRIX 5.2 Execution Environment (eoe1 and eoe2) includes
these subsystems:
eoe1.man.dlpi DLPI manual pages
eoe1.man.ppp Point-to-Point Protocol manual
pages
- 2 -
eoe1.man.relnotes IRIX 5.2 release notes
eoe1.man.unix Basic IRIX documentation
eoe1.man.uucp Unix-to-UNIX Copy manual pages
eoe1.sw.dlpi DLPI software
eoe1.sw.gfx_lib Graphics Execution Libraries
eoe1.sw.irix_lib IRIX Execution Libraries
eoe1.sw.ppp Point-to-Point Protocol
Software
eoe1.sw.quotas BSD disk quotas
eoe1.sw.svr4net SVR4 networking
eoe1.sw.unix Basic IRIX
eoe2.books.Diskless_AG Diskless Administration Guide,
accessible using the IRIS
InSight viewer.
eoe2.books.RAID_AG RAID Administration Guide,
accessible using the InSight
viewer.
eoe2.books.SiteAdmin IRIX Advanced Site and Server
Administration Guide,
accessible using the InSight
viewer.
eoe2.man.audit Security audit trail manual
pages
eoe2.man.bsdlpr BSD line printer spooling
utilities manual pages
eoe2.man.cdrom CD-ROM manual pages
eoe2.man.gifts_perl PERL system administration man
pages.
eoe2.man.gltools Graphics Library tools manual
pages
eoe2.man.imagetools Graphics Library image tools
manual pages
- 3 -
eoe2.man.netman Network management manual
pages
eoe2.man.oampkg AT&T packaging utility manual
pages
eoe2.man.slip SLIP manual pages
eoe2.sw.acct System accounting
eoe2.sw.audit Security audit trail software
eoe2.sw.bsdlpr BSD line printer spooling
utilities
eoe2.sw.cdrom CD-ROM software
eoe2.sw.cdsio Multiport serial board support
eoe2.sw.crypt Security administration
utilities
eoe2.sw.gifts_perl PERL Software
eoe2.sw.gltools Graphics Library tools
eoe2.sw.ikc Ikon printer interface
eoe2.sw.imagetools Graphics Library image tools
eoe2.sw.ipgate Contains additional network
routing daemons for systems
with multiple network
interfaces (gateways). The
gated(1M) routing daemon
supports RIP, EGP, and HELLO
routing protocols. The
mrouted(1M) daemon allows
forwarding of IP multicast
packets between networks. The
ipfilterd(1M) daemon can be
used to filter IP traffic.
The subsystem also contains
the traceroute(1M),
rtquery(1M), and ttcp(1)
tools.
eoe2.sw.kdebug Kernel debugging modules.
eoe2.sw.lp Line printer spooling
utilities
- 4 -
eoe2.sw.named Berkeley Internet name domain
server
eoe2.sw.netman Network management support
eoe2.sw.oampkg AT&T packaging utility
eoe2.sw.perf Performance measurement
utilities
eoe2.sw.rcs Revision control system
utilities
eoe2.sw.rfindd rfind server utilities
eoe2.sw.rm_media Contains the mediad(1M) daemon
that keeps track of removable
media devices such as CD-ROMs
and floppy disks.
eoe2.sw.sccs Source code control system
utilities
eoe2.sw.slip SLIP software
eoe2.sw.spell Spell utilities
eoe2.sw.tcp TCP/IP networking support
eoe2.sw.terminf Terminal information utilities
eoe2.sw.uucp UUCP utilities
eoe2.sw.xm Xylogics 1/2-inch tape support
- 1 -
3. Changes_and_Additions
3.1 General_OS_Feature_Changes
The following features are new or significantly changed
since IRIX 4.0:
o Power Series, Crimson, and Challenge/Onyx L/XL systems
automatically reboot after a kernel panic. Other
systems, such as the Personal IRIS, IRIS Indigo,
Indigo2, and Indy still wait for a system reset. The
default can be overridden by altering the
``reboot_on_panic'' variable with systune(1M). This is
no longer dependent on the AutoLoad NVRAM variable.
o As of 5.0.1, IRIX executes binaries that comply with
the MIPS Application Binary Interface (ABI).
o As of 5.0, SCSI devices created by inst and MAKEDEV use
different major and minor numbers from those in
previous releases. If you have created your own SCSI
devices, you should create new ones based on the new
major and minor numbers. Currently, the old major and
minor numbers will still work, but in a future release
the major numbers may be reclaimed. Typical uses for
user created devices would be ones like /dev/8mm, which
might be a link to /dev/rmt/tps0d6nsv (assuming that an
8mm tape drive is device 6 on SCSI bus 0), or /dev/d,
which might be a link to /dev/dsk/dks0d2s7 (assuming
that partition 7 of drive 2 on SCSI bus 0 has the
filesystem mounted at /d).
o Shadow passwords
As of IRIX 5.0.1, shadow passwords can be enabled at
the discretion of the system administrator. Enabling
shadow passwords removes the encrypted passwords from
/etc/passwd and keeps them in a separate file that is
readable only with superuser privilege. This makes the
system far less vulnerable to dictionary attacks and
brute force attempts to decrypt system passwords.
Refer to the manual page for pwconv(1M) for information
on converting an IRIX 5.0.1 or later system to use
shadow passwords.
o /etc/passwd and GECOS field
The IRIX5 login(1) command no longer supports the
optional pri=# subfield of the GECOS field of
- 2 -
/etc/passwd entries. The GECOS field contains
information which is typically used by finger(1), such
as the user's real name and phone number. IRIX4
supports a GECOS subfield of the form pri=#NN, where NN
is a numeric value which gets passed to nice(1). IRIX5
ignores this subfield.
o Login configuration
In IRIX 4.0, a number of options could be selected to
control the behavior of the login(1) program. These
options were set by modifying the file
/etc/config/login.options. Starting with IRIX 5.0.1,
the configuration of the login program is done by using
the file /etc/default/login, which is the SVR4 method
for specifying login configuration options.
Administrators must take care to ensure that when a
system is upgraded from IRIX 4.0 to IRIX 5.0.1 or
later, the login configuration settings are transferred
to the new configuration file. Refer to the login(1)
manual page for more information.
o /etc/inetd.conf update
When updating to IRIX 5.2, /etc/inetd.conf must be
modified to enable tftp access and/or allow bootp
forwarding if the system:
- has software distribution directories
- has a CD-ROM drive used by other people for
software installations
- is a router (i.e., has multiple physical network
connections and performs IP datagram relaying)
The standard /etc/inetd.conf is not configured for
these situations. Systems will get the standard
/etc/inetd.conf when they are updated. Administrators
often forget that inetd.conf was modified a long time
ago, so their installations will fail. Directions for
modifying /etc/inetd.conf are in Chapter 3 of the IRIS
Software Installation Guide. (For Indy users, this
guide must be obtained separately.)
o System audit trail facility from Trusted IRIX/B
The audit subsystem, when enabled, records logs of all
security-relevant actions of all programs and users on
the system. Tools are provided to examine and analyze
the system audit trail. As of IRIX 5.0.1, the audit
- 3 -
subsystem is bundled at no additional cost. For
information about the system audit trail, refer to the
manual pages for satd(1M) and sat_select(1M).
o Swap to files
Starting with 5.0.1, IRIX can use files in a filesystem
as additional swap space. Both local (EFS) and remote
(NFS) swap files are supported. This provides
significantly more flexibility in configuring swap
space than previous releases of IRIX, which could use
only raw partitions for swapping. Refer to the
swap(1M) manual page for more information.
o Virtual memory accounting
In IRIX 4.0, it was possible to configure the way in
which the kernel did accounting for allocation of
virtual address space by setting a kernel configuration
parameter called availsmem_accounting. There are two
important changes in this behavior starting in IRIX
5.0.1: the default behavior is now the opposite of the
default in IRIX 4.0, and the method to configure the
system for behavior other than the default is
different. The availsmem_accounting kernel parameter
does not exist starting in IRIX 5.0.1. As of 5.0.1,
IRIX behaves by default as IRIX 4.0 did when
availsmem_accounting was set to be 'true' (not zero).
In this mode, the system preallocates backing store
(RAM memory or swap space) for all virtual space at the
time the space is initially requested by a process. To
allow a process to fork(2), the system must be able to
reserve enough physical memory and swap space to hold
two complete copies of the process, even though all the
pages are actually shared copy-on-write at the time of
the fork.
It is still possible in IRIX 5.0.1 and later to get the
same behavior that was the default in IRIX 4.0
(availsmem_accounting set to zero), but the method is
different. If programs on a system allocate much more
virtual space than they ever actually use, the
technique for allowing this without having to create
prohibitively large swap spaces is to use the new
concept of virtual swap space. When additional swap
space is added using swap(1M), it is possible to cause
the system to consider the size of the swap file for
accounting purposes to be larger than it actually is.
Refer to the swap(1M) and swapctl(2) manual pages. You
can enable or disable the default use of virtual swap
space using chkconfig(1M) with the command:
- 4 -
chkconfig vswap on
or
chkconfig vswap off
If enabled, blocks of virtual swap space are added.
The file /etc/config/vswap.options declares the
specific number of blocks to be added, with a default
of 80,000 blocks. Virtual swap is enabled by default
for Indy, and disabled by default for all other
platforms.
However, IRIX 5.0 and some pre-release versions of
5.0.1 had virtual swap enabled by default for all
platforms. If you install 5.2 over one of these
releases, then virtual swap will remain enabled until
you choose to use chkconfig(1M) to explicitly disable
it.
o Clock processor
Starting with IRIX 5.2, the default clock processor on
multiprocessor machines will be processor one.
o As of 5.0.1, IRIX includes several enhancements to the
system process scheduler, including deadline
scheduling, efficient gang-scheduling, processor
affinity, and virtual processor sets. Refer to the
manual pages for pset(1M), ps(1) (-c option),
schedctl(2), and sysmp(2) for further information.
o Loadable kernel modules
As of 5.0.1, IRIX can load kernel device drivers and
STREAMS modules at run time. This means that it is
possible to add a device driver or STREAMS module to
the kernel without having to relink the kernel and
reboot. This is useful for drivers that are used only
infrequently. Refer to the manual pages for ml(1M),
lboot(1M), and mload(4) for more information about
loadable kernel modules.
o Autoconfig
In IRIX 5.0.1, the autoconfig startup script was moved
up in priority among the /etc/rc2.d startup scripts,
from S95autoconfig to S23autoconfig. This is necessary
so that autoregister, which registers loadable kernel
modules, can run earlier and register all loadable
modules that might be required by other startup
- 5 -
scripts. A new option, -T, was also added to lboot
that tells it to configure the kernel automatically,
without prompting for permission. The -t option can be
used to tell lboot to prompt for permission before
configuring a new kernel, as in previous IRIX releases.
This option is specified in the
/etc/config/autoconfig.options file, which is read by
the autoconfig script. The default option is -T.
Refer to the autoconfig(1M) manual page for more
information about the autoconfig script. Refer to the
the mload(4) manual page for more information about
autoregistering loadable kernel modules.
o Dynamic kernel tuning and configuration
As of IRIX 5.0.1, a new system utility, systune(1M), is
provided that allows tuning and configuring the kernel
without the need for editing kernel configuration
files. systune also allows you to change some kernel
tuning and configuration parameters while the system is
running. The kernel can also configure itself
automatically at boot time, based on the physical
characteristics of the system. For example, the number
of entries in the system process table (NPROC) is now
derived from a formula based on the amount of memory in
the system. Starting in release 5.2, the number of
entries in the process table (which is the maximum
number of processes that can exist in the system at any
given time) is:
NPROC = 30 + (memory size in 4096-byte pages)/60
Or, 30 plus approximately 68 processes for every 16 MBytes.
If the number computed by the formula is not
satisfactory, it can still be overridden by the system
administrator with systune(1M). Platforms other than
Challenge/Onyx are limited to NPROC <= 3000, and
Challenge/Onyx are limited to 10,000.
o As of 5.1, IRIX supports the fd filesystem. Refer to
the fd(4) manual page for information.
o System V Release 4 (SVR4) Networking Support
- Supports a STREAMS TPI module, which maps
STREAMS/TLI operations into the Silicon Graphics'
BSD-style TCP/IP protocol stack. This module
supports /dev/tcp, /dev/udp, /dev/raw, and
/dev/ip. It supports an SVR4 STREAMS module for
loopback devices: /dev/ticlts, /dev/ticots, and
/dev/ticotsord.
- 6 -
- Supports SVR4 STREAMS modules: sockmod, timod,
and tirdwr.
- Data Link Provider Interface (DLPI) support
The DLPI is a kernel level interface, based on the
STREAMS development environment. The current
implementation is a style 2 Data Link Service
(DLS) provider and is based on the Revision 2.0.0
specification. Further information can be found in
the manual page dlpi(7).
- Supports both Transport Independent RPC and Sun
ONC RPC for user programs. The kernel still uses
ONC RPC for kernel RPC services.
o IRIX 4.0 object file compatibility
Almost all object programs compiled and linked on IRIX
4.0.1 or later run without change on IRIX 5.0.1 or
later. The only exceptions are programs that access
the /proc or /debug filesystem through the ioctl(2) or
fcntl(2) interfaces, and programs that read kernel
memory through /dev/kmem and assume any knowledge of
kernel internal data structures.
o The Bourne shell (sh) has been changed to disallow it
from being a setuid or setgid program under most
conditions. Refer to the sh(1) manual page for
details.
o As part of the directory reorganization intended to
allow /usr to be shared as a read-only filesystem, the
inst history has moved from /usr/lib/inst to /var/inst.
o As of 5.0.1, IRIX includes version 5.6 of RCS, the
Revision Control System, which supports binary files,
faster checkout of old versions, flexible keyword
expansion, setuid capability, compatibility with
previous RCS versions, and numerous other features.
GNU source is included; see RCSsource(5).
o As of 5.0.1, IRIX includes a new command, called
rfind(1), which is a fast client-server adaptation of
the find(1) command. Multiple clients can efficiently
search large server file systems in seconds for files
matching a Boolean expression. The small client
command, rfind(1), is installed by default. The server
daemons rfindd(1M) and fsdump(1M), which typically
increase disk space requirements on the server by 1% to
2%, are optionally selected.
- 7 -
o As of 5.0.1, IRIX includes version 1.15 of GNU diff(1),
which is upward compatible with the diff included in
previous releases of IRIX, and has added support for
context diffs, unified output format, diff'ing binary
files, improved performance, and other GNU-derived
options. GNU source is included; see DIFFsource(5).
o As of 5.0.1, IRIX includes version 4.1 AT&T UNIXr
System V Release 4 software packaging tools. These
tools are not used by SGI to package its software.
o The scanner command has been retired. The gscan
command replaces it.
o Man Pages
- Fonts of Manual Pages Changed to SVR4 conventions
As of IRIX 5.0.1, many of the manual pages have
been converted to the SVR4 font and formatting
conventions. To get the best readability when
viewing these manual pages on a terminal or
terminal emulator, it is recommended that the ul
-b command be used in place of ul in the PAGER or
MANPAGER environment variables. The man(1)
command has been modified to supply this option
automatically, if neither PAGER nor MANPAGER is
defined. Refer to man(1) for more information.
- Additions to the MANPATH environment variable
If you set the MANPATH environment variable, add
two new directories to look for manual pages:
/usr/share/catman and /usr/share/man. These two
new directories should be searched before the
/usr/catman and /usr/man directories to ensure
that the newer manual pages are displayed first.
The man(1) command has been modified to search
/usr/share/catman, /usr/share/man then /usr/catman
and /usr/man, if MANPATH has not been defined in
your environment. Refer to man(1) for more
information.
o Basename changed to binary file
The basename command has been changed from a shell
script to binary file. The previous manual page for
basename(1) presented an example with '\.', which is
incorrect and is no longer supported by basename. If a
backslash is used, undesired results might be returned.
Refer to basename(1) for more information.
- 8 -
o Changes to syslogd
syslogd output has an additional field that gives
priority and facility codes. This additional
information should be very useful to programs/filters
that parse this file. See the syslogd(1M) man page for
an example of the new format and information about the
priority and facility codes.
Also, syslogd filters can now access the priority,
facility, and hostname of the filtered message via
environment variables. This change does not affect
previously written syslogd filters. See syslogd(1M).
Both of these changes were made for the sysmon (System
Monitor) System Error Reporting product. The change to
the SYSLOG file format enables a System Log Viewer,
sysmon(1M), to display messages via priority. The
addition of syslogd(1M) environmental variables were
made for syserr(1M), a program that gives you desktop
notification of critical system errors. A new filter
was added to /etc/syslog.conf, sysmonpp(1M), that
launches syserr(1M).
o As of IRIX 5.1, the libc resolver routines and
nslookup(1C) have been updated to the BIND 4.9 release.
The name server, named(1M), was not updated; it remains
the 4.8.3 version. In addition, the resolv.conf(4)
file is now expected to be in the /etc directory,
though for backwards compatibility the resolver
software looks in the old location, /usr/etc, if it
can't find it in /etc.
o The location of the standalone diagnostics on the CD
(not the installed location) has changed for most
system types. They are no longer located in the volume
header of the CD, nor in the dist/sa file. Instead,
they are located in the stand subdirectory of the root
directory of the CD. For some newer systems, the
diagnostics may be booted from the CD by choosing the
Run Diagnostics menu choice. If that does not work,
then for all system types they may be booted with the
following command (assuming that the CD-ROM drive is
located on SCSI bus 0 at ID 4), from the Command
Monitor menu choice at system boot:
>> dksc(0,4,8)sashARCS dksc(0,4,7)stand/ide.IPXX
for system types IP19, IP20, and IP22,
>> dksc(0,4,8)sashIPXX dksc(0,4,7)stand/ide.IPXX
- 9 -
for IP12 and IP17 systems (note absence of a period in
this and the ARCS case in the sash portion), and
>> dksc(0,4,8)sash.IPX dksc(0,4,7)stand/ide.IPX
for all other system types (where X and XX are replaced
with the number matching the system type). See the
IRIS Software Installation Guide for information on
determining your system type.
Note: Some system types may not have diagnostics
present on the Execution Environment CD; contact
your Support Center for information about these
systems.
o Newer systems (IP19, IP20, and IP22; see your IRIS
Software Installation Guide for determining your system
type) use a new form of the sash and fx standalone
programs and have a graphical interface at system boot.
sash and fx generally have the suffix (on the
installation media) ARCS, rather than IPXX (where XX is
the CPU type). If you use Command Monitor commands to
load the miniroot during installation (described in
Section 7.1 of the IRIS Software Installation Guide),
or if you need to boot the standalone fx program, the
suffix will be visible. For example, assuming CD-ROM
installation media, with the CD-ROM drive at SCSI ID 7,
you can boot fx as follows:
>> dksc(0,7,8)sashARCS dksc(0,7,7)stand/fx.ARCS
o As of 5.2, IRIX supports multiple major numbers in
master files. The following master files were changed
to support multiple major numbers: dksc, ds, ptc, pts,
smfd, tpsc and xylipi. This made it possible to remove
the following master files: dksc[0-3], ds[0-4], jag[0-
7], jagds, jagtape[0-7], jagtapestat, ptc[1-4], pts[1-
4], smfd[0-3], tpsc[0-3], tpscstat and xylipi[1-3].
Similarly, the following archives: dksc*.a, ds*.a,
jag*.a, jagtape*.a, jagds.a, ptc*.a, pts*.a, smfd*.a,
tpsc*.a and xylipi*.a have been replaced with the
following objects: dksc.o, ds.o, jag.o, ptc.o, pts.o,
smfd.o, tpsc.o and xylipi.o.
o sproc processes can now run on isolated processors, on
MP systems. See realtime(5).
- 10 -
3.2 Fonts_and_Font_Management_Changes
o Fonts
The bitmap fonts Screen, Screen Bold, Iris, Type, and
Rock have been extended from the ASCII to the ISO
8859-1 character set.
The bitmap fonts Haeberli (haeberli*), Rock (rock*),
Hebrew (heb*), Charter (char*), all Utopia (utop*)
bitmap fonts except Utopia Regular (utopR*), and all
Lucida (lu*) bitmap fonts except Lucida Typewriter
(lut*) are no longer installed by default. They have
been moved from the subsystem x_eoe.sw.Xfonts, to a new
subsystem called x_eoe.sw.Xoptfonts. The new subsystem
is not installed by default. This change was made to
reduce the disk storage requirements for those font
files which are installed by default.
o IrisGL Font Manager
The IrisGL Font Manager (FM) makes it easier to write
those IrisGL and mixed-model programs which need fonts.
The IrisGL FM now consists of:
/usr/lib/libfm.so /usr/lib/libfm.so is a new type of
shared library that was introduced
in IRIX 5.0. It should be used when
you develop new programs.
/usr/lib/libfm_s /usr/lib/libfm_s is the same type
of static shared library that was
shipped before IRIX 5.X. It is used
to run some IRIX 4 programs that
were linked with shared libraries
(including the IRIS FM shared
library) on IRIX 5 systems.
/usr/lib/libfm_s.a /usr/lib/libfm_s.a is a symbolic
link to libfm.so. It is provided to
avoid breaking old Makefiles that
still have the option -lfm_s
specified on their compile-and-link
command lines. When you specify
that option, the linker tries to
link your program with
/usr/lib/libfm_s.a. It now links
your program with
/usr/lib/libfm.so. In IRIX 5.0 and
later, use the option -lfm to link
your program with
- 11 -
/usr/lib/libfm.so. The file libfm.a
is no longer shipped, because it is
no longer needed.
/usr/lib/libfm.so and /usr/lib/libfm_s are installed
when you install the subsystem eoe1.sw.unix.
/usr/lib/libfm_s.a is installed when you install the
subsystem gl_dev.sw.gldev.
For more information about fonts and font management,
see the chapter "Working with Fonts" in the InSight
book the IRIX System Programming Guide. If you install
InSight and the specified book, you can display the
contents of that book on the screen of your video
monitor, search for the information you need, and print
that information.
The Section "Adding Font and Font Metric Files" in the
chapter "Working with Fonts" talks about inserting an
entry in the file /usr/lib/X11/fonts/ps2xlfd_map when
you add a bitmap or outline font. If you add your own
(local) fonts, you should put entries for those fonts
in a file called /usr/lib/X11/fonts/ps2xlfd_map.local.
If that file does not exist, login as root, and create
it. That way your entries for local fonts will not
disappear when you upgrade the system software on your
machine. You can now use tabs when you edit
ps2xlfd_map* files. Those files are used by the X
Window System to convert PostScript font names to X
font names, and they are used by the IrisGL Font
Manager to convert X font names to PostScript or short
font names.
Similarly, if you want to specify your own (local) font
aliases in an X font directory that already contains a
file called fonts.alias, you should specify them in a
file called fonts.alias.local. If that file does not
exist, login as root, and create it. That way your font
aliases will not disappear when you upgrade the system
software on your machine.
The IrisGL FM has a path that it searches when it looks
for bitmap fonts. The default for this font path is
now
/usr/lib/X11/fonts/100dpi:/usr/lib/X11/fonts/75dpi:/usr/lib/X11/fonts/misc.
You can use the environment variable FONTPATH to
specify a different font path. Alternatively, you can
use the font management function fmsetpath() to specify
a different font path for the IrisGL FM. The IrisGL FM
also uses outline font files in Type 1 format stored in
the directory /usr/lib/DPS/outline/fonts. The path for
- 12 -
outline fonts cannot be modified. The IrisGL FM no
longer uses the directory /usr/lib/fmfonts.
3.3 Internationalization_related_Changes
o Internationalization
As of 5.0.1, IRIX includes support for XPG/3, MNLS, and
X11R5 internationalization interfaces. Full
setlocale(3) support is provided. The C shell
(previously a problem) has been fully
internationalized. The size of wchar_t (wide
character) is 4 bytes.
- Internationalized commands
There are (at least) two levels of
internationalization support when considering
commands. First, a command is brought to the
point where it functions correctly no matter what
the locale is, for example, if you want /bin/echo
to work if asked to echo Kanji. For purposes of
this document, call this first-pass
internationalization. The second level allows a
command's behavior to be locale-dependent. This
includes language-specific diagnostic messages,
language-specific UI, culture-specific formatting
of various output data, and so on. Call this
complete internationalization.
Although many commands in IRIX 5.0.1 and later
have been internationalized to one of the two
levels mentioned above, others have not but are
planned for the future. SGI has attempted to
ensure internationalization of important commands.
Among the commands with first-pass or complete
internationalization are: basename, cal, cat,
chmod, chown, chroot, clear, comm, cp, crypt, csh,
csplit, cut, date, dircmp, dirname, du, echo,
false, fgrep, file, find, gencat, getopt, gettxt,
grep, head, join, kbdload, kbdpipe, kbdset, kill,
killall, ln, login, logname, lp, lpstat, ls, mail,
makekey, mesg, mkdir, mkmsgs, mknod, mv, mvdir,
nl, nohup, od, pack, passwd, passwd_gen, paste,
pfmt, pg, printf, ps, pwconv, pwd, rm, rmdir, sh,
sleep, sort, split, srchtxt, strings, stty, su,
sum, sync, sysinfo, tail, tee, test, time, touch,
tr, true, tty, uname, uniq, unpack, vi, wall, wc,
wchrtbl, whereis, who, whoami, and write.
- 13 -
- Keystroke Composition
Under X, IRIX 5.0.1 and later releases allow users
to generate characters that are not present on a
keyboard by using sequences of other keys.
Composition is performed via the Multi_key X
keysym, which designates the ``compose'' key. To
remain compatible with the IBM PC/AT layout, the
default IRIX keymaps do not specify a compose key,
but you can add one with xmodmap(1). For example,
to make the key behave as
``compose,'' use the command:
xmodmap -e "keysym Scroll_lock = Multi_key"
Composition is regulated by compose tables, which
may vary from locale to locale or from user to
user. A typical composition for, say, the letter
N-tilde might be , , <~>.
Composition sequences are intended to be
intuitive.
3.4 Graphics_related_Changes
o The OpenGL is now supported on systems with
RealityEngine graphics. It passes Level 0 of the
conformance tests and most of the balance of the test
suite. Refer to chapter 5, ``Known Problems and
Workarounds,'' for a list of the limitations of the
OpenGL implementation.
The IRIS GL now supports new image processing features:
- Calls to allocate framebuffer space (the ILbuffer)
to be used as image storage/cache and use it as
the source or destination of drawing and pixel
transfers. Note that this is not exactly the same
as the AUXbuffers in OpenGL.
- Modifications to texture loading. Texture memory
represents a warpable, wrappable image store with
very fast fill and resampling (image rotate, zoom,
and copy) rates. The modifications allow raster-
order load of image data to texture memory with
most pixmode and pixel transfer operations, and
loading sub-images into texture memory. This is
the basic tool that, along with texture coordinate
wrapping, also allows fast panning over a large
image.
- 14 -
The source for the image data can be either host memory
or the framebuffer.
o Operators on pixel transfers (lrectwrite, rectcopy,
lrectread). The operations are:
Convolve 3x3, 5x5, 7x7, separable and general
Lookup tables
Image statistics: hgram and minmax
o You can transfer a single component of a framebuffer
(ABGR) image so that image storage is extended by a
factor of 4.
o Several OpenGL-like commands were added to pixmode,
primarily CPM_INPUT_TYPE, PM_INPUT_FORMAT,
PM_OUTPUT_TYPE, PM_OUTPUT_FORMAT.
o The IRIS GL man pages that are new or changed are:
convolve, fbsubtexload, gethgram, getminmax, hgram,
ilbuffer, ildraw, istexloaded, minmax, pixelmap,
pixeltransfer, pixmode, readcomponent, readsource,
subtexload, texbind, texdef, texdef2d.
3.5 Hardware_dependent_Changes
2
o Indigo and Indy use keyboards that are electrically
compatible with standard PC style devices and use a
different scan c2de set from other 4D systems. In IRIX
4.0.5H on Indigo , PC scan codes were converted to
SGI-compatible scan codes to maintain strict2binary
compatibility. Starting in IRIX 5.1, Indigo and Indy
use PC scan codes directly, which allows support for
keyboards with different layouts. This causes
applications that use scan codes directly (for example,
X11 keycodes instead of Keysyms, or IRIS GL macros
prefixed with KB_) to interpret keyboard input
incorrectly.
2
o The R4000 Indigo and Indigo now support up to 384 MB
of RAM.
o The following printers are no longer formally
supported:
- Mitsubishi G500
- Tektronix 4692, 4693D
- 15 -
- Versatec ECP-42
- Seiko CH-5312, CH-5303, CH-5504, CH-5514.
- Kodak SV6500, XL7700
However, the unsupported software required to drive
these printers is (temporarily) still shipped with
eoe2.sw.lp. This software will be obsoleted in future
releases, so do not rely on it for future releases. To
enable the unsupported software, type the following
command:
su lp ; cp /var/spool/lp/model/OBSOLETE/centface /var/spool/lp/model
o As of 5.0.1, IRIX includes a new user-level interface
for mapping VME bus address space into a user program's
address space. In the past, this was done by mapping
magic addresses in the special file /dev/mmem. The new
interface provides a separate special file for each VME
bus, address space, and modifier located in the
directory /dev/vme. You now specify the address of the
VME device as an offset into the special file. Further
information can be found in the manual page usrvme(7M)
and the IRIX Device Driver Programming Guide.
o IRIX 5.1 merged the jagtape and tpsc tape drivers into
one driver. Tape devices connected to the Interphase
Jaguar and Cougar VME SCSI buses are still accessed
through the special files /dev/[r]mt/jag*. However,
there is no longer a jagtape module that can be
included in the system file /usr/sysgen/system/irix.sm.
o As of 5.2, IRIX does not support RAID level 5 (see
raid(1M) and usraid(7M)).
o As of 5.0.1, the RAID administrative program, raid(1M),
checks for mounted filesystems on a RAID before
attempting a destructive operation. It accurately
determines that a filesystem exists in a partition on a
RAID, but it might not accurately report that that
filesystem is mounted. Take warnings that a filesystem
exists in a partition on a RAID seriously; check that
the indicated filesystem is not mounted before
proceeding.
o Mediad
Mediad replaces cdromd and msdosd. It is a single
daemon that does the disk mounting operations that
cdromd and msdosd previously did. Mediad also
- 16 -
communicates the status of the removable media device
and the media they may contain to Cadmin (the new
system administration interface in the Indigo Magic
Desktop).
o Limited support for SyQuest disk drives has been added.
SyQuest disk drives are only supported for HFS
(Macintosh) file systems. See section 5 for further
information.
3.5.1 Special_R4000_support
o Recently a potential problem in the R4000 CPU, versions
2.2 or 3.0 with secondary cache, was discovered in the
integer divide instructions. Under some complex
conditions, the integer divide instructions may return
the wrong result. This includes instructions: div,
divu, ddiv, and ddivu.
This version of the R4000 CPU is shipped in Crimson,
Indigo, Indigo2, and Indy (with a secondary cache
option). Challenge/Onyx L/XL systems do not use this
version. Systems without a secondary cache do not
exhibit this problem.
If the customer has a program which does not behave
correctly, this problem can be eliminated by following
the instructions below.
The first case requires these conditions: a divide as
the last instruction on a page, with a TLB miss (page
fault) taken on the following instruction, plus an
instruction cache miss, plus a certain bit pattern in
the displaced Scache line. An OS workaround has been
installed to prevent this case, by managing TLB entries
as page pairs. This workaround is automatically
performed on all 2.2 and 3.0 CPU versions (see hinv to
determine CPU version).
The second case requires these conditions: a divide in
the delay slot of a taken branch instruction, where the
target instruction gets a TLB miss (page fault), and an
instruction cache miss, plus a certain bit pattern in
the displaced Scache line. A workaround has been
installed in the 3.17 (and later) compiler tools; they
do not place integer divides in delay slots. IRIX 5.2
ships with 3.18 compiler tools.
Additionally to cover the second case for programs
generated by earlier compiler tools, a utility is
provided which will patch a binary to remove integer
- 17 -
divides from delay slots. This is the r4kpp utility.
In this release, this utility can add code to COFF
a.outs and _s static shared libraries only. Added code
is placed in the .init section, together with a table
of patch addresses and values. At exec() time, the OS
will decide to install the patches in the .text
section, dependent upon the R4000 version, and the
setting of a kernel variable r4k_div_patch.
o To instruct the kernel to test for, and possibly
perform patching, set the kernel variable
r4k_div_patch to value 1. To disable patching,
set it to value 0. This is performed with
systune:
su
systune -i
r4k_div_patch # 0 means no patch, 1 means test for patch
r4k_div_patch 1 # set it to 0 or 1
(reboot as it instructs)
o The r4kpp utility is used as follows:
r4kpp, with no options, reports occurrences of
problem divides in delay slots. Each such case
causes a line to be output, for example,
PROBLEM: adr=0x00469658 br/div=0x156d0034 result=0x00469658 (PATCHABLE PROBLEM)
r4kpp, when invoked with -repair, generates a
patch table and attaches it to the end of the
.init section. The .text section remains
unchanged. The kernel applies the patch when the
program is being loaded, at exec() time. The
column called "patched", in the row called
"br/div", shows the number of patches performed.
It must match the number in the column called
"problems". You can see the results with this
command:
odump -s -n .init file
If a previous patch exists, r4kpp will not patch
anything unless the -force option is specified.
The previous patch is always removed before a new
patch is generated. Therefore, an old patch may
be removed by running r4kpp with -noidiv and
-force.
A permanent patch may be obtained by using the
-perm option. In that case, the patch is applied
- 18 -
to the .text section directly and permanently.
This avoids the kernel overhead at runtime, but
the change cannot be reversed.
Note that r4kpp scans and patches only COFF files.
--------- example --------
r4kpp ~/bin/* # scan for problems
r4kpp -repair ~/bin/* # generate patches
--------- man page -------
r4kpp [-idiv] [-repair] [-report] [-summary] [-perm] [-force] files
-idiv Search for idiv in branch delay slot problems.
-report Print info on each file that has problems.
-repairidiv Generate a patch table in .init section for the br/idiv
problem.
This _NEVER_ modifies code in the text section!
If a patch table exists, then no change is made.
-repair A shortcut for -repairidiv.
-perm Applies the patches generated by -repair to the
executable. If -repair is set, new patches are calculated
If -norepair is set, then ignore. The change is permanent
and cannot be undo by subsequent r4kpp runs.
-summary Prints statistics of the search.
-force Clean out old repair code from .init section,
and generates new patch code for the idiv problems.
In addition all options have a -no version.
The default is -idiv, -norepair, -report, -noforce, -summary.
3.5.2 Challenge/Onyx_Platform_Support
o IRIX 5.2 expands support for Challenge/Onyx L/XL
multiprocessor systems. Supported hardware
configurations include:
- 1 to 36 processors, and up to 2 gigabytes (2048
megabytes) of physical memory.
- 1 to 4 IO4 boards.
- Built-in hardware interfaces in each IO4: ethernet
(ethernet(7)), 3 RS-232 serial ports (duart(7),
serial(7)), and 1 parallel port (plp(7)). Built-
in hardware interfaces in expansion IO4s: ethernet
(ethernet(7)). Serial ports and the parallel port
in expansion IO4s are not yet supported in IRIX
5.2.
- 19 -
- 1 to 8 SCSI buses in each IO4 board.
- Up to 5 VME buses supporting the following VME
devices: 4 CDSIO 6-port serial boards (cdsio(7)),
4 EFast Ethernet expansion interfaces (fxp(7)), 4
FDDI boards (ipg(7)), and 6 Jaguar boards
supporting 2 SCSI buses each (jag(7)).
o The software license serial number on Challenge/Onyx
L/XL systems has a binary compatibility problem for
4.0.5 binary programs. Programs normally retrieve a
32bit unique identifier using either sysid(3C), or
sysinfo(SI_HW_SERIAL), or sysinfo() -s. The problem
occurs because 4.0.5 binary programs have compiled into
them the library function which computes the 32 bit
value with a hash function, and this hash function
requires an update for Challenge/Onyx. Once a program
is re-compiled under 5.x, it uses the updated library
function.
The 5.x sysinfo -s 32 bit unique identifier is indeed
unique across all SGI platforms. However the 4.0.5
program will calculate a value which is different than
5.x, and is not always unique.
To aid in software licensing for 4.0.5 programs, an
option is added to sysinfo(1), the -o argument, which
calculates the 4.0.5 32 bit identifier.
o Configuring IO4 Serial and Ethernet ports
Serial and ethernet ports present in IO4 are configured
using VECTOR lines in the irix.sm file. These lines
specify mapping between the logical unit number of the
device and the actual hardware. The default system
configuration has VECTOR lines that map serial and
ethernet ports on Master IO4 to be ttyd1-4 and et0.
Each additional IO4 requires two VECTOR lines, one each
for the serial and ethernet ports. In case of serial
ports, the device name is dependent on the unit now
associated with the VECTOR line. For ethernet though,
the device name is et{unit_no}. Sample VECTOR lines
that can be used to configure serial and ethernet ports
on the additional IO4 boards in the system are provided
in irix.sm. Refer to the manual pages ethernet(7) and
serial(7) for further details.
o The kernel will panic at boot time if all CPUs do not
have the same secondary cache size. This configuration
error is shown with the message:
- 20 -
CPU n scache size 0x.... different from bootmaster size 0x...
o VME bus write errors can now be caught by a user
process. See usrvme(7).
- 1 -
4. Bug_Fixes
A number of bugs were fixed when newer versions of software
from the USL SVR4.1 source release were integrated into
IRIX4 to form IRIX5. In addition, numerous fixes have been
made to commands and to the kernel in this latest IRIX 5.2
release to resolve problems encountered in earlier IRIX5
releases.
This section highlights many of these bug fixes.
o The sccs front end could core dump with certain
command/flag combinations; this has been fixed.
o The echo command now outputs the 8-bit character for
all octal numbers between 0 and 255.
o The routed daemon now gets correct host routes from
/etc/gateways.
o The Mail command is now more tolerant of mail with
incorrect timestamps, although these are in violation
of RFC 822.
o The Mail command no longer prints an incorrect line
count for mail messages that have more than 32 K lines.
o The cp command now supports the -p flag, which
preserves the modification time and access permissions.
o The ln command semantics is now SVID-compliant,
although this makes it incompatible with previous IRIX
releases. Specifically,
ln -s foo bar
previously replaced an existing bar with a symbolic
link to foo, whereas the IRIX 5.2 command will
terminate with the error
Cannot create bar: File exists
To arbitrarily overwrite an existing bar you must use
the -f flag, as in
ln -sf foo bar
o Programs such as who and finger no longer report users
who are no longer logged in.
- 2 -
o Various problems have been fixed with user accounting,
and commands like w(1) and last(1) now correctly
identify the current and previous user logins,
respectively, and the originating system name of those
logins.
o The -h flag of the mount command now works with
filesystems flagged as noauto in the fstab file.
o The diskusg command in the accounting subsystem no
longer skips commented out lines in the fstab file.
o Various commands of the quotas subsystem used the
superuser's umask when rewriting the mtab file, which
can render incorrect permissions on this file. This
has been fixed.
o csh and tcsh shell limits (e.g., for cpu time and
memory space) were broken for earlier releases of
IRIX5. These shell limits now work correctly.
o Double buffering in an overlay window of a GLXDraw
widget now works. The only constraints are that the
overlay GL window must have a main framebuffer GL
window associated with it. For example:
GLXconfig rgb_ov[] = {
{ GLX_NORMAL, GLX_RGB, TRUE} ,
{ GLX_OVERLAY, GLX_BUFSIZE, 4} ,
{ GLX_OVERLAY, GLX_DOUBLE, TRUE} ,
{ 0, 0, 0}
};
The overlay GL window will be clipped to the main
framebuffer GL window's extents.
o New RealityEngine features are now supported by
gldebug: constants for texdef2d and glcompat, and
support for texdef3d.
o Gldebug no longer requires the DISPLAY environment
variable to be set.
o Graphics programs using the Distributed Graphics
Library (DGL) no longer have errors when mixing
connection types (DGLLOCAL vs. DGLTSOCKET).
o Calls to lrectwrite with the pixmode PM_STRIDE
parameter set with more than 511 lines caused a kernel
panic. This has been fixed.
- 3 -
o The ARCS PROM now handles different screen resolutions.
o Overlay planes now work in mixed-model, double-buffered
applications.
o The GL routine afunction now works on RealityEngine
systems.
o The behavior of swapbuffers could be unpredictable with
lots of calls to winset and drawmode(OVERDRAW).
o Several problems related to lighting when using
shademodel(FLAT) or two-sided lighting have been fixed.
o A memory leak in the IrisGL Font Manager (FM) has been
fixed.
The IrisGL FM could not read fonts for some non-default
locales. That problem was fixed.
The IrisGL FM now displays text correctly in stereo
mode.
A division by 0 was eliminated, so that it does not
affect those programs which monitor for divisions by 0.
The function fmprstr now calls the function
blendfunction only when it draws anti-aliased text.
The character advance widths in Haeberli, Iris, and
Screen fonts were fixed. All characters in a
monospaced font must have the same advance width.
The values the font management function fmgetfontinfo
returns when a font is rotated and scaled have been
fixed.
The include file fmclient.h was modified to comply with
ANSI and POSIX standards.
Those fonts, which were created because the page
transformation matrix was changed, were not cached.
Now they are cached. That has improved the performance
of some application programs.
o The graphics hang after 20 logins on Indigo2 has been
fixed.
o The Iris Elan family now supports GLV_SRED, GLV_SGREEN,
GLV_SBLUE, and GLV_GENLOCK flags for setvideo and
getvideo. The Indigo2 XZ and Extreme systems also
- 4 -
support the GLV_GREENGENLOCK flag and the -s
and -G options for the setmon command.
o The Iris Elan family supports framelock to non-
interlaced or interlaced input signal with the -F
option in setmon.
o The IRIX kernel receive 1 panic has been fixed.
o The IRIX kernel 'Timeout table overflow' panic on
Indigo2 has been fixed.
o Challenge/Onyx L/XL systems prior to IRIX 5.2 had a
problem with a bogus time-of-day warning whenever the
system was rebooted during the month of December, and
the date was automatically reset backwards by 11
months. This has been fixed.
- 1 -
5. Known_Problems_and_Workarounds
This chapter discusses known problems in IRIX 5.2 and ways
to work around them.
o With the exception of the Challenge/Onyx machines, most
SGI machines do not keep track of time reliably under
IRIX 5 releases. This problem can be corrected by
running a network time synchronization program like
timed(1M). For machine that is not connected to the
network, one can adjust the clock crystal frequency by
changing the value of timetrim. This can be
accomplished by using systune(1M). In the 5.2 release,
the most that timetrim can be adjusted is 40 msec/sec.
However, timed(1M) and timeslave(1M) do not accept such
large time trimming and will reject all time trimming
values outside of the range +/- 333 usec/sec. Large
time trimming therefore is intended for stand alone
systems only.
o Challenge/Onyx serial ports (/dev/tty?1, tty?2, tty?3)
are subject to dropped characters due to kernel
interrupt latency problems. SLIP and uucp might not
run well.
o The Indy ISDN port is not supported in the 5.2 release.
o There are two known bugs in the select(2) system call
when used on a file descriptor for a FIFO (named pipe).
The bugs occur in the case that a process has opened a
FIFO for reading and is using select to wait for read
data to arrive. If another process writes to the FIFO
and then closes it, the select(2) system call
malfunctions in two ways: 1) the call returns bits set
in the write and exception masks even if the selecting
process has not requested notification of write or
exception status and 2) if the reading process calls
select again on the same file descriptor, the call will
return immediately with the write and exception bits
set for that descriptor. The only way for the reader
to clear this error condition is to close and then
reopen the FIFO. (Bug number 202859).
o On all systems, if the GL library (/usr/lib/libgl.so)
is linked into the application, and the application is
run with the DISPLAY pointing to a non-GL capable
device, you get a dgl failure whether or not you made
actual calls into the GL library. You can work around
this in one of two easy ways:
- 2 -
1. Set your DISPLAY environment variable to a GL-
capable system.
2. Set an environment variable called
__SGI_NO_REMOTE_GL before executing the program.
This prevents you from rendering remotely should
you try to do so. The DISPLAY environment
variable is always interpreted as rendering to
local host.
o Xwsh(1) has become locale-sensitive. An immediate
effect of this is that it has become picky about font
encoding. Xwsh accepts only fonts that are encoded in
the encoding required by the locale. A limitation in
5.0.1 and later releases forces Xwsh to require ISO
8859-1 fonts in the C locale, even though the C locale
is an ASCII locale. This will be fixed in a future
release. Also, SGI will attempt to port supported
ASCII fonts to 8859-1 where permissions allow.
o If UniPress Emacs stops working when you upgrade an SGI
machine that runs an early version of IRIX4 to IRIX 5.0
or higher, you need to get the latest version of Emacs
for your type of SGI machine that was released by SGI
for IRIX 4.0.5, or a new version of Emacs from UniPress
that runs under IRIX 5.0 and higher. If you install a
version of Emacs from 4.0.5, please make sure that you
first install the base version of Emacs (emacs.*), and
then install the maintenance subsystems for Emacs
(maint_emacs.*).
o Note that the object file format has changed from COFF
to ELF. In general, IRIX has never supported executing
on older operating systems any programs created on
newer releases. Because of the COFF to ELF format
change, an IRIX 4.0.5 or earlier system does not even
recognize an IRIX5 ELF file as an executable. The
system attempts to interpret it as a shell script,
resulting in a message such as:
./filename: syntax error at line 1: `(' unexpected
o Conformance Tests Issues
A number of conformance tests fail in minor ways. None
of these failures is considered pervasive or has a
major impact on the performance of IRIX 5.0.1 and later
releases. All failures have either written or verbal
waivers from the specific test suites' controlling
agency.
- 3 -
- POSIX 1990 - NIST-PCTS:151-1 Version 1.1, FIXES
Patch 05/21/92: 4.0.5 backwards compatibility:
sym_const 010, 019 The tests expect to be POSIX
1988 rather than POSIX 1990.
This is a test error.
uname 004 The test fails comparing
return values from uname(2)
and /bin/uname. In IRIX4
compatibility mode, the struct
returned from uname(2) has
fixed-length strings of 8
characters. System names
longer than 8 characters
miscompare.
lseek 014 ``An invalid file offset that
would cause [EINVAL] to be
returned may be both
implementation defined and
device dependent.'' B.6.5.3
cuserid 012, 013 Acknowledged errors in the
tests.
- POSIX 1990 - NIST-PCTS:151-1 Version 1.1, FIXES
Patch 05/21/92
sym_const 007 The test expects to be POSIX
1988 rather than POSIX 1990.
This is a test error.
cuserid 012, 013 Acknowledged errors in the
tests.
lseek 014 ``An invalid file offset that
would cause [EINVAL] to be
returned may be both
implementation defined and
device dependent.'' B.6.5.3
- VSX 3.205
There are nine Permanent Waivers and one Waiver
Pending for VSX. Permanent Waivers are granted for
tests found to have flaws. These tests are:
- 4 -
ANSI.os/time/ctime 11
ANSI.os/time/localtime 11
ANSI.os/time/mktime 18
ANSI.os/time/strftime 5
POSIX.hdr/misc/unistd_1 7
POSIX.os/Csupport/tzset 1
POSIX.os/devclass/i_close 1
POSIX.os/files/getcwd 2
POSIX.os/procprim/sigconcept 37 - Pending
XOPEN.os/procenv/chroot 4
- PVTS (SONY beta) - ABI binaries running on IRIX5
- UVS4
Eight tests get segmentation faults when NULL
arguments are passed to library routines. These
are acknowledged test errors. The tests are:
BA_LIB/Vgetsubop01.c
BA_LIB/Vgetsubop08.c
BA_LIB/catclose01.c
BA_LIB/getopt01.c
BA_OS/Vstime01.c
BA_OS/pclose01.c
BA_OS/popen01.c
BA_OS/telldir01.c
- AU_CMD/news1.c - Test obsoleted.
- BU_CMD/tail01.c - Failure due to acknowledged
errors in the test.
- BA_LIB/strtod05.c and BA_LIB/strtod06.c - Failures
due to acknowledged errors in the tests.
- CMD/whatis1.c - This test requires that
/usr/lib/whatis exist; on IRIX, it does not.
(SVR4/BSD Compatibility Guide)
o Sites that have the optional IRIS Networker 1.1 backup
and restore utility do not need to upgrade their
product to run under IRIX 5.0.1 or later. Networker
continues to run correctly except for one limitation.
Not all of the special files, block, and character
devices residing in the directory /dev can be backed
up. This is caused by an incompatibility in the dev_t
data type between IRIX 5.0.1 (or later) and IRIX4.
This is not really a serious problem because these
files can be re-created by running MAKEDEV(1M) or by
reinstalling the system software with inst(1M).
- 5 -
o The package tools (pkgadd, pkgrm, and so on) have some
unresolved symbols. Before using the package tools,
the environment variable _RLD_ARGS must be set to
-ignore_unresolved.
o ipfilterd(1M) may cause the system to panic. The use
of ipfilterd is not recommended or supported in this
release.
o Known problems with the OpenGL implementation include:
- Textures loaded using glPixelMap might be
corrupted when enough textures are loaded to cause
kernel management of texture memory. Corruption
should occur only if the glPixelMap has changed or
has been disabled since the original load.
- Textures loaded in immediate mode might be
corrupted when enough textures are loaded to cause
kernel management of texture memory. One easy
workaround is to always put texture commands into
display lists.
- glGetTexImage is not functional.
- The border parameter for the glTexImage1D and
glTexImage2D calls is ignored and assumed to be
zero.
- The GL_COLOR_INDEX option for the format option
for the glTexImage1D and glTexImage2D is not
functional.
- This implementation is not ``tuned.'' Many
performance improvements are anticipated,
particularly in display lists and in OpenGL calls
that are limited by the transfer of data and
commands from the CPU to the graphics system.
- This implementation is not thoroughly tested.
Normally, IRIS GL implementations are tested with
a combination of regression tests, demos, and
applications. For OpenGL, the regression test
suite is not complete, there are very few demos
available, and there are no real applications.
- No extensions to the OpenGL have been implemented.
- If nfs.sw.dskless_client is accidentally installed
and then subsequently removed from a disk-full
machine, re-install eoe1.sw.unix.
- 6 -
o Limitations of IRIX Support of SyQuest disk drives
include:
- IRIX support for SyQuest disks is limited to 45MB
and 88MB 5.25" media and 105MB 3.5" media
containing HFS (Macintosh) file systems. Only the
first partition of a partitioned volume may be
accessed.
- SyQuest drives are accessed by the HFS file system
through the floppy driver. Regardless of media
dimensions, SyQuest media is accessed as 3.5"
media using /dev/rdsk/fds?d?.3.5*.
- The desktop software treats a SyQuest disk as a
floptical disk.
- During media loading, some SyQuest drives do not
respond to SCSI inquiries. This results in
messages on the console or in SYSLOG of the form
"fds?d? error: inquiry cmd failed". These
messages may generally be ignored.
- The mkfp and fpck programs do not work properly
with SyQuest drives. These programs believe that
the SyQuest drive is a floptical disk and
initialize and check only the first 20.9MB of the
media.
- SyQuest media cannot be formatted using the
desktop format function.
- 1 -
6. Documentation_Errors
There are no known documentation errors at this time.
- 1 -
1. Challenge/Onyx_IO4_PROM
This chapter contains information about the Challenge/Onyx
IO4 PROM (Programmable Read-Only Memory) Monitor. While in
most cases the Challenge/Onyx PROM is similar to the PROMs
discussed in the user's manuals, it contains a new graphical
user interface and contains a number of new hardware
configuration features. And while most of these same
operations may be applied on other SGI systems, notably the
Indy and Indigo2, please refer to the prom(1M) manual page
for a complete description of all of the common commands and
environment variables.
1.1 The_PROM_Graphical_User_Interface
In an attempt to improve the look and feel of the PROM user
interface, the IO4 PROM presents you with a graphical
interface on Onyx systems when the console environment
variable is set to ``g''. In all cases you can use the
keyboard instead of the mouse, and in most cases the
keystrokes required to perform a particular task are
identical.
For example, the main five-item panel displayed when the
system first starts up is identical to the five-item menu
found on previous systems. To make a selection, you either
click any mouse button on one of the five buttons on the
left, or you press the corresponding number key. The top
item (``Start System'') is option number 1, and the last
item (``Enter Command Monitor'') is option number 5.
1.2 Challenge/Onyx_Hardware_Configuration_Commands
The IO4 PROM provides a number of commands that that you to
examine and modify the hardware configuration of your
system.
1.2.1 Checking_and_Updating_the_Hardware_Inventory When
the system first starts up, the IO4 PROM automatically
examines all of the boards in the system to determine
whether any components have failed. During this process,
the IO4 PROM reads a copy of the hardware inventory out of
nonvolatile memory and compares the system's current
configuration with the last known inventory. If it finds a
discrepancy, the PROM prints a warning message. When errors
are found, the PROM automatically pauses before continuing
so that the administrator has a chance to examine the error
notices. The following example shows the output of the
inventory checker if it notices that one of the processors
on an IP19 is missing.
- 2 -
Checking inventory...
*** Slice 1 on the IP19 in slot 2 isn't visible
Press to continue
If system uptime is critical (if, for example, your system
is a central server) and operators aren't available around
the clock, you might not want the PROM to wait for operator
intervention when the hardware inventory checker notices a
problem. To force the system to continue booting in the
face of non-fatal failures, set the nonstop environment
variable to ``1'' (see Section A.3, ``Environment
Variables'').
The hardware inventory routines are incapable of
differentiating between hardware that has been physically
removed from a system and hardware that is so broken that it
doesn't appear to be present. For this reason, if you
change the configuration of your Challenge/Onyx system, you
must explicitly update the system's hardware inventory. To
do this, first enter the PROM monitor by selecting the
``Enter Command Monitor'' option from the PROM menu. When
the command monitor displays its prompt (``>>''), type
update, then press the key. This tells the PROM
that the system's current configuration is correct and
prevents it from complaining in the future. Next, type
reset and press the key to reset your system.
If you see error messages when no hardware modifications
have occurred, a component in your system might have failed.
Call your service provider. In this situation, the hardware
inventory information might provide valuable insight into
the nature of the problem. For this reason, do not update
the hardware inventory until a field service engineer first
examines the system.
1.2.2 Displaying_Current_Hardware_Configuration To display
a list of boards installed in a Challenge or Onyx system,
using the command monitor (with prompt ">>"), type hinv -b.
The -b option forces hinv to display bus-specific
information. The -v switch, when used with the -b switch,
causes hinv to display more detailed information about
boards. For example, typing:
hinv -b -v
displays the configuration of all the processors, memory
banks, and IO adapters in the system.
1.2.3 POD_Mode In the unlikely event of an extreme
hardware failure, the system might drop into a low-level
diagnostic environment known as POD (Power-On Diagnostics)
- 3 -
mode. POD mode helps in system diagnosis and is not
intended for use by customers. Entering POD mode is usually
a sign of severe hardware problems; consult a service
provider.
1.3 Environment_Variables
This section describes special procedures to customize
certain aspects of the PROM Monitor. Many aspects of the
system startup process can be customized by changing PROM
environment variables. Some of these PROM environment
variables are stored in nonvolatile memory, which retains
its value after the system is powered off. Some common
customizations are described in the sections below. More
information is provided in the prom(1M) manual page.
Environment variables can be changed with the setenv command
in the PROM Command Monitor. To get to the PROM Command
Monitor, first choose ``Stop for System Maintenance'' when
the system is starting in order to get to the System
Maintenance Menu, then choose ``Enter Command Monitor'' by
either clicking on it with the mouse or pressing 5.
1.3.1 Selecting_the_Console_Device Servers and
workstations can be configured to use a terminal connected
to serial port #1 as their console. If a system has a
graphics board, the PROM Monitor uses it as the console if
the console environment variable is set to ``g''; if
graphics aren't installed or the console variable is set to
``d'', the system uses the serial port as the system
console.
To force the console to be the serial port, set the console
variable to ``d'' using the setenv command:
setenv console d
To change the console back to the graphics screen, set the
console variable to ``g'':
setenv console g
Typing init reinitializes the system and forces it to switch
to the selected console device.
1.3.2 Booting_from_an_Alternate_Disk There are three
environment variables in the PROM for specifying the device
to boot from. The SystemPartition variable specifies the
location of the device volume header. Its default value is
``dksc(0,1,8),'' which specifies SCSI controller 0, disk 1,
partition 8. The OSLoadPartition variable specifies the
- 4 -
device from which the IRIX kernel should be loaded. The
default value for the OSLoadPartition variable is
``dksc(0,1,0),'' which tells the PROM to look for the kernel
in partition 0 on disk 1 of SCSI controller 0. By
convention, the volume header is always partition 8 on a
disk, and the kernel is always located in partition 0.
The root variable is the third variable that needs to be
changed when selecting a different boot device. The root
variable tells IRIX the name of the device that holds the
root filesystem. Because it is used by IRIX rather than the
PROM, its format is different from that of the
OSLoadPartition and SystemPartition variables. The default
value of root is ``dks0d1s0,'' which specifies that the root
filesystem is stored on partition 0 of disk 1 on SCSI
controller 0.
To boot from disk number two on controller 0, type:
setenv SystemPartition dksc(0,2,8)
setenv OSLoadPartition dksc(0,2,0)
setenv root dks0d2s0
To boot from disk number one on controller 1, type:
setenv SystemPartition dksc(1,1,8)
setenv OSLoadPartition dksc(1,1,0)
setenv root dks1d1s0
Finally, to boot from disk number 3 on controller 2, type:
setenv SystemPartition dksc(2,3,8)
setenv OSLoadPartition dksc(2,3,0)
setenv root dks2d3s0
1.3.3 Starting_the_System_Automatically By default, the
PROM starts the operating system after waiting a brief
period of time each time the system is powered on. If you
do not click on the ``Stop for System Maintenance'' button,
or press the key, the system attempts to start the
operating system by loading it into memory and executing it.
The environment variable autoload can be set to ``yes'' to
enable this feature, or to ``no'' (the default) to inhibit
it. If automatic startup is disabled, the PROM displays the
System Maintenance Menu after running power-on diagnostics.
1.3.4 Booting_with_Non-Terminal_Hardware_Failures By
default, the PROM stops and prints a warning message if it
discovers that a component has failed in some manner. In
many cases, however, the failure of a single processor or
- 5 -
bank of memory isn't enough to keep the system from coming
up. If your Challenge/Onyx system is configured with eight
processors, losing one of them is non-fatal. To prevent
such non-fatal hardware problems from stopping the system in
the PROM, you can set the nonstop variable to 1:
setenv nonstop 1
To ensure that the system displays a notification message in
the event of any hardware failures, set nonstop to 0:
setenv nonstop 0
1.3.5 Rebooting_immediately_after_crashes Normally, the
system will pause waiting for user intervention after a
system crash. In environments which demand high
availability such a pause may be undesireable. To force the
system to reboot immediately after a panic, set the rebound
environment variable to ``y'' using the PROM's setenv
command:
setenv rebound y
To return to the default behavior of waiting for user
intervention, set rebound to 'n'.
1.3.6 Restoring_Defaults The PROM environment variables
can be reset to their factory defaults by issuing the
resetenv command from the PROM Command Monitor. Because
resetenv also resets the netaddr environment variable, you
may wish to note the system's IP address before using this
command.
1.4 Known_Bugs
The following list details all known IO4 PROM bugs at the
time of release. Because the IO4 PROM is software-writable,
these bugs will be fixed by PROM updates in future releases
of the operating system.
1.4.0.1 The_GUI_handles_unexpected_warning_messages_poorly
If an unexpected warning or status message is printed, the
graphical user interface switches over to a text port to
display the message. The PROM continues to execute, but
additional information is displayed textually rather than
graphically. This bug is usually seen if an informational
message is displayed while the miniroot is being loaded
during the installation process.
- 6 -
1.5 Bugs_fixed_in_this_release
1.5.0.1 The serial number number is no longer overwritten
(Incident #185240) Previous versions of the IO4 PROM
suffered from a bug in which the serial number would
periodically be erased. This has been fixed.
1.5.0.2 NVRAM checksums are now calculated in a more robust
manner (Incident #185870) The original version of the NVRAM
checksum routine always produced the same checksum value. A
new checksum algorithm which doesn't suffer from this
problem has been implemented.
1.5.0.3 PROM_SCSI_driver_handles_SCSI_timeouts_better. The
newest version of the IO4 PROM driver incorporates a new
version of the SCSI driver which behaves much better in the
face of SCSI bus errors.