Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The RCE core software is updated over the network using the SDK and its utilities.

The updates are first uploaded to the DTM which serves the files to the RCEs over NFS.made available to RCEs using two methods:

  1. DTM based NFS server
  2. Host based NFS server

Each RCE is then externally commanded to download and apply the updates from the DTM.

Note that the SDK release contains all files to be uploaded.

If you are supplying your own fpga.bit, you must put your file in the SDK directory.

If you do not want to update fpga.bit, remove the default fpga.bit contained in the SDK before upgrading.

arm-linux-rceCA9/tgt/boot/dpm/fpga.bit

To perform the upgrade:

Download and install the latest RCE SDK

Choose a COB to update

Ensure all RCEs in COB have been freshly rebooted

Upload RCE core software to DTM

First cd to the SDK directory and prepare the DTM by executing the uploadSDK command

For example, prepare DTM with ID shasta/4/0/0 using network interface eth1.204:

i86-linux-64/tools/uploadSDK arm-linux-rceCA9 shasta/4/4/0 eth1.204
Looking up shasta/2/4/0...
...Got it: 192.168.204.253
Uploading arm-linux-rceCA9 to shasta/4/4/0
Configuring SDK update on shasta/4/4/0

Command one or more RCEs to apply the update using the dsl_update command.

For example, upgrade RCE shasta/4/3/2 from DTM shasta/4/0/0 using interface eth1.204:

IMPORTANT!

Test update on a single RCE prior to updating an entire COB or shelf.

Make sure the update completes without error and the RCE successfully boots.

DTMs control the network connection for DPMs.  Do not simultaneously broadcast an update to DTMs and DPMs.

If a DTM updates or reboots while a DPM is updating, the network connection will be lost, and the update will fail.

If you are supplying your own fpga.bit, you must put your file in the SDK directory.

If you do not want to update fpga.bit, remove the fpga.bit contained in the SDK before upgrading.

arm-linux-rceCA9/tgt/boot/dpm/fpga.bit
arm-linux-rceCA9/tgt/boot/dtm/fpga.bit

To perform the upgrade:

Download and install the latest RCE SDK.

Choose a COB to update.

Ensure all RCEs in COB have been freshly rebooted to the target OS.

Chose an update server method.

Update Server Method 1: Upload RCE core software to DTM

First cd to the SDK directory and prepare the DTM by executing the uploadSDK command.

For example, prepare DTM ID shasta/4/0/0 for the arm-linux RCEs using network interface eth1.204:

i86-linux-64/tools/uploadSDK arm-linux-rceCA9 dsl_update --ip `atca_ip shasta/4/4/0 --ifname eth1.204` --ifname eth1.204 shasta/4/2/2

(For SDK versions V1.5.0 or less, add these additional arguments to the command)

--src /srv/nfs4/dsl --file tools/update-target.sh --tmo 4000

Wait 60 to 90 seconds for the upgrade to complete and for the RCE to reboot.

...

204
Looking up shasta/2/4/0...
...Got it: 192.168.204.253
Uploading arm-linux-rceCA9 to shasta/4/4/0
Configuring SDK update on shasta/4/4/0

Update Server Method 2: Copy SDK to host NFS directory

Make sure the entire SDK directory is read accessible to the shelf network via NFS.

Ensure that the root path to the SDK is less than 32 characters.

If necessary, create a soft link in NFS space to the SDK directory:

i.e. ln -s /nfsexport/project/RCE/sdk/V1.10.0/arm-linux-rceCA9 /nfsexport/project/RCE/sdk

Command one or more RCEs to apply the update using the dsl_update command.

For example, upgrade RCE shasta/4/3/2 from DTM shasta/4/0/0 using interface eth1.204:

dsl_update --ip `atca_ip shasta/4/4/0 --ifname eth1.204` --ifname eth1.204 shasta/4/3/2

In this example, upgrade all shasta/2 DPMs using a host NFS exported SDK on interface eth1.204:

dsl_update --ip 192.168.204.12 --src /nfsexport/project/RCE/sdk --sm shasta-sm --ifname eth1.204 shasta/2/DPM

Where 192.168.204.12 is the IP address of the NFS server on the shelf network,

/nfsexport/project/RCE/sdk is a soft link to the NFS exported SDK directory,

and shasta-sm is the IP address/hostname of the shelf manager.

(For SDK versions V1.10.0 and up, this additional dsl_update argument is used to monitor the update status)

--sm <shelf_manager_ip>

(For SDK versions V1.5.0 or less, add these additional dsl_update arguments are required for server method 1)

--src /srv/nfs4/dsl --file tools/update-target.sh --tmo 4000

Wait 60 to 90 seconds for the upgrade to complete and for the RCE to reboot. (output shown for V1.10.0 and up using --sm switch)

Slot 4 : Had Responses
RCE 3/2 : OS: RTEMS (ID:0x00000000 STATUS:0x0)
Waiting for update completion.....................
Slot 4 : Update complete!

Check RCE network connectivity using dsl_identify to ensure the upgrade was successful.

For example:

dsl_identify shasta/4/23/2 --ifname eth1.204
Slot 4 : Had Responses
RCE 23/2 : OS: LINUX IP: 192.168.204.21 ID: 0x00000000 V1.510.0

 

Introduction
=============
Starting with V0V1.110.0, all RCE SDKs and corresponding SD images include tools
to update the core OS and system files residing on the target filesystem.

...

RCE COB update example (excludes DTM):
--------------------------------------
dsl_update --ip 192.168.204.1 --src /srv/nfs4/dsl --file tools/update-target.sh
--ifname em2 --id 0x12345678 --tmo 8000
egbert/1/DPM
dsl_update
=======================
usage: dsl_update --ip ip --src src --file file [options] location
-v Verbose output: report things which don't respond.
--ip IP address of update server
--src Path of update source directory on server (max 31 chars)
--file Path of update file relative to source directory (max 31 chars)
--ifname The name of a NIC which can see the shelf.
--id 32-bit identifier for update transaction
--tmo Response timeout in milliseconds
location An RCE location. May be wildcarded

...


usage: dsl_update --ip ip --src src --file file [options] location
-v Verbose output: report things which don't respond.
--ip IP address of update server
--sm Hostname or IP address of shelf manager
--src Path of update source directory on server (max 31 chars)
--file Path of update file relative to source directory (max 31 chars)
--ifname The name of a NIC which can see the shelf.
--id 32-bit identifier for update transaction
--tmo Response timeout in milliseconds
location An RCE location. May be wildcarded
Broadcast 'update yourself' packet to a network. All running
RCEs matching the wildcarded location on that network will
update target filesystem by executing ip:src/file.

Checking the Update Status (V1.10.0 and up)
===========================
The dsl_update command will monitor the status of the update using the shelf manager.
To enable this, add the --sm <shelf_manager_ip> argument to the dsl_update command.

 

Checking the Update Status (V1.0.0 and up)
===========================

...