The run
command is used to run the flash management utility.
Before you start you will need a device available to MILO that
contains the updateflash program.
This (like vmlinux) can be gzip'd. You need to run the flash management
utility program from the MILO using the (run
) command:
MILO> run fd0:fmu.gz
Once it has loaded and initialised, the flash management utility
will tell you some information about the flash device and give you
a command prompt. Again the help
command is most useful.
Linux MILO Flash Management Utility V1.0
Flash device is an Intel 28f008SA
16 segments, each of 0x10000 (65536) bytes
Scanning Flash blocks for usage
Block 12 contains the environment variables
FMU>
Note
that on systems where environment variables may be stored
and where there is more than one flash block (for example, the AlphaPC64)
the flash management utility will look for a block to hold MILO's
environment variables. If such a block already exists, the flash management
utility will tell you where it is. Otherwise, you must use the environment
command to set a block and initialise it.
In the above example, flash block 12 contains MILO's environment
variables.
FMU> help
FMU command summary:
list - List the contents of flash
program - program an image into flash
quit - Quit
environment - Set which block should contain the environment variables
bootopt num - Select firmware type to use on next power up
help - Print this help text
FMU>
Note that the environment
and bootopt
commands are only available on
the EB66+, the AlphaPC64, EB164 and PC164 systems (and their clones).
The ''list'' command shows the current usage of the flash memory. Where there is more than one flash block, the usage of each flash block is shown. In the example below you can see that Windows NT ARC is using blocks 4:7 and block 15.
FMU> list
Flash blocks: 0:DBM 1:DBM 2:DBM 3:WNT 4:WNT 5:WNT 6:WNT 7:WNT 8:MILO
9:MILO 10:MILO 11:MILO 12:MILO 13:U 14:U 15:WNT
Listing flash Images
Flash image starting at block 0:
Firmware Id: 0 (Alpha Evaluation Board Debug Monitor)
Image size is 191248 bytes (3 blocks)
Executing at 0x300000
Flash image starting at block 3:
Firmware Id: 1 (Windows NT ARC)
Image size is 277664 bytes (5 blocks)
Executing at 0x300000
Flash image starting at block 8:
Firmware Id: 7 (MILO/Linux)
Image size is 217896 bytes (4 blocks)
Executing at 0x200000
FMU>
The flash management utility contains a compressed copy of a flash image of MILO. The ''program'' command allows you to blow this image into flash. The command allows you to back out, but before you run it you should use the ''list'' command to see where to put MILO. If MILO is already in flash, then the flash management utility will offer to overwrite it.
FMU> program
Image is:
Firmware Id: 7 (MILO/Linux)
Image size is 217896 bytes (4 blocks)
Executing at 0x200000
Found existing image at block 8
Overwrite existing image? (N/y)? y
Do you really want to do this (y/N)? y
Deleting blocks ready to program: 8 9 10 11
Programming image into flash
Scanning Flash blocks for usage
FMU>
Wait until it has completed before powering off your system.
Note:
I cannot emphasise just how careful you must be here
not to overwrite an existing flash image that you might need or
render your system useless. A very good rule is never to overwrite
the Debug Monitor.
This selects a flash block to contain MILO's environment variables.
This is just the same as MILO's ''bootopt'' command, see (Section The ''bootopt'' command).
This is really pretty meaningless. The only way back to MILO (or anything else) once the flash management utility has run is to reboot the system.