Versions Compared

Key

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

...

In order to use the tftp server your ethernet wall connection MUST be on the lclsdev subnet (ie 134.79.219.xxx) or the lclsdmz subnet (ie 134.79.151.xxx). Note that the "xxx" needs to be replaced with the correct value from your own address. If your ethernet wall connection is NOT on the lclsdev or lclsdmz subnet then you can load the flash in your cpu from another configured cpu (of the same model). This is done by copying the flash in the configured cpu over the VME backplane to the cpu you intend to flash. Instructions on how to perform this operation can be found by clicking here.

 


Subnet

TFTP

Server

Subnet

Server

Gateway

RTEMS Image

Development

lclsdmz

lcls-

dev2

dev1

134.

27

79.219.

12

136

132.79.219.1

/rtems/4.

7

10.

1

2/powerpc-rtems/beatnik/img/netboot.flashimg.bin

Production

LCLS

lclsca

lclsioc

lcls-

builder

srv04

172.27.8.

11

28

172.27.8.1

/rtems/rtems-4.

7

10.

1

2/target/ssrlApps/powerpc-rtems/beatnik/img/netboot.flashimg.bin

FACETfacetca

lcls-srv04

172.27.8.28


172.27.72.1/rtems/rtems-4.10.2/target/ssrlApps/powerpc-rtems/beatnik/img/netboot.flashimg.bin

The "-s" parameter allows us to specify the server address. For the lclsdev The "-s" parameter allows us to specify the server address. For the lclsdev subnet, it is 134.79.219.12, the address of the lcls-dev2 server. For the lclsdmz subnet, it is 134.79.219.12, the address of the lcls-dev2 server. For the lclsdmz subnet, it is 134.79.155.15, the address of the mccdev VMS server. The "-m" parameter indicates a netmask to use to access the server.
Finally, the "-f" parameter indicates the name of the file (under /tftpboot on lcls-dev, elsewhere on mccdev) containing the sequence of values to be loaded into memory.

Panel

MVME6100>tftpGet -c<cpu_ip> -s1<servers<tftp server_ip> -g<gateway_ip> -m255.255.252.0 -f<rtems_flash_image>

Network Loading from: /dev/enet0
Loading File: mv6100/netboot-mve.flashimg.bin
Load Address: 005C3000

Client IP Address = <cpu_ip>
Server IP Address = <server_ip>
Gateway IP Address = <gateway_ip>
Subnet IP Address Mask = 255.255.252.0

Network File Load in Progress...

Bytes Received =&614736, Bytes Loaded =&614736
Bytes/Second =&204912, Elapsed Time =3 Second(s)
MVME6100>

For the mvme6100 processor, the command is identical. The same version of the NetBoot program is downloaded, although the output on the screen will be slightly different.
At this point, we'll disable the network activity on all adapters, to ensure nothing interrupts us while we copy the image to flash memory. This is not essential, because it is not likely that any network activity would have an effect on the system at this point.

Example:

MVME6100> tftpGet -c134.79.219.146 -s134.79.219.136 -g132.79.219.1 -m255.255.252.0 -f/rtems/4.10.2/powerpc-rtems/beatnik/img/netboot.flashimg.bin
Network Loading from: /dev/enet0
Loading File: /rtems/4.10.2/powerpc-rtems/beatnik/img/netboot.flashimg.bin
Load Address: 006B7000
Download Buffer Size = 00200000

Client IP Address      = 134.79.219.146
Server IP Address      = 134.79.219.136
Gateway IP Address     = 132.79.219.1
Subnet IP Address Mask = 255.255.252.0

Network File Load in Progress...

Bytes Received =&824776, Bytes Loaded =&824776
Bytes/Second   =&824776, Elapsed Time =1 Second(s)
MVME6100>


Panel

MVME6100> netShut
/dev/enet0 Disabled
/dev/enet1 Disabled
MVME6100>

