NRAO Home  >  Green Bank  |  Wiki Topic:    GB > Projects > BuildingTheFortyThreeMeterControlSystem (r1.1 vs. r1.6)
   Changes | Index | Contents | Search | Statistics | Jump to Topic:
 <<O>>  Difference Topic BuildingTheFortyThreeMeterControlSystem (r1.6 - 19 Sep 2007 - GlenLangston)
Changed:
<
<

Problem

. How do I build a new release of the control system and install it?

Solution

The following example assumes that the new release is 43m v1.1 and you are using the bash shell as user monctrl.

Note: The CLEO user interface, color graphics system, and PLC programs are not part of this build.

Instructions:

1. Log on to the control system machine wasat as monctrl.

2. Confirm there are no locally modified files in the integration directory by running cvs status

$ cd /home/gbt1/43m
$ cvs status >status

Search the resulting status file for "Locally Modified" or "Needs Merge" files. Files with these statuses need to have whatever action is appropriate taken to make them become "Up to Date". File with status "Needs Patch" are probably ok, but verify that that is the case...

You should also commit any locally modified files in /home/43m/etc and do a cvs update in /home/43m/gbt/etc so the latest files can be associated with the new version.

3. Tag the files in the integration directory using the cvs tag command.

$ cd /home/gbt1/43m
$ 
$ cvs tag release_1_1 .
$ cvs tag -b release_1_1_patches .

4. Create the new source directory.

$ cd /home/gbt2/43m
$ mkdir 1.1
$ cd 1.1
$ cvs checkout -P -r release_1_1_patches 43m

The "-P" will prevent previously removed (aka "empty") directories from being checked out.

Note: You might want to remove some of the source and installation directories for older versions if they are getting pretty old.

5. Set-up your build environment.

$ export YGOR_ROOT=/home/gbt2/monctrl/_latest_version_/ygor
$ export GB_ROOT=/home/gbt2/monctrl/_latest_version_/gb
$ export YGOR_INSTALL=/home/43m/install/v1.1
$ source $YGOR_ROOT/ygor.bash

6. Build the new source tree. You must be on a RTAI target system for this to work

$ cd /home/gbt2/monctrl/_latest_version_/ygor
$ cd /home/gbt2/43m/1.1/43m
$ touch .depend
$ make depend
$ make
$ cd /home/gbt2/monctrl/_latest_release_/ygor/utilities/host/installScripts
$ ./mkTelescopeDirs

7. Inspect the output of the builds to guarantee the release is clean and complete. Errors must be resolved before continuing. Warnings should be forwarded to the responsible programmer.

8. Install the executables generated by the build.

$ cd /home/gbt2/monctrl/_latest_version_/ygor
$ make install
$ cd /home/gbt2/43m/1.1/43m
$ make install

9. TBF!!! Don't know if we have any suid root programs for the 43m...

There are a few executables which must be setuid and owned by root. The setFileModes script run on vortex as root will set the proper modes and ownership.

$ ssh vortex
$ cd /home/gbtversions/<your version>/exec/sparc-solaris
$ sudo /home/gbt/exec/setFileModes
-rwsrwsr-x   1 root     monctrl  7461899 May 17 00:03 antennaMgr
-rwsr-sr-x   1 root     monctrl  7461899 May 17 08:27 antennaMgr.muacu
-rwsr-sr-x   1 root     monctrl  7461899 May 17 08:27 antennaMgr.virgo
-rwsrwsr-x   1 root     monctrl   991474 May 16 23:52 dataCollect
-rwsrwxr-x   1 root     monctrl   229942 May 16 23:56 get_spigot_data
Done.
$

10. If the Linux Sampler kernel module has changed, follow the procedure for installing the samplerdrv driver.

11. If the Kernel module for the STG card has changed, rebuild it.

$ cd /home/gbt2/43m/1.1/43m/devices/antenna/kernel
$ source exportPathStuff.sh
Verify that the platform's compiler in /usr/bin is used in the gcc -v test. Then do:
$ make
$ ./install.sh

