Chapter 2
Installation
2.1 Introduction
This chapter explains how to install the Core Framework, the IDE, and the basic assets. 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.
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:
- configuring the host system to install REDHAWK dependencies from Fedora EPEL,
- downloading and configuring the REDHAWK YUM repository on the host system,
- installing the REDHAWK software, and
- setting up the user environment for immediate REDHAWK runtime or development use.
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:
2.2.2 Downloading and Configuring the REDHAWK Yum Repository on the Host System
The following conventions are used in the instructions that follow.
|
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.
2.2.2.1 Downloading the YUM Archive of REDHAWK
Download the archive of the desired version of REDHAWK for your host OS and architecture.
2.2.2.2 Setting Up the REDHAWK Repository
- In the directory that you want to use for the REDHAWK yum repository, extract the contents of the tar file.
- 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, and accompanying dependencies from RPMs.
- To install only the runtime REDHAWK software, enter the following command:
- To install the REDHAWK development software, enter the following command:
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
- Enter the following commands to set up the environment variables:
- 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.
- 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.
- Enter the following command to start the omniNames and omniEvents services:
- For CentOS 6 systems, to have omniNames and omniEvents start automatically at system boot (recommended), enter the following commands:
- 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 (http://omniorb.sourceforge.net/omni41/omniORB/omniORB004.html.
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.
- 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.
- 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.
- 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.
- Start the Device Manager.
Any Devices in the Node are registered with the Domain Manager.
- 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/jacorb.properties). 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.

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