View on GitHub

Chapter 2

2.1 Introduction

This chapter explains how to install the Core Framework, the IDE, the basic assets, and the REDHAWK Enterprise Integration software. The Core Framework is the software back-end of REDHAWK. The IDE is a Graphical User Interface (GUI) for development and interaction with REDHAWK systems. The basic assets are a collection of Components, Devices, and Waveforms that developers can use to create simple software-defined radio Applications. The REDHAWK Enterprise Integration software is a suite of software for interacting with a REDHAWK Domain in the Java Runtime Environment.

To configure and install REDHAWK and associated dependencies, you must have root permissions. The REDHAWK installation is compatible with Red Hat Enterprise Linux (RHEL) or Community Enterprise Operating System (CentOS) 6 (32-and 64-bit) and RHEL or CentOS 7 (64-bit). The current REDHAWK release was tested against CentOS 6.8 (32-and 64-bit) and CentOS 7.2 (64-bit).

2.2 Installing REDHAWK from RPMs

This section provides step-by-step instructions for installing a REDHAWK release using the YUM command-line package management tool. The installation process includes:

Before beginning the installation process, if you are upgrading from a 1.8.x version of REDHAWK or for more information about external dependencies, refer to Appendix B.

2.2.1 Configuring the Host System to Install REDHAWK EPEL Dependencies

REDHAWK has several open-source software dependencies from the EPEL repository. If your system is not configured to receive software packages from EPEL, you can configure it as follows:

For RHEL/CentOS 7:

For RHEL/CentOS 6:

2.2.2 Downloading and Configuring the REDHAWK Yum Repository on the Host System

The following conventions are used in the instructions that follow.





REDHAWK version



Linux distribution as represented by rpm macros

el6 (for CentOS 6)


host architecture


Adjust the variables to match the desired REDHAWK version, host Linux distribution, and host machine architecture. For example, for REDHAWK version 2.0.3, 64-bit CentOS 6, redhawk-yum-2.0.3-el6-x86_64.tar.gz. Downloading the YUM Archive of REDHAWK

Download the archive of the desired version of REDHAWK for your host OS and architecture. Setting Up the REDHAWK Repository

  1. In the directory that you want to use for the REDHAWK yum repository, extract the contents of the tar file.
  2. Install the redhawk-release package (containing the REDHAWK GPG Signing Key):
  3. Enter the following commands to add the following file, /etc/yum.repos.d/redhawk.repo:

2.2.3 Installing the REDHAWK Software

Use one of the following options to install the IDE, Core Framework, REDHAWK Enterprise Integration, and accompanying dependencies from RPMs.

If you want to be more selective about the packages you install, refer to Appendix A for a list of packages that can be installed. If you want to install a stand-alone IDE, refer to Appendix C.

2.2.4 Setting Up the User Environment

  1. Enter the following commands to set up the environment variables:
  2. Use the following command to add each REDHAWK user to the redhawk group:

    Where <user name> is the name of a user to add to the group. If you are logged into an account that you modify with usermod, you must log out and back in for the changes to take effect.

2.3 Configuring omniORB

The omniORB configuration file (/etc/omniORB.cfg) must be edited to provide information about how to reach the Common Object Request Broker Architecture (CORBA) name service. By default, the config file contains the following entries:

The NameService line provides information about how to reach the CORBA naming service. The number is an IP address followed by a colon and a Port number. The Port number is used as a default if no other number is specified. SupportBootstrapAgent is a server side option. This enables omniORB servers and Sun’s JavaIDL clients to work together. When set to 1, an omniORB server responds to a bootstrap agent request.

  1. Add the following line to the config file to configure the CORBA event service (this requires root permissions):

    The first number is the IP address followed by a colon and a Port number. omniEvents is the object key.

  2. Enter the following command to start the omniNames and omniEvents services:
  3. For CentOS 6 systems, to have omniNames and omniEvents start automatically at system boot (recommended), enter the following commands:
  4. For CentOS 7 systems, to have omniNames and omniEvents start automatically at system boot (recommended), enter the following commands:

For more information about omniORB configuration file settings (/etc/omniORB.cfg), refer to Chapter 4 of the omniORB User’s Guide (

2.3.1 Configuring omniORB for Distributed Systems

If you want to run a Domain Manager and Device Manager from two different computers, the following procedure explains how to configure omniORB for distributed systems.

  1. On the computer from which you want to run the Domain Manager, start omniNames and omniEvents and then launch a Domain Manager.

    The firewall may need to be disabled to allow the Device Manager to connect.

  2. On the computer from which you want to run the Device Manager, modify the omniORB.cfg file so that the IP address for the NameService and EventService is the address of the computer running the Domain Manager.

    The following example is a modified Domain Manager omniORB.cfg file:

    The following example is a modified Device Manager omniORB.cfg file:

    Neither omniEvents nor omniNames needs to be running on this computer.

  3. On the computer running the Device Manager, test that you can see the Domain Manager by running nameclt list.

    The name of the Domain Manager is displayed.

  4. Start the Device Manager.

    Any Devices in the Node are registered with the Domain Manager.

  5. To verify that you can view both the Device Manager and Domain Manager, from either computer, run nameclt list <Domain Manager Name>.

    The Device Manager and Domain Manager are displayed.

omniORB may have trouble automatically resolving its location. In this case, it may be necessary to set the endpoints in the omniORB.cfg files by adding the following to each omniORB.cfg file: endpoint = giop:tcp:<IP address of Machine>. You must restart omniEvents and omniNames for these changes to take effect.

Run rh_net_diag to help diagnose any problems. Refer to Appendix H for more information on how to use rh_net_diag.

2.4 Configuring JacORB to Support the IDE

The IDE uses JacORB version 3.3 for CORBA communication. The IDE includes a configuration file for JacORB in the IDE’s directory (in configuration/ The file includes explanations and examples for many of JacORB’s configuration options. For more information, refer to chapter 3 of the JacORB 3.3 Programming Guide. Typically, there is no need to adjust any JacORB settings.

Creative Commons License
REDHAWK Documentation is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.