QNX Operating System 4.25 (Patch G)

Release Notes

Date of this edition: February 19, 2003

Host OS: QNX 4.25 base or any patch level

Contents...

General problems

Although these release notes deal with the main issues for a given release, some topics are covered in more detail in individual technotes. Technotes are shipped in the directory /etc/readme/technotes. As more become technotes available, they will be posted for download on the update system.

Vedit now has its own release notes in /etc/readme/vedit.

SCSI -- update

If you're updating (install -u) an existing QNX machine with a SCSI controller:

  1. Record the heads and sectors the system is currently using by executing the command:
    fdisk /dev/hd0 info
  2. When the install program displays the heads/sectors, verify that they're the same. If they aren't, reboot and override with:
    install -up "fsys -hheads,sectors"

    where heads and sectors are the old values.


    Note: The SCSI drivers now support extended translations. If your drive is >1G and you didn't use the >1G option, then you have >1024 cylinders and probably have a separate bootable partition. This extra partition is unnecessary with the new drivers, because they'll now work with the >1G option. If you change to using the >1G option, you MUST backup the disk, reinstall as listed above, and restore your files.

>1024 cylinders?

Be sure to enable LBA on your hard drive (normally through CMOS settings).

Third-party products

Previous versions of the OS had files that shipped in /bin32/. This directory no longer exists with QNX 4.25, but some third-party products will install files to this directory. If you install a third-party product, move any files installed to this directory to /bin, and then remove the directory.

Note to Vedit Plus 5.05 users

If you have the Vedit Plus 5.05 archive from June 1998 and you wish to install it on QNX 4.25, you'll have to re-run the Vedit setup script to configure 5.05 for QNX 4.25.

You should do the following in this order:

  1. Install QNX 4.25.
  2. Re-install Vedit Plus 5.05.
  3. Run this script:
    /qnx4/vedit/.restore

Note: All files for Vedit 5.05 are shipped under /qnx4/vedit50 with a symlink to /qnx4/vedit. This leaves all the files from your original version of vedit intact.

Network analysis

When a significant event happens in the Net process or a Net.* driver, the event is logged in an internal buffer maintained by Net. A utility called netinfo displays the contents of this buffer. By default, the same event is also logged as a trace entry.

Since the Net process and Net.* drivers can generate a large number of events, the trace buffer can be filled very quickly. System operators should exercise discretion to determine how they wish to use these tools to analyze the network. A number of options are available:

Resource managers

There's a limit (not enforced) of no more than 150 prefix unit numbers per resource manager.

IDE drivers

The following table details the supported features for the Fsys.eide, Fsys.ata, Fsys.ide, and Fsys.vpm50 hard-disk drivers.

Supported feature Fsys.eide Fsys.ata Fsys.ide Fsys.vpm50
CD-ROM yes no no no
Multiple interfaces yes no no no
Removable drives (SYQUEST) yes no no no
Logical Block Addressing (LBA) yes yes no yes
Enhanced Programmed I/O (PIO) modes yes yes no yes
Multi-block per interrupt yes yes yes* yes
Uses BIOS for drive geometry yes yes yes no**

* If drive supports it.
** Uses geometry returned by drive.

IDE driver exceptions

  1. If the user specifies parameters to the driver, they override the default.
  2. If the drive geometry info is read from the BIOS, and if both the cmos and bios data areas show no drives, then the geometry will be read from the drive and a warning printed.
  3. If the drive doesn't support LBA, or if LBA is disabled, the drive is "programmed" with the geometry parameters.

Boot image limits

The boot image is limited to 512K. See buildqnx in the QNX 4 Utilities Reference for required system services.

Booting from floppy

If you're making a boot floppy that will need to use pipes, make sure you run the pipe manager (Pipe). Using pipes without the pipe manager when the floppy is mounted as / will corrupt the pipe data.

Extended memory

There's an outstanding problem detecting memory above 16M on Compaq machines because of their nonstandard interface. You can add the extra memory to your system by using the -M option to boot in your buildfile or by using the ramtrap utility.

Login procedure

