Skip to main content

VxWorks Directory Structure and Package Management

·762 words·4 mins
VxWorks Layer
Table of Contents
Free Training - This article is part of a series.
Part 9: This Article

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.

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/

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.

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

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.

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

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

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

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.

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.
Free Training - This article is part of a series.
Part 9: This Article

Related

Introduction to Projects and Workspaces
·475 words·3 mins
VxWorks Project Workspaces
Workbench Tools Architecture
·404 words·2 mins
Workbench VxWorks
Booting a Hardware Target
·597 words·3 mins
Bootrom VxWorks