What this means is that most user and administrative functions must be carried out using UnixWare 7 interfaces. To mount file systems and devices, for example, you must use the UnixWare mount command, from a Unixware shell prompt, and specify UnixWare-style options, arguments, and device names.
The following sections discuss specific OpenServer facilities that are not provided or supported by OKP, and equivalent UnixWare functionality.
mount /dev/cd0 /mnt
To mount the CDROM so that it is visible under mnt for OKP processes, enter the following command from a UnixWare shell prompt:
/sbin/mount /dev/cdrom/cdrom1 /openserver/mntSee mount(1M).
UnixWare 7 pkgadd format packages can also be installed under OKP.
OpenServer scoadmin applications must be rewritten to use the UnixWare 7 scoadmin interface and desktop.
The OpenServer licensing command (brand) and policy manager daemon are not supported on UnixWare. Attempts by OpenServer applications running under OKP to check or install OpenServer licenses will fail.
If an application only applies licensing during installation, the workaround is to install the application on an OpenServer system and then migrate the system and application to OKP. Applications that do runtime licensing checking may need to be rewritten to run under OKP.
The following is a list of utilities and applications known to require runtime licensing that will not run under OKP:
brand calserver ifor_pmd ifor_sld login make npsd pmwm sco_cpd scologin xdt3 Xsco
In addition, Netscape FastTrack 2.0.1i may experience problems running under OKP. The native UnixWare Apache Web Server should be used instead.
Some structures that are sized statically on OpenServer are maintained dynamically on UnixWare 7. In many cases, applications that needed to modify parameters on OpenServer systems will not need to manually tune anything on UnixWare 7.
Note in particular that the maximum reserved size for the stack address space of a process, should not be set to a value greater than 128MB when running OKP. SSTKLIM is the soft limit specifying the maximum size, in bytes, of the stack segment for a process (and is the output of ulimit -s) HSTKLIM is the maximum value of SSTKLIM. The default value for both is 16 MB, which is adequate for most processes. Setting this value higher than 128MB, or to unlimited, may cause an process size error such as the following to be returned when an application is run. For example, setting these values to unlimited and attempting to run netscape returns this error:
/opt/netscape/netscape: too big
A high value for SSTKLIM/HSTKLIM is also indicated by the following return from the shell builtin pwd command:
To work around these problems, re-set the value of these parameters to a lower value, or to the default value (0x3FFFFFFF), using the scoadmin system tuner or the idtune(1M) command. The following commands reset the parameters to their default values, rebuild the kernel, and reboot:
# idtune -c -d HSTKLIM # idtune -c -d SSTKLIM # idbuild # shutdown -i6 -g0 -y
If you need to increase these values to accommodate an application that requires a larger than default stack size, increment the values until the application works correctly, being sure to keep the maximum stack size below 0x7FFFFFFF.
not a tty.
If you have native OpenServer drivers for specialized hardware required by your application, you will need to rewrite the driver to use the native UnixWare 7 or UDI driver interfaces. Rewriting your drivers to use UDI is the best option; the UDI driver can then be run on OpenServer, OKP, Linux, and other UDI-compliant operating systems and you will not need to maintain multiple versions of the driver. Documentation about writing UDI drivers is included in the UnixWare 7 documentation set available from Documentation web pages.
If you want to port your native OpenServer driver to the native UnixWare 7 interfaces, the "Hardware and Driver Development" topic in the UnixWare 7 documentation set includes information about developing drivers for both OpenServer and UnixWare 7 and includes a large amount of compatibility information to assist you. Specifically, instructions about porting drivers from OpenServer to the native UnixWare 7 DDI driver interfaces, are provided in ``Porting drivers to DDI 8''. Packages of sample drivers and UnixWare 7 test suites can be downloaded from the HDK web page.
Note that the kernel build tools (idtools) are not fully compatible between OpenServer and UnixWare 7. Scripts that install drivers may require some modifications. UDI drivers that run on OpenServer will also run on UnixWare 7 but must be installed following the UnixWare 7 procedures.
Some OpenServer system drivers are not available on UnixWare 7:
If an OKP application calls
a filesystem administration command
such as mount, mkfs, or fsck,
the native UnixWare 7 version of the command is called
rather than the OpenServer version.
OKP works round this by redefining /bin/uname to be a shell script that corrects the values returned by the various uname(1) options to those more normal for OpenServer programs to see. This workround is normally good enough for such things as application installation scripts. However, if an application makes a uname system call directly, it will bypass the /bin/uname wrapper, and may be confused by what uname returns.
In extreme cases, it might be possible to edit the contents of the file /etc/conf/pack.d/name/space.c so that VER is, for example, "5.0.4". This will, however, change the output of uname across the entire system, including for native UnixWare programs. This may lead to unexpected behavior by some UnixWare utilities, and the inability to install or run programs that depend on UnixWare uname values.
Not a 3.2 system
Applications that attempt to access SCO OpenServer system data files directly or indirectly may experience problem if these files also exist in UnixWare 7 with a different format (for example, utmp).
A new flag, IPC_SMALLID, may be passed in to either shmget, msgget, or semget. If this flag is passed in, then, on success, the invoked function will return a 16-bit IPC ID.
The IPC_SMALLID flag is introduced for use in cases in which a native UnixWare application requires a small IPC ID in order to share the ID and associated object with OpenServer or Xenix applications. The xemul(1) Xenix emulator uses IPC_SMALLID for every IPC ID it requests, so Xenix binaries can use IPC as expected. The kernel has been modified (in Maintenance Pack 2, Update Pack 2, and ptf9001) to always run OpenServer binaries with small IPC IDs.
Three tuneables are also available for cases where the entire system must be tuned to return 16-bit IPC IDs to support an OpenServer or Xenix application running under OKP. These tuneables are SHMSMALLID, MSGSMALLID, and SEMSMALLID. Each has a default value of 0, and a range of values of 0 to 1. Each tuneable controls whether the corresponding IPC system call returns a small id by default. If the tuneable is set to 0, then the corresponding routine returns a 32-bit ID by default; however, if the tuneable is set to 1, then the corresponding routine always returns a 16-bit id.
man : can't connect to scohttp
To fix this, do the following:
shutdown -i6 -g0 -y
chmod 777 /openserver//usr/tmp/scohelp.socket
lynx: Can't access startfile file://localhost/dev/stdin
Switching to a different html to ascii scheme works round the issue. For example, edit /openserver/etc/default/man and change MAN_HTML2ASCII to read as follows:
This will use prosaic as a man page converter instead of lynx, and allow man to work. Note that prosaic is weaker on HTML table conversion than lynx, so some manual pages may have unreadable tables.
The Unixware 7 kernel differs from the OpenSerever 5 kernel in these respects:
memfs is backed by the swap device, with memory usage dynamically adjusted to match demand. By comparison, a RAM disk device cannot use swap, nor can it vary its memory usage.
Process management is similar to UnixWare 2 and includes the following:
The following pseudo-drivers are not supported:
Instead of using the /dev/marry pseudo-driver, swap space can be added dynamically with the swap(1M) command.
Some devices that were supported in SCO OpenServer may not be supported in UnixWare 7. These may include low-end non-SCSI devices such as floppy-tape. Support for such devices may be available from third parties, but this is not guaranteed. Devices that conform to SCSI or IDE/Atapi, with the exception of IDE Tape, should work in UnixWare 7. In addition: