Versions Compared

Key

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

...

 

TFTP Server

Subnet

Server

Gateway

RTEMS Image

Development

lclsdmz

lcls-dev2 dev3

134.27.2192196.12 240

132.79.219.1

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

Production

lclsca

lcls-builder srv04

172.27.8.11 28

172.27.8.1

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

...

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.

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

...