12. Use the setVersion command in /home/43m to set the links to the new version. Note that the sparrow link command is currently broken, as the sparrow installation does not follow convention. Make this link by hand:

$ cd /home/43m
$ rm sparrow
$ ln -s /home/sparrow/_latest_version_ sparrow

13. Verify the /home/43m/etc/* directories have The Right Stuff in them.

14. Restart all the M&C daemons on wasat with TaskMaster?.

15. Installing the autostart script in /etc/init.d is an optional step.

copy the script into /etc/init.d

$ sudo su
$ cp /home/43m/bin/i386-linux/43m /etc/init.d
Make a link in rc3.d
$ cd /etc/rc3.d
$ ln -s /etc/init.d/43m S99zb43mstart
Modify the inittab to allow the servo system to run on tty2

This should allow the system to come up running when rebooted. -- JohnFord - 03 Oct 2005

>
>

https://wikio.nrao.edu/bin/view/Mit43M/FortyThreeMeterWikiPages


 <<O>>  Difference Topic BuildingTheFortyThreeMeterControlSystem (r1.5 - 02 Mar 2006 - JohnFord)
Added:
>
>

Modify the inittab to allow the servo system to run on tty2

Added:
>
>

This should allow the system to come up running when rebooted.


 <<O>>  Difference Topic BuildingTheFortyThreeMeterControlSystem (r1.4 - 11 Oct 2005 - JohnFord)
Changed:
<
<

12. Use the setVersion command in /home/43m to set the links to the new version. Note that the sparrow link command is currently broken, as it does not follow convention. Make this link by hand:

>
>

12. Use the setVersion command in /home/43m to set the links to the new version. Note that the sparrow link command is currently broken, as the sparrow installation does not follow convention. Make this link by hand:

Added:
>
>

15. Installing the autostart script in /etc/init.d is an optional step.

copy the script into /etc/init.d

$ sudo su
$ cp /home/43m/bin/i386-linux/43m /etc/init.d
Make a link in rc3.d
$ cd /etc/rc3.d
$ ln -s /etc/init.d/43m S99zb43mstart

 <<O>>  Difference Topic BuildingTheFortyThreeMeterControlSystem (r1.3 - 11 Oct 2005 - JohnFord)
Changed:
<
<

Search the resulting three status files for "Locally Modified" or "Needs Merge" files. Files with these statuses need to have whatever action is appropriate taken to make them become "Up to Date". File with status "Needs Patch" are ok.

>
>

Search the resulting status file for "Locally Modified" or "Needs Merge" files. Files with these statuses need to have whatever action is appropriate taken to make them become "Up to Date". File with status "Needs Patch" are probably ok, but verify that that is the case...

Changed:
<
<

You should also commit any locally modified files in /export/home/43m/etc and do a cvs update in /export/home/43m/gbt/etc so the latest files can be associated with the new version.

>
>

You should also commit any locally modified files in /home/43m/etc and do a cvs update in /home/43m/gbt/etc so the latest files can be associated with the new version.

Changed:
<
<

$ export YGOR_INSTALL=/export/home/43m-install/v1.1

>
>

$ export YGOR_INSTALL=/home/43m/install/v1.1

Changed:
<
<

6. Build the new source tree. You must be on a non-Enterprise machine for this to work

>
>

6. Build the new source tree. You must be on a RTAI target system for this to work

Added:
>
>

$ cd /home/gbt2/monctrl/_latest_version_/ygor

Added:
>
>

$ cd /home/gbt2/monctrl/_latest_version_/ygor $ make install

Changed:
<
<

9. TBF!!! Don't know if we have any suid programs for the 43m... There are a few executables which must be setuid and owned by root. The setFileModes script run on vortex as root will set the proper modes and ownership.

>
>

9. TBF!!! Don't know if we have any suid root programs for the 43m...

There are a few executables which must be setuid and owned by root. The setFileModes script run on vortex as root will set the proper modes and ownership.

Changed:
<
<

$ make install

>
>

$ ./install.sh

Changed:
<
<

12. Use the setVersion command in /export/home/43m to set the links to the new version. 13. Verify the /export/home/43m/etc/* directories have The Right Stuff in them. 14. Restart all the M&C daemons on wasat.

>
>

12. Use the setVersion command in /home/43m to set the links to the new version. Note that the sparrow link command is currently broken, as it does not follow convention. Make this link by hand:

$ cd /home/43m
$ rm sparrow
$ ln -s /home/sparrow/_latest_version_ sparrow

13. Verify the /home/43m/etc/* directories have The Right Stuff in them.

14. Restart all the M&C daemons on wasat with TaskMaster?.

Changed:
<
<

%META:FORM{name="WebForm"}% %META:FIELD{name="TopicClassification" title="TopicClassification" value="PublicFAQ"}% %META:FIELD{name="OperatingSystem" title="OperatingSystem" value="OsLinux"}% %META:FIELD{name="OsVersion" title="OsVersion" value="kernel 2.4.x/RTAI 3.x"}% %META:TOPICMOVED{by="JohnFord" date="1128436177" from="Knowledge.FortyThreeMeterKnowledge" to="Knowledge.FortyThreeMeterControlSystemKnowledge"}%

>
>

%META:FORM{name="Knowledge.WebForm"}% %META:FIELD{name="TopicClassification" title="TopicClassification" value="Select one..."}% %META:FIELD{name="OperatingSystem" title="OperatingSystem" value=""}% %META:FIELD{name="OsVersion" title="OsVersion" value=""}% %META:TOPICMOVED{by="JohnFord" date="1129036196" from="Knowledge.FortyThreeMeterControlSystemKnowledge" to="Projects.BuildingTheFortyThreeMeterControlSystem"}%


 <<O>>  Difference Topic BuildingTheFortyThreeMeterControlSystem (r1.2 - 04 Oct 2005 - JohnFord)
Changed:
<
<

Note: The CLEO user interface, color graphics system, and PLC programs are not part of the this build.

>
>

Note: The CLEO user interface, color graphics system, and PLC programs are not part of this build.

Changed:
<
<

$ cd /home/43m

>
>

$ cd /home/gbt1/43m

Changed:
<
<

$ cd 43m

>
>

$

Changed:
<
<

$ cvs checkout -P -r release_3_13_patches 43m

>
>

$ cvs checkout -P -r release_1_1_patches 43m

Changed:
<
<

11. If the Kernel module for the STG card has changed, follow the procedure for installing the STG kernel driver.?

>
>

11. If the Kernel module for the STG card has changed, rebuild it.

$ cd /home/gbt2/43m/1.1/43m/devices/antenna/kernel
$ source exportPathStuff.sh
Verify that the platform's compiler in /usr/bin is used in the gcc -v test. Then do:
$ make
$ make install
Added:
>
>

13. Verify the /export/home/43m/etc/* directories have The Right Stuff in them. 14. Restart all the M&C daemons on wasat.

Changed:
<
<

%META:FIELD{name="TopicClassification" title="TopicClassification" value="NoDisclosure"}% %META:FIELD{name="OperatingSystem" title="OperatingSystem" value=""}% %META:FIELD{name="OsVersion" title="OsVersion" value=""}%

>
>

%META:FIELD{name="TopicClassification" title="TopicClassification" value="PublicFAQ"}% %META:FIELD{name="OperatingSystem" title="OperatingSystem" value="OsLinux"}% %META:FIELD{name="OsVersion" title="OsVersion" value="kernel 2.4.x/RTAI 3.x"}% %META:TOPICMOVED{by="JohnFord" date="1128436177" from="Knowledge.FortyThreeMeterKnowledge" to="Knowledge.FortyThreeMeterControlSystemKnowledge"}%


 <<O>>  Difference Topic BuildingTheFortyThreeMeterControlSystem (r1.1 - 03 Oct 2005 - JohnFord)
Added:
>
>

%META:TOPICINFO{author="JohnFord" date="1128360323" format="1.0" version="1.1"}%

Problem

. How do I build a new release of the control system and install it?

Solution

The following example assumes that the new release is 43m v1.1 and you are using the bash shell as user monctrl.

Note: The CLEO user interface, color graphics system, and PLC programs are not part of the this build.

Instructions:

1. Log on to the control system machine wasat as monctrl.

2. Confirm there are no locally modified files in the integration directory by running cvs status

$ cd /home/43m
$ cvs status >status

Search the resulting three status files for "Locally Modified" or "Needs Merge" files. Files with these statuses need to have whatever action is appropriate taken to make them become "Up to Date". File with status "Needs Patch" are ok.

You should also commit any locally modified files in /export/home/43m/etc and do a cvs update in /export/home/43m/gbt/etc so the latest files can be associated with the new version.

3. Tag the files in the integration directory using the cvs tag command.

$ cd /home/gbt1/43m
$ cd 43m
$ cvs tag release_1_1 .
$ cvs tag -b release_1_1_patches .

4. Create the new source directory.

$ cd /home/gbt2/43m
$ mkdir 1.1
$ cd 1.1
$ cvs checkout -P -r release_3_13_patches 43m

The "-P" will prevent previously removed (aka "empty") directories from being checked out.

Note: You might want to remove some of the source and installation directories for older versions if they are getting pretty old.

5. Set-up your build environment.

$ export YGOR_ROOT=/home/gbt2/monctrl/_latest_version_/ygor
$ export GB_ROOT=/home/gbt2/monctrl/_latest_version_/gb
$ export YGOR_INSTALL=/export/home/43m-install/v1.1
$ source $YGOR_ROOT/ygor.bash

6. Build the new source tree. You must be on a non-Enterprise machine for this to work

$ cd /home/gbt2/43m/1.1/43m
$ touch .depend
$ make depend
$ make
$ cd /home/gbt2/monctrl/_latest_release_/ygor/utilities/host/installScripts
$ ./mkTelescopeDirs

7. Inspect the output of the builds to guarantee the release is clean and complete. Errors must be resolved before continuing. Warnings should be forwarded to the responsible programmer.

8. Install the executables generated by the build.

$ cd /home/gbt2/43m/1.1/43m
$ make install

9. TBF!!! Don't know if we have any suid programs for the 43m... There are a few executables which must be setuid and owned by root. The setFileModes script run on vortex as root will set the proper modes and ownership.

$ ssh vortex
$ cd /home/gbtversions/<your version>/exec/sparc-solaris
$ sudo /home/gbt/exec/setFileModes
-rwsrwsr-x   1 root     monctrl  7461899 May 17 00:03 antennaMgr
-rwsr-sr-x   1 root     monctrl  7461899 May 17 08:27 antennaMgr.muacu
-rwsr-sr-x   1 root     monctrl  7461899 May 17 08:27 antennaMgr.virgo
-rwsrwsr-x   1 root     monctrl   991474 May 16 23:52 dataCollect
-rwsrwxr-x   1 root     monctrl   229942 May 16 23:56 get_spigot_data
Done.
$

10. If the Linux Sampler kernel module has changed, follow the procedure for installing the samplerdrv driver.

11. If the Kernel module for the STG card has changed, follow the procedure for installing the STG kernel driver.?

12. Use the setVersion command in /export/home/43m to set the links to the new version.

-- JohnFord - 03 Oct 2005 %META:FORM{name="WebForm"}% %META:FIELD{name="TopicClassification" title="TopicClassification" value="NoDisclosure"}% %META:FIELD{name="OperatingSystem" title="OperatingSystem" value=""}% %META:FIELD{name="OsVersion" title="OsVersion" value=""}%


Topic BuildingTheFortyThreeMeterControlSystem . { View | Diffs | r1.6 | > | r1.5 | > | r1.4 | More }
Revision r1.1 - 03 Oct 2005 - 17:25 GMT - JohnFord
Revision r1.6 - 19 Sep 2007 - 12:54 GMT - GlenLangston
Content copyright © 1999-2007 by the contributing authors.
All material on this collaboration platform is the property of the contributing authors.