Академический Документы
Профессиональный Документы
Культура Документы
Release Notes
Version 0.91
June 29, 2005
EFI Shell Release Notes
Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel or
otherwise, to any intellectual property rights is granted by this document. Except as provided in Intel's Terms and Conditions
of Sale for such products, Intel assumes no liability whatsoever, and INTEL DISCLAIMS ANY EXPRESS OR IMPLIED
WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES
RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT,
COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life
saving, or life sustaining applications. Intel may make changes to specifications and product descriptions at any time,
without notice.
This document contains information on products in the design phase. The information here is subject to change without
notice. Do not finalize a design with this information.
Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined."
Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising
from future changes to them.
This document as well as the software described in it is furnished under license and may only be used or copied in
accordance with the terms of the license. The information in this manual is furnished for informational use only, is subject to
change without notice, and should not be construed as a commitment by Intel Corporation to update or revise the
information or document. Intel Corporation assumes no responsibility or liability for any errors or inaccuracies that may
appear in this document or any software that may be provided in association with this document.
This document provides website addresses for certain third party websites. The referenced sites are not under the control of
Intel and Intel is not responsible for the content of any referenced site or any link contained in a referenced site. Intel does
not endorse companies or products for sites which it references. If you decide to access any of the third party sites
referenced in this document, you do this entirely at your own risk.
* Other names and brands may be claimed as the property of others.
Intel, the Intel logo, and Itanium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United
States and other countries.
Copyright © 1999–2005, Intel Corporation. All Rights Reserved.
Figures
Figure 2-1 Mapping table Showing Consistent Mapping Names...................................................... 11
Figure 2-2 New Variable & Alias Substitution Flow Chart.................................................................. 12
Tables
Plain Monospace In code, words in a Plain Monospace typeface that is a dark red
color but is not bold or italicized indicate pseudo code or example code.
These code segments typically occur in one or more separate paragraphs.
text text text In the PDF of this specification, text that is highlighted in yellow
indicates that a change was made to that text since the previous revision
of the PDF. The highlighting indicates only that a change was made
since the previous version; it does not specify what changed. If text was
deleted and thus cannot be highlighted, a note in red and highlighted in
yellow (that looks like (Note: text text text.)) appears where the deletion
occurred.
See the master Framework glossary in the Framework Interoperability and Component
Specifications help system for definitions of terms and abbreviations that are used in this document
or that might be useful in understanding the descriptions presented in this document.
See the master Framework references in the Interoperability and Component Specifications help
system for a complete list of the additional documents and specifications that are required or
suggested for interpreting the information presented in this document.
The Framework Interoperability and Component Specifications help system is available at the
following URL:
http://www.intel.com/technology/framework/spec.htm
z Consistent Mapping
z New substitution rules and implementation of variable and alias
z Backward compatibility support
z Default location for startup.nsh script file
z Ability to support accessing maximum of 256 arguments in batch scripts
z Interruption of execution of commands, applications and scripts
z Output streaming control
z History screen support
z Color differentiation of files and directories.
z New file operation APIs for the EFI Shell application development
Please refer to EFI Shell Developer’s Guide for the detailed instructions for the installation of
Microsoft* tools.
1.6 Known Issues of the EFI Shell Version 1.0 Beta Release
z ‘cls’ doesn't change the background color when changing the color value from 7 to 0
z The cursor is not visible if editing a file when the background color is light gray
z ‘ipconfig –r’ cannot restart the PXE and DHCP settings
z ‘.nsh’ is the alias of the file ‘1.nsh’ in framework
z 'reset -s' does not shutdown machine as described in the help information
z In EFI1.02, the map name for a removed floppy still exists after ‘map –r’
2
EFI Shell Features
2.1 Consistent Mapping
Conventional file system map names using the format ‘fsx’ retain the backward compatible
behavior of the shell command prompt. Examples of conventional mapping names are fs0, fs1, fs2,
fs3, etc. Conventional mapping names allow for easy typing at the shell command prompt, but
without consistent mapping.
Each mapped file system has two mapping names. One is the consistent mapping name—a new
feature—and the other is the conventional mapping name. Whenever the mapping name must
remain the same, a consistent mapping name must be used. There is no direct mapping relationship
between consistent mapping names and conventional mapping names.
Consistent mapping guarantees that file systems discovered during pre-boot will map to file system
names which remain consistent as long as the hardware configuration does not change. The
following are considered hardware configuration changes:
z Physical connection and/or number of controllers changes
z Changes of physical interface which the devices are connected to
In general, if a change of hardware is capable of producing child hardware devices, that
change should be considered a hardware configuration change. Examples include changes of
SCSI controllers, IDE controllers, USE hubs, etc. However, changing a USB flash storage disk
does not constitute a hardware configuration change, even though the consistent mapping name for
the file systems produced from this device may change. This is because the USB flash storage disk
change is unable to produce any child devices. It is a hardware configuration change of the USB
device that does not affect other USB devices.
Consistent mapping guarantees that platforms with exactly the same hardware configurations will
have exactly the same mapping names. This feature greatly helps in writing scripts used during
manufacturing processes.
Figure 2-1 shows a screen snapshot of a mapping table with consistent mapping names:
In figure 2-1, f6 and f7 are consistent mapping names. Consistent mapping names may seem
strange and difficult to read, but they guarantee consistent mapping. Conventional mapping names
allow for easy typing at the shell command prompt, but without consistent mapping.
No functional difference exists between a file or directory referred by either the consistent mapping
name or the conventional mapping name. It is one item, but with two names which refer to the
same file or directory.
Please refer to the EFI Shell User’s Guide for the detailed usage of command ‘map’.
In previous versions, the shell attempted to translate the variable as a positional argument at first.
One major change is that now the shell attempts to translate the variable as an environment variable
at first. This change allows for support of those environment variables whose leading characters
are numbers.
Users can define the way in which a variable is interpreted because of a change in the processing of
quotation marks.
Suppose an environment variable named ‘123abc’ whose content is “hello”, and script ‘a.nsh’ like
this
echo %123abc%.
The result of execution of ‘a.nsh 123’ will be:
hello.
Suppose the use of a pair of quotation marks to define the boundary inside the substitution is
performed:
echo “%1”23abc%.
The result of execution of ‘a.nsh 123’ will be:
12323abc.
In general, a pair of quotation marks defines the boundary of the unit inside which variable
substitution is performed. The substitution will not be performed across the boundary.
The new shell has a stricter rule of variables names, please refer to EFI Shell User’s Guide for
detailed information.
The default running mode at the beginning of the execution of a script is the backward-compatible
mode. In backward-compatible mode, all the syntaxes of commands and their behavior remain the
same as those of previous EFI Shells. This allows smooth execution of old shell scripts without any
modifications. It also forces a requirement upon the composition of new scripts, which must place
the command ‘set –v efishellmode 1.1.x’ at the very beginning of scripts to set the running mode
preference. The modification of running mode in child scripts does not affect the running mode of
parent scripts.
Backward compatibility for external commands and applications is not guaranteed because of the
diversity of external commands and applications across several different EFI conformant
implementations (EFI 1.1, EFI 1.02, etc). However, most external commands and applications
should run smoothly in backward compatible mode without any modification.
2.10 New File Operation APIs for the EFI Shell Application
Development
. EFI Shell application developers can manipulate files and directories in programs more efficiently
and easily than before using new APIs. These have an easy-to-use interface definition, similar to
that in Microsoft Windows*.
3.2 The cursor is not visible if editing a file when the background
color is light gray
Description:
When running the command ‘edit’ with the background color set to light gray, the cursor in ‘edit’ is
not visible because the color of the cursor is the same as the background color.
Notes:
This is not a bug of the EFI Shell. An investigation discovered that this is a bug in the Graphic
Console module in the framework.
3.3 ‘ipconfig –r’ cannot restart the PXE and DHCP settings
Description:
On Itanium® based platforms initially executing ‘ipconfig –r’ starts the PXE base code for the first
time. A second execution fails with the error message ‘ipconfig: DHCP start error – Already
Started’.
Notes:
This is not a bug of the EFI Shell. An investigation discovered that this caused by defects in the
PXE base code of the framework for Itanium® based platforms.
3.5 ‘reset –s’ does not shutdown the machine as described in the
help information
Description:
During execution of the command ‘reset –s’ the system will reboot on the EFI1.1 sample
implementation. However, the help information says that the system should be shutdown.
Notes:
This is not a bug of the EFI Shell. The ‘reset’ command calls the underlying system service to
perform the shutdown operation, so this is a defect in the EFI1.1 sample implementation.
3.6 In EFI1.02, the map name for a removed floppy still exists after
‘map –r’
Description:
On an IA-32 server platform running EFI1.02, the map name for a floppy will still exist after the
floppy is removed and the command ‘map –r’ is executed.
Notes:
This is not a bug of the EFI Shell. An investigation discovered that this is a platform specific defect
of the IA-32 server platform.