Home
Developer Resources
Technical Articles

QNX Technical Articles

QNX® Momentics® 6.3.0 SH4 Critical Patch Installation Note

QNX® Momentics® 6.3.0

Date of this edition: November 02, 2005

Target OS: QNX® Neutrino® 6.3.0

Host OS: Microsoft Windows XP SP1 or 2000 SP4; Sun Solaris 7/8; QNX® Neutrino® 6.3.0; Linux (Red Hat 8/9)

The SH4 Critical Patches address various problems concerning the SH4 architecture, as described in the earlier critical alert. You'll need this patch if you're using an SH4 target system:

  • Renesas Big Sur/Amanda (SH7751R)
  • Renesas Biscayne (SH7760)
  • Renesas SystemH (SH7751R)

Note: The SH4 Critical Patches are included in QNX Momentics 6.3.0 Service Pack 1. We highly recommend that you install SP1 instead of these patches.

The set of patches consists of:

  • SH4 Critical Patch
  • source and binary patches for the Big Sur/Amanda and Biscayne BSPs to address some related board-specific issues
  • source and binary patches for the Flash Filesystem & Embedding TDK.

For more details, see the release notes for each patch. There are no board-specific fixes for the SystemH BSP.


Note: You must install the software in this order:
  1. QNX Momentics 6.3.0
  2. 6.3.0 version of the BSP
  3. 6.3.0 version of the Flash Filesystem & Embedding TDK
  4. SH4 Critical Patch
  5. patches for the Flash Filesystem & Embedding TDK
  6. patches for the BSP.

Contents...

This note includes:

Installation procedure


Note: If you installed 6.3.0 on a Windows machine that already had 6.2.1, and you selected "No" when prompted about upgrading the environment variables, you won't be able to install this patch. (Ref# 23094)

Workaround: Do the following:

  1. Open %PROGRAMFILES%\QNX Software Systems\qconfig\qnx_momentics_6.3.0.xml in a text editor.
  2. Edit the file so that <host> and <target> tags use the proper base directory. For example, if your <base> tag is <base>C:/QNX630</base>, then your <host> tag should be <host>C:/QNX630/host/win32/x86</host>, and your <target> tag should be <target>C:/QNX630/target/qnx6</target>.
  3. From the Start menu, choose All programs or Programs, then choose QNX Momentics 6.3.0-->Configuration.
  4. Switch your configuration either from 6.2.1 to 6.3.0, or from 6.3.0 to 6.2.1. Click OK.
  5. Repeat steps 3 and 4 to make sure that the environment is set correctly.
  6. Repeat steps 3 and 4 to set the configuration to be 6.3.0 (if it wasn't already).
  7. If you find that the above steps don't make a difference, then log out and in again.

Here's how to install each SH4 Critical Patch:

  1. Download the archive to your host environment.
  2. Determine the base directory of your QNX Momentics installation by opening a command shell and using the qconfig command. For example:
    $ qconfig
    QNX Installations
    
    Installation Name: QNX Momentics 6.3.0
    Version: 6.3.0
    Base Directory: /usr/qnx630/
    QNX_HOST: /usr/qnx630/host/qnx6/x86/
    QNX_TARGET: /usr/qnx630/target/qnx6/
      

    The base directory in this example is /usr/qnx630/, but it could be different on your machine, depending on your host and where you installed QNX Momentics.

  3. Extract the archive you downloaded into the base directory:
    Method 1: Command-line based
    For all hosts, you can open a command shell and use the following commands (replacing base_dir with the path found in step 2, and archive with the full path to the downloaded archive):

    cd base_dir
    tar -x -v -f archive

    Method 2: GUI based
    Use any GUI-based application that supports the TAR format (e.g. WinZIP under Windows). Ensure that the destination directory is your base directory.
    Note: If you use WinZIP, choose Options-->Configuration, switch to the Miscellaneous tab in this dialog, and turn off the TAR file smart CR/LF conversion option. If this option is turned on, and you extract the archive, then your shiplist file will contain ^M characters.

  4. Next, you must incorporate the patch into your host system; see below.

Applying the patch

The patch is stored in a directory (or folder) that's separate from your existing development system:

base_dir/patches/630-number/

Some files of interest within the 630-number directory are:

version
Includes the patch number and the build information.
manifest
Contains the checksums of the files shipped in the patch (as generated by the cksum utility).
shiplist
A list of the files included in the patch.

The remaining files in the directory comprise the new software delivered in the patch. As this is a patch to the QNX Momentics Development Suite, this software is contained in two directories:

host
Fixes related to the development tools and environment that runs on the host.
target
Fixes related to components that would be built into QNX Neutrino target systems.

To apply the patch, you need to copy the new files on top of the old ones in your development system.


Caution: Since this is a destructive procedure, we recommend that you create a backup of the affected files.

Making a backup

To create a backup on any of our hosts:

  1. (Windows only) From the command.com prompt, run ksh:
    ksh
  2. Go to the base directory:

    cd base_dir

  3. Make a backup copy of the files that will be overwritten:
    pax -w < patches/630-0027/shiplist > patches/630-0027-backup.tar

    You may ignore the expected error messages that result from pax's attempt to back up nonexistent libgcc.a files for host operating systems other than the one you're using.

  4. Make a backup of default links (POSIX-type hosts) and default versions of files (copied by the mklinks script on Windows hosts). A small number of additional files are also backed up at this stage as a precaution for some systems that had a prior patch applied:
    pax -w < patches/630-0027/shiplist2 > patches/630-0027-backup2.tar
  5. (Windows only) Exit ksh:
    exit

Copying the files - Windows hosts

To apply the patch on a Windows system from the command prompt (remember to switch back to command.com from ksh):

  1. Switch to the drive specified in your base directory (e.g. C:).
  2. Go to the base directory (remember to replace / characters in the base directory with \):
    cd base_dir
  3. Install the host updates:
    xcopy patches\630-0027\host host /s /i /v /y
  4. Install the target updates:
    xcopy patches\630-0027\target target /s /i /v /y

    Now run the mklinks script to copy default files to the necessary locations. Use forward slashes (/) in the pathname you supply to bash:

    cd target\qnx6\shle
    bash base_dir/patches/630-0027/mklinks

Copying the files - Neutrino, Linux, and Solaris hosts

To apply the patch on a Neutrino, Linux, or Solaris system:

  1. Go to the patch directory:
    cd base_dir/patches/630-0027
  2. Install the host updates:
    grep '^host' shiplist | pax -rw base_dir
  3. Install the target updates:
    grep '^target' shiplist | pax -rw base_dir

Technical support

If you have any questions, comments, or problems with a QNX product, please contact Technical Support. For more information, see the How to Get Help chapter of the Welcome to QNX Momentics guide or visit our website, www.qnx.com.