On login, /etc/profile is run for every user. This file should be owned by root. On some systems, it becomes a fairly elaborate shell script giving extra security or accounting features, e.g. only certain users can come in via modem ports, etc. On others, it just does any all-user environment setup you want.

The $HOME/.profile file is run after /etc/profile. Each user has their own .profile and on most systems owns the file. Some administrators retain ownership for tighter control. Both files should be writable only by their owners for security reasons.

There's a file called /etc/default/profile. This is a "standard" file that gets copied to $HOME/.profile by the passwd utility that creates new user accounts.

Utilities

This release contains known problems/limitations for the following utilities:

Audio

The ADPCM wav format isn't supported. OPL3-SA[1-3] sound cards aren't currently supported.

Under QNX 4.25, you have two options for adding audio support to your applications:

Audio manager for QNX 4.25

This driver supports the following ISA-bus hardware:

If you need support for some of the newer audio hardware, see the "ALSA" section in this document.

Programming for this driver is done by accessing /dev/dsp, /dev/fm, /dev/midi via ioctl()s.

For more information on Audio, please refer to:

Advance Linux Sound Architecture (ALSA) v0.2 drivers

You can download the source code for drivers based on the ALSA 2 specification from /usr/free/qnx4/multimedia/ALSA2.

These drivers and libraries aren't compatible with the older Audio drivers. Although these drivers support a wider range of current audio hardware, the source code is licensed under the GNU Public License (GPL). This means that any source code that extends or even statically links to the driver interface library is subject to the GPL.

The recommended interface to the ALSA2 drivers is through the ioctl() functions (rather than libasound.a).

For more information on ALSA, visit www.alsa.org.

vplay

Will play only 8-bit wav files.

Summary of changes

The following tables summarize the changes for each release, from the initial release of QNX 4.25 through Patch level G.

Initial release

The initial release of QNX 4.25 included the following changes from the previous release (i.e. 4.24).

Module What's Changed
/bin/Dev.ditto This console driver can be run on a machine that doesn't have a video card. The machine can then be accessed and "dittoed" from other machines on the network. The script /etc/make_links creates a link to Dev.ansi:

ln -fs /bin/Dev.ansi /bin/Dev.ditto

When the driver is invoked as Dev.ditto, it won't touch the local hardware, if it exists.

/bin/Net.ether21x4x This driver is no longer being shipped -- it's been replaced by Net.tulip.
/bin/Net.ether8900 This driver is no longer being shipped -- it's been replaced by Net.crys8900.

Patch A release

Patch A includes the following changes:

