Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Title Page
Copyright
Preface
Contents
Chapter 1 Introduction
What is UEFI?
What Do We Mean by Shell?
A Short History of the UEFI Shell
Brief Overview of the UEFI Shell
UEFI Shell APIs
Command Line Interface Features
Why a Shell at all?
Chapter 2 Under the UEFI Shell
Shell and UEFI
Evolution and Revolution
Chapter 3 What Is the UEFI Shell?
What Is Contained in the UEFI Shell?
What Kind of Shell Do You Have?
What!? No Shell? No Problem!
Programmatic Shell Environment
Using UEFI Shell Commands
Interactive Shell Environment
Scripting
Program Launch
File-System Abstractions
Shell Script Resolves into a UEFI Firmware Action
Chapter 4 Why We Need an Execution Environment before the OS
Evolution of a Machine
The Platform Initialization Flow
UEFI Transitions
States of a Platform
Readiness of UEFI
Migration Using the UEFI Shell
Going Forward
Chapter 5 Manufacturing
Throughput
Manufacturing Test Tools
Hardware Access with Manufacturing Tools
Converting Manufacturing Tools
Conclusion
Chapter 6 Bare Metal Provisionig
Provisioning with the UEFI Shell
UEFI Networking Stack
Securing the Network
Speeding Up the Network
Example of Putting It Together
Summary
Chapter 7 Configuration of Provisioned Material
Initialization Timeline
Configuration Infrastructure Overview
Using the Configuration Infrastructure
Driver Model Interactions
Provisioning the Platform
Configuring through the UEFI Shell
Basic Configuration
Advanced Configuration Abilities
Chapter 8 The Use of UEFI for Diagnostics
Types of Diagnostics
SMBIOS Table Organization
SMBIOS Structure Table Entry Point
Table Organization Graph
Structure Standards
Structure Evolution and Usage Guidelines
Text Strings
Required Structures and Data
Features
User Interface Design
Design Guide
Usage
Examples
Architecture Design
Data Structure
SMBIOS_STRUCTURE_TABLE
SMBIOS_HEADER
SMBIOS_STRUCTURE_POINTER
STRUCTURE_STATISTICS
Source Code for the Utility
Summary
Chapter 9 UEFI Shell Scripting
Hello, World!
Echo
Echo All Parameters
Echo All Parameters (Improved Version)
Concatenate Text Files
List Only Selected “ls” Information
Install Script
How to Make a Shell Script Appear as a Boot Option
Chapter 10 UEFI Shell Programming
A Simple UEFI Shell Application: HelloWorld
The Source File: HelloWorld.c
The Component Information (.inf) File
A Simple Standard Application: HelloWorld2
The Source File: HelloWorld2.c
The Component Information (.inf) File: HelloWorld2.inf
Read Keyboard Input in UEFI Shell Scripts: GetKey
The Source File: GetKey.c
The Component Information (.inf) File: GetKey.inf
The Build Description (.dsc) File
Calculate Math Expressions: Math
The Source File: Math.c
The Component Information (.inf) File: Math.inf
Convert ASCII to Unicode and Back: UniCodeDecode
The Source File: UniCodeDecode.c
The Component Information (.inf) File
Chapter 11 Managing UEFI Drivers Using the Shell
Testing Specific Protocols
Loading and Unloading UEFI Drivers
Load
LoadPciRom
Unload
Connecting UEFI Drivers
Connect
Disconnect
Reconnect
Driver and Device Information
Drivers
Devices
DevTree
Dh –d
OpenInfo
Testing the Driver Configuration and Driver Diagnostics Protocols
DrvCfg
DrvDiag
Debugging Code Statements
POST Codes
Post Card Debug
Text-Mode VGA Frame Buffer
Other Options
Appendix A Security Considerations
UEFI Shell Binary Integrity
Overview
Signed Executable Overview
Digital Signature
Signed Executable Processing
Signed Executable Generation Application (SignTool)
UEFI Load Image
SignTool
Build Environment
Example usage
Appendix B Command Reference
Command Profiles and Support Levels
Command List
Standardizing Command Output
Command Details
alias
attrib
bcfg
cd
cls
comp
connect
cp/copy
date
dblk
del
devices
devtree
dh
dir/ls
disconnect
dmem
dmpstore
drivers
drvcfg
drvdiag
echo
edit
eficompress
efidecompress
exit
for
getmtc
goto
help
hexedit
if
ifconfig
ifconfig6
load
loadpcirom
ls
map
md
mem
memmap
mkdir
mm
mode
mv
openinfo
parse
pause
pci
ping
ping6
reconnect
reset
rm
sermode
set
setsize
setvar
shift
smbiosview
stall
time
time
touch
type
unload
ver
vol
Appendix C Programming Reference
Script-based Programming
Parameter Passing
Redirection and Piping
Return Codes
Environment Variables
Non-Script-based Programming
Shell Protocol
Shell Parameters Protocol
Appendix D UEFI Shell Library
Functions
File I/O Functions
Miscellaneous Functions
Command Line Parsing
Text I/O
String Functions
ShellCloseFile()
ShellCloseFileMetaArg()
ShellCommandLineCheckDuplicate()
ShellCommandLineFreeVarList()
ShellCommandLineGetCount()
ShellCommandLineGetFlag()
ShellCommandLineGetValue()
ShellCommandLineGetRawValue()
ShellCommandLineParseEx()
ShellCopySearchAndReplace()
ShellConvertStringToUint64()
ShellCreateDirectory()
ShellDeleteFile()
ShellDeleteFileByName()
ShellExecute()
ShellFileExists()
ShellFileHandleReturnLine()
ShellFileHandleReadLine()
ShellFindFilePath()
ShellFindFilePathEx()
ShellFindFirstFile()
ShellFindNextFile()
ShellFlushFile()
SHELL_FREE_NON_NULL()
ShellGetCurrentDir()
ShellGetEnvironmentVariable()
ShellGetExecutionBreakFlag()
ShellGetFileInfo()
ShellGetFilePosition()
ShellGetFileSize()
ShellHexStrToUintn()
ShellInitialize()
ShellIsDecimalDigitCharacter()
ShellIsDirectory()
ShellIsFile()
ShellIsFileInPath()
ShellIsHexaDecimalDigitCharacter()
ShellIsHexOrDecimalNumber()
ShellOpenFileByDevicePath()
ShellOpenFileByName()
ShellOpenFileMetaArg()
ShellPrintEx()
ShellPrintHelp()
ShellPrintHiiEx()
ShellPromptForResponse()
ShellPromptForResponseHii()
ShellReadFile()
ShellSetFileInfo()
ShellSetFilePosition()
ShellSetEnvironmentVariable()
ShellSetPageBreakMode()
ShellStrToUintn()
ShellWriteFile()
StrnCatGrow()
Data Structures
Format Strings
Shell Parameters
Index
← Prev
Back
Next →
← Prev
Back
Next →