...

  • First, we're going to confirm that the flash memory was written correctly, and test the boot procedure at the same time. The bmw command performs a Block Move Word request, and it ensures that the data being copied is word aligned. The idea is to do exactly what the normal boot procedure will do with each subsequent reboot of the processor; it will copy the contents of the persistent flash memory into main memory using the bmw command.
  • We could easily just tell the processor to boot from the downloaded image that is still in memory, at address 5C3000 (for the mvme5500). But using bmw to copy the memory from flash will ensure that the flash memory contains the right stuff.
  • If we look back to the output from the flashProgram command in a previous step, we see that the "Destination Starting/Ending Addresses" was printed out. This is the address in Flash memory that has the copy we need. This is handy, since the bmw command needs the start and end addresses (rather than the number of bytes, as one might expect.)
    • The "-a" and "-b" parameters indicate the start and end addresses of where we want to copy from (the source of the copy.) The "-c" parameter indicates the location to which the data will be copied. In this example, we'll copy the data to location 4000000 in main memory.
    • First, type the following:
Panel

MVME6100> bmw -af4000000 -bf40fffff -c4000000
MVME6100>

    • After copying the data, we can use the go command to start executing the instructions represented by that data. Shortly after the program begins, it will attempt to load the rest of the RTEMS software into memory from the network.
    • Instead of allowing that to happen, we can press any character on the keyboard to interrupt the process. You only have a couple of seconds to interrupt the process, but at that point, you will have the attention of the netBoot software, and can change its configuration parameters. Keep in mind that the prompt only stays there for a few seconds, so pay close attention and press any key when you see that prompt.

...

    • At this point, you've confirmed the flash memory contains the right data. The netBoot software will recognize several commands from your keyboard, and it's listed them after you've interrupted its boot process.
    • Normally when it runs, netBoot attempts to download the software that you ultimately want to use. To do so, it keeps several parameters in non-volatile memory (NVRAM.)
    • Now you're going to set those various parameters and record them in NVRAM. Press "c" to change the parameters that netBoot will use to download software. Keep in mind that your own processors IP address must be entered under "My IP", just as it's name.
    • Typically, only the fields marked "My IP", "My name" and "Command Line Parameters" will have values unique to your processor. All other fields should be entered as you see here. If you have questions, please ask a Controls Software Engineer from theEPICS Team.
      • The field "Command Line Parameters" is set to:
        • (booting from NFS): INIT=/boot/epics/iocCommon/user, followed by a path to your boot-up script. If you're using the AFS filesystem, which is common at SLAC, then your path will typically be something like /u/<two-chars>/<login user-id>/path-to-example. If you are booting out of the shared lcls group space, the boot-up script is /boot/g/lcls/epics/iocCommon/"<your-node-name>"/st.cmd. See the example below.

          Panel

          Changing NVRAM configuration
          Use '<Ctrl>-k' to go up to previous field
          Use '<Ctrl>-r' to restore this field
          Use '<Ctrl>-g' to quit+write NVRAM
          Use '<Ctrl>-c' to quit+cancel (all values are restored)
          Use '<Ctrl>-x' to reboot
          Boot file (e.g., '/TFTP/1.2.3.4/path', '~rshuser/path' or 'nfshost:/dir:path'):
          >magenta:afsnfs2:/afs/slac:/package/4.7.1/target/ssrlApps/powerpc-rtems/beatnik/bin/rtems.exe~~
          Command line parameters:
          >INIT=/boot/g/lcls/epics/iocCommon/lclsdev-33/st.cmd
          Server IP: ><server_ip>
          Gateway IP: ><gateway_ip>
          My IP: ><cpu_ip>
          My netmask: >255.255.252.0
          My name: ><cpu_nodename>
          My domain: >slac.stanford.edu
          Loghost IP: >
          DNS server 1: >134.79.18.40
          DNS server 2: >134.79.18.41
          DNS server 3: >
          NTP server 1: >134.79.18.40
          NTP server 2: >134.79.18.41
          NTP server 3: >134.79.18.34
          Use BOOTP: Yes, No or Partial (-> file and
          command line from NVRAM) Y-N-P>N
          Autoboot Delay: 0_.30secs (0==forever) >5
          CPU Temp. Calibration - (LEAVE IF UNSURE) >

          NVRAM configuration updated

    1. Now you can continue with the boot process. When you're done setting the values in the previous step, you'll be given the list of netBoot commands again. Type "m" to continue with the boot process to make sure everything is correct.
    2. You'll see a very long set of messages come from the processor console, ending in a prompt that says "Cexp>". RTEMS has successfully started running on your processor.
    3. To get back to MOTLoad, type:
Panel

Cexp>rtemsReboot()

Saving an Automatic Boot Script

...