Building the Entire System: Difference between revisions

From GammaSphere DAQ
Jump to navigation Jump to search
No edit summary
No edit summary
Line 10: Line 10:


==== Shared File System ====
==== 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 '''''FOUR''''' different locations on the file server:
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 a 64-bit OS like Rocky Linux will map /global to /dk/fs2/dgs/global_64.
  * Machines running Scientific Linux 7 will map /global to /dk/fs2/dgs/global_sl7.
   * Machines running Scientific Linux 6 (e.g. DGS1) will map /global to /dk/fs2/dgs/global_32.
   * 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.
   * 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 ==
== File Structure of Boot Host DGS1 ==
   
 
<nowiki>
[dgs@dgs1 ioc]$ pwd
/global/ioc
[dgs@dgs1 ioc]$ ls -la
total 220
drwxrwxr-x. 10 dgs dgs    14 Feb 19 15:06 ./
drwxrwxr-x. 11 dgs dgs    14 Sep 28 19:27 ../
drwxrwxr-x. 3 dgs dgs      3 Mar 30  2023 bin/
drwxrwxr-x.  3 dgs dgs    68 Sep 21 18:50 boot/
-rwxrwxr-x.  1 dgs dgs    386 Mar 30  2023 Copy_from_sandbox.sh*
-rwxrwxr-x.  1 dgs dgs    924 Mar 30  2023 Copy_from_svn_checkout.sh*
drwxrwxr-x.  2 dgs dgs    32 Feb  5 16:02 db/
drwxrwxr-x.  2 dgs dgs      3 Feb 19 17:32 dbd/
drwxrwxr-x. 10 dgs dgs    11 Sep 20 13:57 dgsSoftIOC/
drwxrwxr-x.  3 dgs dgs      3 Apr  5  2023 epics/
drwxrwxr-x.  6 dgs dgs      8 Sep  8 16:12 FW_Maint/
drwxrwxr-x.  6 dgs dgs    22 Feb 16 16:36 gui/
-rw-rw-r--.  1 dgs dgs 275916 Feb 19 15:06 tempfile.tmp
-rw-rw-r--.  1 dgs dgs  6321 Sep  8 14:45 WikiExtract.txt
[dgs@dgs1 ioc]$
</nowiki>
 


=== Compiling the Code used in the VME IOCs ===
=== Compiling the Code used in the VME IOCs ===

Revision as of 23:45, February 19, 2024

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

[dgs@dgs1 ioc]$ pwd /global/ioc [dgs@dgs1 ioc]$ ls -la total 220 drwxrwxr-x. 10 dgs dgs 14 Feb 19 15:06 ./ drwxrwxr-x. 11 dgs dgs 14 Sep 28 19:27 ../ drwxrwxr-x. 3 dgs dgs 3 Mar 30 2023 bin/ drwxrwxr-x. 3 dgs dgs 68 Sep 21 18:50 boot/ -rwxrwxr-x. 1 dgs dgs 386 Mar 30 2023 Copy_from_sandbox.sh* -rwxrwxr-x. 1 dgs dgs 924 Mar 30 2023 Copy_from_svn_checkout.sh* drwxrwxr-x. 2 dgs dgs 32 Feb 5 16:02 db/ drwxrwxr-x. 2 dgs dgs 3 Feb 19 17:32 dbd/ drwxrwxr-x. 10 dgs dgs 11 Sep 20 13:57 dgsSoftIOC/ drwxrwxr-x. 3 dgs dgs 3 Apr 5 2023 epics/ drwxrwxr-x. 6 dgs dgs 8 Sep 8 16:12 FW_Maint/ drwxrwxr-x. 6 dgs dgs 22 Feb 16 16:36 gui/ -rw-rw-r--. 1 dgs dgs 275916 Feb 19 15:06 tempfile.tmp -rw-rw-r--. 1 dgs dgs 6321 Sep 8 14:45 WikiExtract.txt [dgs@dgs1 ioc]$


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.