Module What's Changed
/bin/Fsys.eide Now automatically detects drive geometry of larger drives (>8G)
/bin/kill -0 option now included to determine if a process is running. E.g.: kill -0 pid (returns 0 if process is running).
/bin/Mqueue Fixes a SIGSEGV that would occur if a blocked queued process were unblocked with a signal and a readdir() of /dev/mqueue were happening at the same time.
/bin/Net.crys8900 Changed option -a to -p (Base I/O port)
/bin/Net.epic Changed options:
-a to -p (Base I/O port)
-p to -I (Specific PCI index)
/bin/Net.ether2100 Changed options:
-a to -p (Base I/O port)
-p to -I (Specific PCI index)
/bin/Net.ether589 Changed option -a to -p (Base I/O port)
/bin/Net.ether82557 Changed options:
-a to -p (Base I/O port)
-p to -I (Specific PCI index)
/bin/Net.ether82595 Changed options:
-a to -p (Base I/O port)
-p to -I (Specific PCI index)
/bin/Net.ether905 Changed options:
-a to -p (Base I/O port)
-p to -I (Specific PCI index)
/bin/Net.solotr Changed -p to -I (Specific PCI index)
/bin/Net.tulip Added support for legacy 21x4x command-line options:
-f TxSlowTime
-T Specify data rate (NOTE: We recommend -H)
Changed options:
-a to -p (Base I/O port)
-p to -I (Specific PCI index) -D to -V (Output to serial port) -f to -o (Fiber media) -s to -w (Speed setting to be forced) -C to -H (Media code) -k to -s (Store/Forward mode forced)
/bin/Net.via Initial "pre-release" version
/bin/netinfo Updated for new Net drivers
/bin/romqnx CRC routine fixed to handle non-compressed images and to make CRCs match the changes to boot's CRC calculation.
/bin/sed Now includes -g option.
/boot/sys/boot-nobios Changed to boot including CRC check.
/boot/sys/Proc32 - Fixed a bug with software interrupts
- Fixed a memory leak with ELF executables
- The -F (timer frequency) option now works and is included in the usage message.
/etc/jedecs Now included with the OS; required by mkcis.
/etc/config/kbd/*.kbd These files were previously shipped with Photon; now they're being shipped with the OS.
/etc/qnx_install Fixed a bug that affected the use of third-party Fsys disks.
/usr/bin/mailx Added a catch to fix a SIGSEGV error.

Patch B release

In addition to Patch A's fixes, Patch B also includes the following changes:

Module What's Changed
/bin/awk - Reverted back to GNU awk 2.15, patchlevel 6
- Fixed usage message (conflicting -v options).
/bin/date Fixed Y2K bug where the date was set without specifying a year and the current year on the node was 2000+.
/bin/fdformat The -q option now doesn't echo anything to the screen.
/bin/Fsys - Reschedules threads at correct client priority
- Early detection of ENOSPC when growing files
- Unblock open() of unlink()'d FIFO (QNX extension)
- Extra checks on low-level driver ioctl()s
/bin/Input Fixed a bug in ahl and elo smartset touchscreens where an "untouch" (button up) event was sometimes missed.
/bin/modem Fixed a bug where remcmd (as specified via -U option) wasn't emitted.
/bin/mount - New -P option to not expand DOS extended partitions (type 5)
- Now correctly handles DOS extended partitions (type 5 and 15).
/bin/Net.ether589 Fixed a bug that would cause the driver to fail on some machines.
/bin/Net.ether9000 - Now works properly with the 91C96 chipset
- New option (-C) to configure the driver to work with PCMCIA 9000-based Ethernet cards.
/bin/Net.solotr Now has improved handling over raw Token Ring packets.
/bin/Net.tulip Added support for LiteOn PNIC chipsets.
/bin/nettrap Updated for new Net drivers.
/bin/sin Fixed a bug with reporting the memory on machines with > 64M with sin net.
/bin/SMBfsys Fixed a bug that would cause the program to run out of FDs.
/bin/tail Fixed bug re: echo test | tail -1.
/usr/bin/ditto Now supports multi-prefixes for Dev (e.g. Dev -N dev16).
/usr/bin/noditto Recompiled with newer libs.
/usr/bin/pin Fixed the use of default configuration in the config tuples for pin config.
/usr/bin/vol Added support for larger media (up to 4GB).

Patch C release

In addition to Patch B's fixes, Patch C also includes the following changes:

Module What's Changed
/bin/Audio - New subtype command-line interface (e.g. Audio sb --webpad).
- Added support for webpad (MediaGX) as a subtype of sb.
- Added DMA Channel 0 support (see Note in usage message).
- Added support for Vibra-style SoundBlaster16 (16-bit samples through an 8-bit DMA). This technique is now used for all SoundBlaster16 cards.
/bin/chkfsys Fixed problem with prompt suppression.
/bin/chmod Fixed problem where chmod -R a+rw dir/ gave execute permission to files in directory as well.
/bin/find Fixed SIGSEGV bug in -spawn option.
/bin/Fsys.aha8scsi - Initial version of the new aha8 SCSI driver.
- Offers support for any PCI card currently supported by the Adaptec AIC-78xx family Common Hardware Interface Module (CHIM).
/bin/Fsys.diskonchip These new DiskOnChip products are now supported:
- DiskOnChip 2000 Series (5V and 3.3V), MD2200-D32, MD2200-D48, MD2201-D80 MD2201-D112, D2201-D144
- DiskOnChip 2000 DIMM Series (5V and 3.3V), MD2220-D02 up to MD2220-D160
- DiskOnChip Millennium Series, MD2800-D08, MD2800-D08-V3, MD2810-D08
/bin/Fsys.eide Improved drive-geometry support for larger drives (>8G.)
/bin/grep Fixed minor spelling error in usage message.
/bin/Iso9660fsys Fixed problem with mounting a CD over NFS.
/bin/Mqueue Fixed SIGSEGV related to Mqueue's obtaining large amounts of memory to store messages.
/bin/Net - Direct writes to screen use libsa instead of (broken) code.
- Raw apps can take over identical protocols if Net started with -S option.
- Allows finer control over what enters net log.
- Fixed bug where Net would crash if given invalid LAN address.
- Inserts trace message if kernel Netdata fails.
- Has signal stack to attempt recovery from brain-dead driver.
/bin/Net.crys8900 Fixed a problem where the driver would hang when it detected an invalid vid buffer or a tx underrun.
/bin/Net.epic - Fixed performance problems related to tx underruns.
- Added support of the BNC interface on new boards.
- Fixed startup when IoBase is specified.
/bin/Net.ether82557 - Added support for the Intel Pro10+ (10bT Only Phy Interface).
- Fixed command-line arguments.
- Fixed startup when IoBase is specified.
/bin/Net.ether82595 Fixed a problem in the raw interface that shows up under TCP/IP.
/bin/Net.tulip - Fixed the LiteOn PNIC bug. Strange interrupt generated on startup; Rx unit is effectively disconnected from Net.
- Reset chip brings everything back.
- Removed system-wide interrupt disable/restore.
- Cleaned up reset chip code.
- Added new option (-q to read SROM only from /dev/shmem.
- Added new define (SROM_SPECIAL).
- Changed SROM default values for BNC/AUI on 21040.
/bin/nettrap Fixed problem of incorrect parameters being passed to Net.ether2100 driver.
/bin/Pcmcia.generic Added new TI CardBus adapters and a few minor bug fixes.
/usr/bin/show_pci New vendors and devices added.
/bin/use Can read usage messages from big-endian ELF files.
/etc/default/login This file now contains a SYSNAME entry, which is used to indicate the type of OS running in your environment. For instance, if you run env on a QNX 4 machine, you should see the line SYSNAME=qnx4.

Patch D release

In addition to Patch C's fixes, Patch D also includes the following changes:

Module What's Changed
cp The -V option no longer has any leading 0s.
date Fixed Y2K bug where the date was set without the user specifying a year. This happens only when the current year on the node is 2000+.
Dev32.par - Fixed timing loop so that it's better on newer machines.
- Added a -e option to abort output if the printer is in an error condition.
- Added a -f option so that you can actually send data faster than the IEEE parport specifications.
esh Fixed support for escape characters.
Fatfsys *new* - Full DOS FAT12/16/32 support with long filenames.
- Runtime mounting/unmounting of DOS file systems using standard mount and umount utilities.
Fsys - Bug fixed where blocks written to _REMOVABLE devices (PCMCIA, LS-120, etc.) could be discarded from cache without being committed to disk.
- A number of symlink bugs fixed (creation of 0-length links now denied; ensures that symlink path is correctly terminated internally).
Fsys.eide Added support for multi-session format CDs (required by Iso9660fsys). Support for SCSI drivers will be provided at a later date.
Fsys.sym8scsi *new* This driver replaces the old Fsys.ncr8scsi driver.
head No longer tries to access directories.
Iso9660fsys - Added support for Joliet format (Microsoft long filenames).
- Added support for multi-session format CDs.
- More robust behavior if underlying device/driver is faulty.
- Increased the maximum number of CD mounts from 10 to 128.
- Truncates >48-character Joliet filenames to fit within QNX 4 limits; the position of the truncated characters is indicated by #.
login Now allows root to login even if the /etc/nologin file exists.
mount_dos *new* Fatfsys mount utility.
mount_smb -If mounting a share with the reserved name "homes" (samba), SMBfsys will substitute the username for "homes." This fixes permission problems when different users are mounting the share name "homes"; you can turn this off with the -h command-line option.
- Userid name length is now set to system limit.
- Share name length has been increased to 80 characters.
Net.crys8900 The netinfo utility understands more error codes for this driver.
Net.ether589 Now works with 3CCE589EC (Combo adapter -- BNC & UTP).
Net.ether905 Changed PHY logic to avoid spurious "Link down" messages.
Net.ether2100 Modified to work with fiber-optic cables (-o option).
Net.ether9000 Changed driver to work with 91c100 fiber adapter.
Net.ether82557 Now supports the Intel 82557, 82558, and 82559 range of chips.
Net.fddidfe Changed the pci-index option from -p to -I, the standard used by all other network drivers.
Net.rtl *new* Initial release supporting Realtek Semiconductor RTL8139A Ethernet network cards.
Net.solotr Fixed problem of SIGSEGV with multiple hosts.
Net.via - Fixed a problem where network packets weren't being freed on a reset.
- The driver now enables the PCI latency timer on the adapter.
netinfo Net.crys8900 support added.
nettrap Now supports trapping for 3Com 905C, Intel 82557/8/9, and Realtek 8139.
pcmcia.cards Updated /etc/config/pcmcia.cards file to include new tested cards.
Pcmcia.generic Added new CardBus device types.
pin Now displays "Network" instead of "NE2000" in the pin output.
printf Added support for \r escape sequences.
qcp Fixed SIGFPE error when sending 0-byte files.
SMBfsys - Now sets TCP_NODELAY on socket connections. This can help performance to NT servers and can be turned off with command-line option -N.
- Fixed a deadlock problem where SMBfsys would send messages out of order when in raw write mode.
- Only the creator of a share prefix can umount that prefix; the creator can do it no matter how many users have access to the share mountpoint.
- Now root is allowed to umount any mountpoint.
- Fixed SIGSEGV issue if there were outstanding messages to a server that wouldn't respond to a mount request.
- Userid name length is now set to system limit.
- Share name length has been increased to 80 characters.
- Default priority is now float.
tail - No longer adds a null character to the end of the list.
- No longer tries to access directories.
traceinfo Added new tracecodes to the listing.
user_smb Userid name length is now set to system limit.
vdir *new* Creates a "virtual" directory that exists entirely in RAM.
xargs Now handles NULL characters.

Patch E release


Caution: The QNX 4 kernel doesn't maintain reference counts on shared-memory fds. If you mmap a pointer to your application, don't close the fd and then shmem_unlink the memory object and continue to reference that memory object through the pointer.

For example, here are the incorrect and correct forms:

Incorrect form:

fd = shmem_open("memory"..);
ptr = mmap(..);

shmem_unlink("memory");
close(fd);
modify data at ptr

Correct form:

fd = shmem_open("memory"..);
ptr = mmap(..);

shmem_unlink("memory");
modify data at ptr

If you don't use the correct form, the memory that your pointer refers to could be given back to the OS for other allocation. As a result, you could end up writing into memory regions owned by another process, thus causing that other process to fail.


In addition to Patch D's fixes, Patch E also includes the following changes:

Module What's Changed
/boot/sys/Proc32 - Implemented the -L2 option as doc'd (disallow inbound network access, but allow unrestricted outbound access).
- Timer/alarm changes -- fixed reply-to-timer requests for non-active timers to give current secs/nsecs of 0, and for active timers so that the previous value reported would be correct (affected alarm() and timer_settime()).
- Kernel interrupt handling -- changed kernel to better handle conditions where heavy interrupt load could cause the kernel to fail a kernel call. This could be seen if an interrupt handler ran for extended periods of time (greater than a timer tick).
- Settimer changes -- changed timer code to trigger a timer when timer exactly equals the current time. Previously, the kernel would trigger the timer only if the timer was less than but not equal to the current time.
buildqnx Minor fix in the parsing for cross-development and a workaround for an embedded problem.
Dev32.par Fixed bidirectional code.
Fsys.aha8scsi Added support for the 2930UW, 2930U2, 2930CVAR, 29160N, and 19160 chipsets.
grep Now allows longer patterns.
hd Modified for compatibility across platforms.
mailx Fixed to handle default /etc/passwd file.
Net.crys8900 - Problem fixed with odd-length packets.
- Fixed buffering problem.
Net.epic - Fixed a problem dealing with oversized packets.
- Now supports fiber interface for LXT970 and Altima Phys.
Net.ether905 Fixed bug in initialization logic for fiber interface (AutoSelect).
Net.ether82557 Now accepts -p for ioport rather than -a.
netinfo Changed all "Daisy" references to "ns83815".
Net.ns83815 - Replaces Net.daisy.
- Removed the unused -N command-line option.
Net.rtl Fixed driver_delay routine.
Net.sym - Removed the unused -N command-line option.
- Added support for SymBios 53C885 (PCI Plug-in board).
nettrap - Added trapping for National Semiconductor DP83815 and Intel PRO/100 VE adapters.
- Now displays IRQ code correctly.
Pcmcia.generic - Option -a now works properly.
- Added support for Ricoh CardBus chip.
pin Fixed bug where the program wouldn't launch a second program if two adapters of the same type were inserted.
printf Added support for hex and octal characters.
textto Now works on files in a ramdisk.
traceinfo Added more tracecodes.

Fixes in Patch G

In addition to Patch E's fixes, Patch G also includes the following changes:

Module What's Changed
Dev32.ser - Modified the driver to work with the new pccard driver.
- Fixed a problem with the driver where it would drop characters if you used the -t command-line option.
Fatfsys - Fixed a bug that prevented the renaming of directories.
- Removed trailing "." from filenames for better Windows emulation.
- Better integration of name cache and short 8.3 filenames.
- Improved handling of non-ASCII characters in on-disk 8.3 filenames.
- Fixed a resource leak on failed calls to rename().
fdisk This version and the QNX Neutrino version of fdisk use the same source.
Fsys - Fixed incorrect mounting of partitions on non-512-byte (MO) media.
- Honors mount -s policy for inode updates during write().
- Extended (undocumented) -H option for large disks (e.g. -Hdisk20).
- Allows fsys_get_mount_dev() on ejected removable media (umount).
Fsys.aha8scsi - Driver now scans for adapters on buses greater than 2.
- Fixed a problem with USCSI ioctls and check conditions.
Fsys.eide Fixed a problem with PCMCIA device removal.
Net Added a filter to get rid of the erroneous ESRCH.
Net.epic - Changed the MDI callback routine to set full/half-duplex correctly.
- Added code to support fiber interface for LXT970 and Altima Phys.
- Fixed oversize packet problem as well as driver-delay problem.
Net.ether1000 - Driver modified to work with new pccard driver.
- Fixed a problem with detection of multiple cards.
Net.ether589 Driver modified to work with new pccard driver.
Net.ether82557 Fixed the -M command-line option so that it doesn't give an error message.

The Net.ether82557 driver works with the Intel PRO/100 S adapter, but doesn't support any of the security features available on this adapter.

Net.ether905 - Made changes to support CardBus ethernet adapters. Added special PCI support to scan additional buses.
- Fixed a problem of switching polarity of LEDs on CardBus adapters.
- Made changes to support 3C905CX-TXM chipset.
- Fixed a problem where PHY didn't power up on certain CardBus adapters.
Net.i82540 *new* Intel i82540 Ethernet network driver. For documentation, see the Helpviewer.

This driver doesn't work with versions earlier than QNX 4.25.

Net.ns83815 No longer transmits garbage on short packets.
Net.rtl Fixed command-line override of MAC address.
Net.sis9 *new* SiS 900 Ethernet network driver.
Net.soho *new* Driver to support Macronix MX98715 chipset.

You must use the new version of the netinfo utility with this driver.

Net.via Fixed a problem with Tx abort status and chip hanging at 10Mb/s.
netinfo - Updated to support new network drivers.
- Fixed a spelling error.
nettrap Added trappers for the following chipsets:
Intel i82540 -- Net.i82540
Macronix MX98715 -- Net.soho
SiS 900 -- Net.sis9
pax Fixed a problem with long directory names.
pc-pin *new* Card status-checking utility.
pccard - PCMCIA/CardBus (PC Card) server.
- This version fixes a problem with memory allocation on Toshiba Tecra 8100.
pccard-launch *new* Utility to launch drivers.
pccardreg *new* Problem-reporting utility.
Pcmcia.generic Now supports Sealevel serial cards.

This won't work if there's an entry for the Sealevel card in the /etc/config/pcmcia.cards file.

Proc32 - Fixed a bug concerning the heavy use of interrupts while creating or destroying timers.
- Proc32 was too aggressive when deleting incomplete vids and sometimes deleted a vid that was in the process of being set up. Proc32 now polls the incomplete vids before deleting them. This lets Net get the VC_CREAT message out before Proc32 deletes the vid.
- Made writes to the tracelog atomic so that they complete before another write to the tracelog ring can occur.
show_pci - Added new vendor and device types.
- Corrected problems with the display of certain device types.
- Added the -b option to display extra buses.

Upgrading to QNX 4.25

This section covers upgrading via the CD Installer as well as upgrading from a previous version of the OS.

Upgrading from the CD Installer

The CD Installer uses a newer convention to name devices like /dev/hd0.0 in your sysinit and boot files; the diskset still uses the classic convention (e.g. /dev/hd0).

Should you mix the two (i.e. the sysinit from the diskset and the boot image from the CD Installer), be sure to keep consistency between them!

Upgrading from QNX 4.x to 4.25

Configuration files

If you're upgrading from QNX 4.x to 4.25, you'll use the -u option to the automatic install program. When you use this option, the system configuration files will not be overwritten; instead, the new files will be installed as regular_name.425.

You should examine the following files and compare them to your existing files to ensure they're suitable for this release:

/etc/default/login.425
/etc/default/passwd.425
/etc/default/profile.425
/etc/default/su.425
/etc/config/netboot.425
/etc/config/netmap.425
/etc/config/lpsrvr.425
/etc/config/pcmcia.cards.425
/etc/config/pcmcia.cfg.425
/etc/config/qtalk.425
/etc/config/sysinit.floppy.425
/etc/config/sysinit.425
/etc/group.425
/etc/issue.425
/etc/motd.425
/etc/passwd.425
/etc/profile.425
/etc/shadow.425
/etc/syslog.conf.425
/etc/termcap.425
/usr/lib/mailx.rc.425

Note: The file /etc/issue is printed when login is invoked without any arguments. The default file contains a message:
Welcome to QNX 4.25
Copyright (c) QNX Software Systems Ltd. 1982,1998

If you don't update this file, then you'll still see the older 4.?? version message.


Files that may not get installed during an update

The following files will be installed only if they're newer than the files currently installed on your system:

/bin/Input
/bin/Mouse
/bin/make
/bin/gmake
/etc/config/pnpmouse
/bin/inputtrap
/usr/bin/int10

Removing /bin32

Since most executables shipped with QNX 4.23 (or later) are 32-bit, we have decided to deprecate /bin32 and ship everything in /bin. This means that /bin32 will no longer exist on freshly installed systems.

Before unpacking all the files from the install disks, the install program will get rid of your /bin32 directory. All files currently in the directory will be moved to /bin.


Note: Some files and links shipped with previous versions of QNX may simply be removed.

A symbolic link will be created from /bin32 to /bin to preserve any references to this directory.


Note: This may cause problems for some third-party products if they're installed after 4.25 (e.g. Watcom wsql). You may need to actually create the /bin32 directory before installing a third-party product. Then after the install, move anything that was installed there to /bin and replace the /bin32 directory with a symlink.

After your system has been updated, you should remove /bin32 from the $PATH of all of your users. The /etc/profile shipped with QNX 4.25 no longer adds /bin32 to $PATH.

Note to Vedit users upgrading from QNX 4.24 (or earlier)

Because of the changes included in the new Vedit, all your customized config files are no longer compatible. Before starting the new Vedit:

  1. Delete any .veditrc, .vedit.cfg, or .vedit.key files in the users' HOME directories.
  2. Configure VEDIT 5.05 as desired and in the same way as before.

Note: Vedit now stores configuration files under the ~/vedit/ directory.

Online documentation

Our HTML-based online documentation can be read by our Photon Helpviewer or by our Voyager HTML browser (or any HTML browser).

If you don't have Photon, we've posted a text-mode help viewer (tmhv) in /usr/free/utils on QUICS. This will let you view the online docs, but with some limitations (tmhv can't display images, handle tables properly, etc.).

Technical support

To obtain technical support for any QNX product, visit the Technical Support section in the Support area on our website (www.qnx.com). You'll find a wide range of support options, including our free, web-based Developer's Network.