...
Next, download the NetBoot program into the IOC. Use the network address that you obtained during "Inventory".
It needs to be entered with the tftpGet command, after the "-c" (for client) on the command line. Note that the backslash () is put at the end of the line as a continuation marker. You can simply type the remainder of the command without the backslash.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) or the lclsca subnet (ie 172.27.yyy.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
You can also 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 .
The "-s" parameter allows us to specify the server address:
For the lclsdev subnetdevelopment, it is 134.79.219.136, the address of the lcls-dev1 server. Note: Users are not allowed to log onto lcls-dev1.
For the lclsdmz subnet, it is 134.79.155.15, the address of the mccdev VMS server.
For the lclsca subnet, it is 172.LCLS production, it is 172.27.8.4128, the address of the lcls-builder srv04 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 lclslaci@lcls-dev1, elsewhere on mccdev) Note: User's are not allowed to log onto lcls-dev1
containing the sequence of values to be loaded into memory.
For the lclsdev subnet, it is It is set to /rtems/4.910.42/powerpc-rtems/beatnik/img/netboot.flashimg.bin
For the lclsdmz subnet, it is /rtems/4.9.4/powerpc-rtems/beatnik/img/netboot.flashimg.bin
for the lclsca subnet, it is /rtems/4.9.4/powerpc-rtems/beatnik/img/netboot.flashimg.bin_for both production and development. Note that the mount for tftp is mapped to from the environment variable $TFTPBOOT on the development and production control systems. Therefore if you "cd $TFTPBOOT" the path following "-f" should exist.
Panel |
---|
On development for rtems 4.10.2 |
Panel |
---|
On the lclsdev subnet for rtems-4.9.4: Host w/tftp server is lcls-dev1 MVME5500>tftpGet -c134.79.219.49 -s134.79.219.136 -g134.79.219.1 \ -m255.255.252.0 -f/rtems/4.910.42/powerpc-rtems/beatnik/img/netboot.flashimg.bin |
On the lclsdmz subnetproduction:
Panel |
---|
For MVME6100: Example: For a client that has an IP address 172.27.2.179: MVME6100> tftpGet -c172.27.2.179 -s172.27.8.28 -g172.27.0.1 MVME5500>tftpGet -c134.79.151.xxx -s134.79.151.15 -g134.79.151.1 \ -m255.255.252.0 -f/rtems/4.9.5/target/ssrlApps10.2/powerpc-rtems/beatnik/img/netboot.flashimg.bin
|
On lclsca subnet
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 = 172.27.2.179 Server IP Address = 172 |
Panel |
---|
For MVME6100: Example: For a client that has an IP address 172.27.11.23: MVME6100> tftpGet -c172.27.11.23 -s172.27.8.41 -g172 Gateway IP Address = 172.27.80.1 -m255 Subnet IP Address Mask = 255.255.252.0 -f/rtems/4.9.4/powerpc-rtems/beatnik/img/netboot.flashimg.bin Network Loading from: /dev/enet0 Loading File: /rtems/4.9.4/powerpc-rtems/beatnik/img/netboot.flashimg.bin Load Address: 006B7000 Download Buffer Size = 00200000 Client IP Address = 172.27.11.23 Server IP Address = 172.27.8.41 Gateway IP Address = 172.27.8.1 Subnet IP Address Mask = 255.255.252.0 Network File Load in Progress... Bytes Received =&780860, Bytes Loaded =&780860 Bytes/Second =&780860, Elapsed Time =1 Second(s) MVME6100> |
For the mvme5500 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> |
Network File Load in Progress... Bytes Received =&780860, Bytes Loaded =&780860 Bytes/Second =&780860, Elapsed Time =1 Second(s) MVME6100> |
For the mvme5500 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> |
Now we can actually copy the memory image that we downloaded in step 4 above from RAM into Flash. That is, we're copying it from temporary memory into a more permanent memory that will last after power failures or restarts. If you notice in the tftpGet output, it tells us the load address, in this example for the mvme5500, it was 005C3000. The load address is the location to which the file was copied.
We'll copy this file from that memory location into the Flash memory, so it won't be lost. In this example, the flashProgram command is used; the "-s" parameter indicates the source of the data to be copied, in our example 0x005C3000. The "-v" parameter tells the software to be verbose about what it's Now we can actually copy the memory image that we downloaded in step 4 above from RAM into Flash. That is, we're copying it from temporary memory into a more permanent memory that will last after power failures or restarts. If you notice in the tftpGet output, it tells us the load address, in this example for the mvme5500, it was 005C3000. The load address is the location to which the file was copied.
We'll copy this file from that memory location into the Flash memory, so it won't be lost. In this example, the flashProgram command is used; the "-s" parameter indicates the source of the data to be copied, in our example 0x005C3000. The "-v" parameter tells the software to be verbose about what it's doing. It prints a few lines, then asks you to confirm.
...
Panel |
---|
MVME5500> go -a4000000 Exception handling initialization done
Welcome to rtems - 4.910.4 2 (PowerPC/PowerPC 7455/mvme5500) on MVME5500-0163 Build Date: 20050506PDT18:52:37
Now BSP_mem_size = 0x1FE00000 BSP_Configuration.work_space_size = 15000 Registering /dev/console as minor 0 (==/dev/ttyS0) RTEMS bootloader by Till Straumann <strauman@slac.stanford.edu> $Id: netboot.c,v 1.21 2005/04/26 02:05:03 till Exp $ CVS tag $Name: $ Your CPU Temperature calibration changed or was not initialized... To calibrate the CPU TAU (thermal assist unit), you must observer the following steps:
1. Let your board stabilize to ambient temperature (POWERED OFF)
2. Measure the ambient temperature Tamb (deg. C)
3. Power-up your board and read the Temperature printed by SMON/FDIAG (Tsmon)
NOTE: use ONLY the info printed IMMEDIATELY after powerup
4. Set the calibration offset to Tamb - Tsmon Type any character to abort netboot: <press any keyboard character here> 2 Press 's' for showing the current NVRAM configuration Press 'c' for changing your NVRAM configuration Press 'b' for manually entering filename/cmdline parameters only Press '@' for continuing the netboot (BOOTP flag from NVRAM) Press 'd' for continuing the netboot; enforce using BOOTP Press 'p' for continuing the netboot; enforce using BOOTP
but use file and cmdline from NVRAM Press 'm' for continuing the netboot; enforce using NVRAM config Press 'R' to reboot now (you can always hit <Ctrl>-x to reboot) Press any other key for this message |
- 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>"/startup.cmd. See the example below.- /lcls/epics/iocCommon/"<your-node-name>"/startup.cmd . See the example below. Please note that the same DNS and the NTP servers for development and test-facility are used.
Facility | TFTP Server | Boot Server | Gateway | DNS | NTP |
---|
Development | LCLS-DEV1 134.79.219.136 | AFSNFS 172.23.66.102 | 134.79.219.1
| 134.79.111.111 134.79.111.112 | 134.79.110.75 134.79.110.10 |
Test-Facility | LCLS-DEV1 134.79.219.136 | AFSNFS 172.23.66.102 | 172.27.96.1 | 134.79.111.111 134.79.111.112 | 134.79.110.75 134.79.110.10 |
LCLS | LCLS-SRV04 172.27.8.28 | MCCFS2 172.27.8.11 | 172.27.0.1 | 134.79.151.12 134.79.151.13 | 134.79.151.12 134.79.151.13 |
FACET |
| MCCFS2 172.27.8.11 | 172.27.8.1 | 134.79.151.12 134.79.151.13 | 134.79.151.12 134.79.151.13 |
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'): >magentaafsnfs:afsnfs2:/afs/slac:/package/rtems/4.910.42/target/rtems_p3/ssrlApps_p2/powerpc-rtems/beatnik/bin/rtems.ralf~~ Command line parameters:
> INIT=/boot/g/lcls/epics/iocCommon/ioc-b34-cd09/startup.cmd Server IP: > 134172.7923.1966.29102 Gateway IP: > 134.79.219.1 My IP: > 134.79.219.49 My netmask: > 255.255.252.0 My name: > ioc-b34-cd09 My domain: > slac.stanford.edu Loghost IP: > DNS server 1: > 134.79.18111.40111 DNS server 2: > 134.79.18111.41112 DNS server 3: > NTP server 1: > 134.79.18110.4075 NTP server 2: > 134.79.18110.4110 NTP server 3: >134 134.79.18110.349 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 |
- 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.
- 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.
- To get back to MOTLoad, type:
Saving an Automatic Boot Script and Recovery from "gev" errors"
Those few steps that you took before changing the NVRAM are all that are needed to reboot the computer again. These steps may need to be repeated after replacing a battery, or if you get the error "Warning: Global Environment Variable Area is uninitialized, use gevInit" (after issuing the "gevInit" command). Now, we can save those steps so the processor can perform them automatically each time it restarts.
...
Panel |
---|
Cexp> BSP_flashWriteEnable(0) Cexp> BSP_flashWriteFile(0,0,"/boot/package/rtems/4.910.42/target/rtems_p3/ssrlApps_p2/powerpc-rtems/beatnik/img/netboot.flashimg.bin") |
...
Panel |
---|
Cexp> BSP_flashWriteEnable(0) Cexp> BSP_flashWriteFile(0,0,"/boot/lcls/rtems/rtems-4.910.42/target/ssrlApps/powerpc-rtems/beatnik/img/netboot.flashimg.bin") |
LCLS Node NVRAM Settings
Till's MVME README.mvme5500 file
...