VxWorks Directory Structure and Package Management

VxWorks Directory Structure and Package Management

Learning Objectives

After this section you will be able to:

  • Navigate the VxWorks file directory
  • Understand what a layer is and its role in VxWorks

File hygiene is important on any project, so it is important to know where everything is. This section will guide you through the VxWorks file system.

The Journey through the file system

Step by step to learn about the VxWorks file structure.

Step 1

Top of the Installation Directory

Top of the Installation Directory

The top-level directory of your installation contains:

3pp-download/ compilers/ download/
etc/ legal-notices/ license/
maintenance/ readme/ setup/
utilities/ vxworks/ workbench-4/

Step 2

Compilers

This directory contains the compilers installed with your VxWorks. Third party compilers are supported and would be installed here too. By default, it has two:

  • lvm
  • Rust

VxWorks supports multiple versions of the same compiler, so if errors are encountered, you can easily revert to the old compiler.

For details on how to port a third-party compiler, refer to the VxWorks Configuration and Build Guide.

Step 3

Miscellaneous Directories

The top-level directory of your installation contains the following subdirectories for miscellaneous purposes:

  • etc/ contains installation configurations
  • license/ contains user license files
  • maintenance/ contains the Wind River installer utility
  • utilities/ contains various important binary utilities used by Workbench
  • setup/ contains product installation scripts

Step 4

workbench-4 Directory

Workbench 4 Directory

In this directory you will find all the files pertaining to the Workbench IDE. Some notable paths from here are:

  • Samples- This gives an example project for each of the VxWorks project types.
  • Simulator and Simics- These contain the files for the VxWorks simulator and the Simics simulator.
  • startWorkbench.bat- This is a startup script to launch Workbench.

Step 5

vxworks Directory

vxworks Directory

This is the VxWorks release directory. In this course it is 22.06 but yours may be different. It can be found at vxworks/release, this directory contains the following subdirectories:

  • docs/ contains product documentation
  • host/ contains development host utilities
  • man/ contains API references
  • samples/ contains example and prebuilt projects

Step 6

source Directory

source Directory

Within the source directory you will find all the components that VxWorks uses to build the VSB. It can be found in vxworks/release/source and contain the following subdirectories:

  • boot/ contains boot loader technology (such as BIOS, UEFI, and VxBL)
  • build/ contains makefiles and build rules
  • contrib/ contains third-party layers
  • features/ contains feature CDF files
  • installset_data/ contains a list of installed layers, BSPs, architectures, and compilers
  • os/ contains the VxWorks kernel layers

Step 7

VxWorks Layers Directory

VxWorks Layers Directory

The Layers directory contains VxWorks libraries and components. The directory is located at vxworks/release/source/os and contains the following subdirectories:

  • arch/ contains architecture layers
  • connectivity/ contains USB, FireWire, Bluetooth, and other layers
  • container/ contains container runtime and management layers
  • multimedia/ contains UI layers
  • net/ contains the network stack
  • security/ contains OpenSSL, crypto, and others
  • storage/ contains file systems

Step 8

Board Support Packages Directories

Board Support Packages Directories

The BSP directory is located at vxworks/release/source/os/arch.

BSPs are categorized by their architecture (Arm, Intel, PowerPC, or RISC-V) and, in the subsequent board directory, their silicon vendor.

Step 9

The Git Directory

By default, the VxWorks installer installs the kernel source code in a Git directory. The Git directory let you perform source code management on the VxWorks source code, such as:

  • Commits
  • Branches
  • The use of remote Git Repositories

You do not need these source code management actives to build or use VxWorks. In essence, the kernel source code Git directory acts as a traditional, unmanaged file system directory.

You can also disable the Git option. In that case, the installer deploys the kernel sources as an unmanaged install tree directory.

Summary

Now that you have seen where all the different directories are located, take a look through them. Many projects require third-party plug-ins and custom libraries, and now you are equipped with navigating them.

With VxWorks, you can customize a feature... through layers.

Layers deliver features that a VSB project can build into VxWorks libraries.

Inside and Outside Layers

Inside Layer

An inside layer is located in the Wind River install directory, at installDir/vxworks/release/source/os/. All layers provided by Wind River are considered inside layers, and many custom layers are too.

Outside Layer

Outside layers are created and saved outside of the Wind River installation directory. As an example, board venders who write drivers or BSPs may want to deliver their software without modifying the install directory of VxWorks.

The workflow to create, use, and share custom inside or outside layers is as follows:

  1. Create a layer on a workstation.
  2. Add the layer to a VSB and test it with a VIP.
  3. Export the layer in an RPM.
  4. Import the layer RPM on another workstation containing a fresh VxWorks installation.
  • You can uninstall custom layers without adversely affecting the Wind River installation, even if they are inside layers.