QNX Technical Articles
QNX® Momentics® Development Suite 6.3.0 Service Pack 2 Character-Set Translation and devi-hid Photon Patch (Patch ID 842) Installation Note
Date of this edition: May 16, 2008
Target OS: This patch is compatible with targets that are running QNX® Neutrino® 6.3.0 SP2, 6.3.0 SP3, or 6.3.2.
Host OS: In order to apply this patch, you must have installed QNX Momentics 6.3.0 SP2, 6.3.0 SP3, or 6.3.2, as a self-hosted QNX® Neutrino® system, or on one of the following host OSs:
Version of QNX Momentics | Microsoft Windows | Linux | Solaris |
---|---|---|---|
6.3.0 SP2 | Windows XP SP1 or SP2, 2000 SP4, or NT SP6a | Linux Red Hat 8, 9, or Enterprise WS 3 or 4 | Sun Solaris 7, 8, or 9 |
6.3.0 SP3 | Windows Vista, XP SP2, 2000 SP4, or NT SP6a | Linux Red Hat 8 or 9, Red Hat Enterprise WS 3 or 4, Red Hat Fedora Core 3 or 4, Debian 3.1, or SUSE 10 | Sun Solaris 7, 8, 9, or 10 |
6.3.2 | Windows Vista, XP SP2, or 2000 SP4 | Linux Red Hat Enterprise Workstation 4 or 5, Red Hat Fedora Core 6 or 7, Ubuntu 6.0.6 LTS or 7.0.4, or SUSE 10 | Not supported. |
For information about the issues that this patch addresses, see the release notes. |
This note includes:
Installation procedure
- Log in as root (or with administrator privileges on Windows).
- On Debian 3.1 hosts, set up your environment by typing:
source /etc/profile
- Download the patch-630SP2-0842-Charset-Photon.tar archive to your host environment.
- 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 SP3 Version: 6.3.0 SP3 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.
- Extract the archive you downloaded into the base directory:
- Windows hosts:
- Open a command prompt (cmd.exe) and switch to the drive indicated in the base directory that you found earlier (e.g. C:).
- Copy the archive to your base directory, replacing base_dir
with the path you found earlier:
copy drive:\patch-630SP2-0842-Charset-Photon.tar base_dir
- Use the following commands to extract the archive contents.
Don't specify the drive letter in the archive path:
cd base_dir
tar -xvf patch-630SP2-0842-Charset-Photon.tar
- Neutrino, Linux, and Solaris hosts:
Open a command shell and use the following commands (replacing base_dir with the path found earlier, and archive_path with the full path to the downloaded archive):
cd base_dir
tar -x -v -f archive_path/patch-630SP2-0842-Charset-Photon.tar
- Windows hosts:
Structure of a patch
The patch is installed in the base_dir/patches/630SP2-0842/ directory. This directory includes:
- 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.
- target
- A directory of fixes related to components that would be built into QNX Neutrino target or runtime systems.
Applying the patch
Next, you must determine how to incorporate the patch into your host system. The patch is stored in a directory (or folder) that's separate from your development system. This allows you some flexibility in how to apply the patch.
There are three methods for using a patch:
- modifying build and configuration files to look in the patch subdirectory
- creating an override directory tree
- replacing the development host files with those from the patch.
Method 1: Modifying build and configuration files
In the first method, you can use the files in the patch by simply modifying buildfiles to include the full path to the files in the patch subdirectory. This allows you to test the patch before committing to it. It doesn't affect your development host. If you choose to stop using the patch, you just need to change the buildfiles back.
Method 2: Using an override directory tree
You can use a similar approach that involves creating an “override” tree. You can tell the system builder and mkifs utilities to look for binaries in a particular subdirectory before looking in the standard location ($QNX_TARGET).
To do this from the command line:
- cd base_dir
- mkdir build
- pax -rw patches/630SP2-0842/target/qnx6/* build/
- Add base_dir/build to your system builder paths. For mkifs, you can use the -r option, specifying the same path.
Method 3: Replacing the development host files
The third method replaces the files on your development host with the patched files.
Since this is a destructive procedure, we recommend that you create a backup of the affected files. |
Creating a backup
To create a backup on any of our hosts:
- (Windows only) From the cmd.exe prompt, run ksh.
- Go to the base directory:
cd base_dir
- Make a backup of the files that will be overwritten:
pax -w < patches/630SP2-0842/shiplist > patches/630SP2-0842-backup.tar
You can use whatever name you like for the backup archive. The pax utility might display some error messages when it attempts to back up nonexistent files for host operating systems other than the one you're using. You can ignore these messages.
- (Windows only) Exit ksh.
Copying the files — Windows hosts
To apply the patch on a Windows system from the command prompt (remember to switch back to cmd.exe from ksh):
- Switch to the drive specified in your base directory (e.g. C:).
- Go to the patch directory (remember to replace / characters
in the base directory with \):
cd base_dir\patches\630SP2-0842
- Install the target updates:
cp -Rp target base_dir\.
Copying the files — Neutrino, Linux, and Solaris hosts
To apply the patch on a Neutrino, Linux, or Solaris system:
- Go to the patch directory:
cd base_dir/patches/630SP2-0842
- Install the target updates:
cp -Rp target base_dir/.
- (QNX Neutrino only) Install the runtime updates:
cd target/qnx6/ cp usr/photon/translations/charsets /usr/photon/translations/charsets cd x86 cp -fRp . /
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.