Building the Entire System

From GammaSphere DAQ
Jump to navigation Jump to search

A multi-stage make is required to build the .munch files for the IOCs. Munch files are raw binary executable for the MVME5500's VxWorks operating system generated by a cross compiler. The cross compiler resides on machine con6, a Sun Solaris machine. This machine has no internal hard disk, it connects to the network file server. This means files can be copied willy-nilly but that doesn't mean they should be. Yes, physicists, I speak to you. DO NOT TOUCH /dk/fs2/dgs/global_sanbox EVER. NO, NEVER!!

How Gammasphere VME IOCs boot

Each of the VME processors in Gammasphere (VME01 - VME12) are embedded processors running the VxWorks operating system, version 5.5. For some history see https://www.windriver.com/blog/vxworks-past-and-future, but don't allow the maximally stupid concept of "upgrading" to enter your mind. Everything in the system is specifically dependent and designed for VxWorks version 5.5, and if you change that, you have contracted to spend the next 5 years of your life attempting to rebuild everything for ZERO functional gain.

When the VxWorks processors are powered on they first boot from an onboard boot loader PROM. If one has access to a console terminal window the data in the PROM may be viewed or edited. The PROM specifies the IP address, user name and location of the boot script that the VME processor will load and execute after the initial PROM boot, and also the location of the VxWorks image.

Boot Host for VME processors

Machine DGS1 is the boot host for VME processors. The VxWorks OS image and the boot scripts for all the VME processors are located on machine DGS1, starting at the folder /global/ioc.

Shared File System

Machine DGS1 and other machines in the data room use a shared file server. The /global folder on many machines is actually just a symbolic link. /global, depending upon which machine you log into, may be one of THREE different locations on the file server:

  * Machines running a 64-bit OS like Rocky Linux will map /global to /dk/fs2/dgs/global_64.
  * Machines running Scientific Linux 6 (e.g. DGS1) will map /global to /dk/fs2/dgs/global_32.
  * One specific machine (CON6), critical to the maintenance of the system, maps /global to /dk/fs2/dgs/global_sandbox.

File Structure of Boot Host DGS1

The root of the boot host is the folder /global/ioc that has subfolders

  • bin
  • boot
  • db
  • dbd
  • dgsSoftIOC
  • epics
  • FW_Maint (Will be deprecated in the imminent future)
  • gui

The places that change when the system is rebuilt are the bin, boot and gui areas.

Compiling the Code used in the VME IOCs

  1. ssh -XY dgs@con6
  2. cd /global/devel/dgsDrivers/dgsDriverApp/src
  3. ./Export_SVN_ParameterFiles.sh
  4. cd ../..
  5. make clean
  6. make
    1. There should be ZERO errors and ZERO warnings. Anything else is a fatal, full, stop.
  7. cd ../dgsIoc
  8. make clean
  9. make
    1. There should be ZERO errors and ZERO warnings. Anything else is a fatal, full, stop.
  10. Log out of con6
  11. Log into dgs1 as dgs
  12. cd /global/ioc/bin/vxWorks-ppc604_long
  13. ./CopyNewMunch.sh

Ensuring EPICS databases are up to date

  1. ssh -XY dgs@dgs1
  2. cd /global/ioc/db
  3. ./Export_SVN_Databases.sh
  4. You will have to reboot all the VME IOCs to load the new databases.
  5. You will have to stop and restart the Soft IOC to load the new databases.