During the boot sequence before the single user prompt on Xinuos SCO Open Server 5.0.x there is an error message, “Error: PMD Preservation [5/0] failed (30)” or similar.
After booting into single user mode (Entering root password at CTRL+D prompt) a check of the process table using ps -ef does not show the /etc/sco_pmd running.
Running /etc/sco_pmd generates the same error: PMD Preservation [5/0] failed (30) or similar. This error message can also be seen in the normally empty log file: /var/adm/pmd.log.
The error may be accompanied during boot up to multiuser mode by the error: fork failed – too many processes.
This can be caused by several licensing issues. In this instance for OpenServer 5.0.x it is highly likely this is caused by a broken symbolic link of the /pmd directory.
The License Manager checks the license at several places during boot up:
Just before single user mode prompt:
pmd::sysinit:/sbin/sh -c ‘umask 022; exec /etc/sco_pmd < /dev/null > /var/adm/pmd.log 2>&1’
At tcp init:
tcp::sysinit:/etc/tcp start < /dev/null > /dev/null 2>&1
During network initialization in /etc/rc2.d/S85tcp during multiuser mode bootup and runs, /etc/sco_pmd -k
Assuming there is not another server on the local LAN with the same license number and the system date & time are correct the likely culprit is a broken or missing /pmd symbolic link.
Check the /pmd using ls -ld and verify it exists or is symbolically linked to /var/opt/K/SCO/Unix/5.0.7Hw/pmd/pmd (on previous releases such as 5.0.6 or 5.0.5 use the “pmd” subdirectory in /var/opt/K/SCO/Unix/ in the subdirectory release).
If /pmd does not exist or is not linked, either manually relink the /pmd directory or run the Symbolic Link Checker using custom to resolve this.
To manually relink use the ln -s command to link the pmd sub-directory in /var/opt/K/SCO/Unix/5.0.7Hw/pmd/pmd to /pmd
To repair using the Symbolic Link Checker run:
custom -> Software -> Verify System -> Broken/missing symbolic links
Note: This applies only to OpenServer 5.0.x and does not apply to OpenServer 6.
For OpenServer 6 this error is usually due to a read only /stand directory or a missing /stand/license or /stand/license.sp file.
The /pmd directory is not symbolically linked on Open Server 6.
To make /stand writable use, /etc/btmnt -w and then re-run /etc/sco_pmd