Firmware Upgrade from USB Stick
Using a USB “FlashStick” as a file transfer device for EFI files on Itanium2 servers
From time to time it may be necessary to somehow transfer .EFI files (or any other files that need to be manipulated or accessed within an EFI environment) from your PC to an Itanium2 server EFI partition. While there are multiple potential ways to do this, (e.g. ftp from the OS to the EFI partition, use the EFI FTP utilities, burn a CDROM, etc.) one quick and easy way is to simply copy or load the files from the PC to a USB ‘flash stick’ and then plug this flash stick into one of the core USB ports on the Itanium2 server. Then boot to EFI and change to the USB file system and access the files directly - or copy the files to the OS EFI partition as necessary.
Please note that, in most cases, any generic “USB Flash Stick” SHOULD normally work as documented below. However, it is not unusual to occasionally encounter a problem with SOME USB Flash Stick devices (perhaps due to changes in internal FW, chip, or timing parameters, etc.) that may affect the compatibility of the Flash Stick at EFI. Some common symptoms of USB Flash Stick compatibility issues would be:
- Significant boot time delay
- Slow data transfer to/from the USB flash device
- Device shows up as a "blk" device at shell but there is no "fs" device even after executing "map -r"
How to reference the USB Flash Stick within EFI:
Example 1:
How to use a USB flash stick to directly access an EFI rx1600 System Firmware update utility (“update_SFW.efi” in this example):
NOTES:
- the USB flash stick was not listed in scan for devices or EFI boot screen - exit to shell and look for USB entry in device map as shown below - User inputs in Bold/Italic/Violet text. - Console Output items of note in Bold/Red text. Example:
[Booting system to EFI and entering EFI Shell from EFI Boot Manager] . . . EFI version 1.10 [14.62] EFI64 Running on Intel(R) Itanium Processor Family EFI 1.10 IPF server rx1600 2.10 [Tue Sep 30 14:14:27 2003] - HP 0 0 0x0002B9 0x0000000000000013 EFI POST code Copyright (c) 2000-2004 Broadcom Corporation Broadcom NetXtreme Gigabit Ethernet EFI driver v7.0.3 Loading 'SysROM:Floating-Point Software Assistance Handler'... -- 'SysROM:Floating-Point Software Assistance Handler' returned Success 0 0 0x0002B9 0x0000000000000014 EFI POST code 1 0 0x00020B 0x0000000000000006 EFI Launching Boot Manager 0 0 0x000318 0x0000000000000030 EFI security system initialized 0 0 0x0002B9 0x0000000000000015 EFI POST code 0 0 0x0015B2 0x0000000047894990 boot time event Scsi(Pun0,Lun0) HP 36.4GST336607LC HPC3 (320 MBytes/sec) Scsi(Pun1,Lun0) HP 36.4GST336607LC HPC3 (320 MBytes/sec) Broadcom NetXtreme Gigabit Ethernet (BCM5701) is detected (PCI) Scsi(Pun1,Lun0) HP C1537A HP02 ( 10 MBytes/sec) . . . EFI Boot Manager ver 1.10 [14.62] Firmware ver 2.11 [4445] Loading device drivers Loading.: Auxiliary Floating Point Driver Starting: Auxiliary Floating Point Driver Start of Auxiliary Floating Point Driver failed: Already started . . . EFI Boot Manager ver 1.10 [14.62] /----------------------------------\ /----------------------------------\ | System Overview | | Boot Menu | | hp server rx1600 | | HP-UX Primary Boot: 0/1/1/0.1.0 | | Serial #: USE4351191 | | Windows Server 2003, Enterprise | | | | EFI Shell [Built-in] | | System Firmware: 2.11 [4445] | | Red Hat Enterprise Linux AS | | BMC Version: 3.48 | | DVD Boot | | MP Version: E.03.13 | | ------------------------------- | | Installed Memory: 4096 MB | | Boot Configuration | | | | System Configuration | | CPU Logical | | Security Configuration | | Module CPUs Speed Status | | | | 0 1 1 GHz Active | \----------------------------------/ | 1 1 1 GHz Active | | | | | | | | | \----------------------------------/ Use <^|v> to scroll <ENTER> to Select <ESC> or <X/x> for Previous Menu Loading.: EFI Shell [Built-in] EFI Shell version 1.10 [14.62] Device mapping table fs0 : Acpi(HWP0002,0)/Pci(1|0)/Usb(0, 0)/HD(Part1,SigC3072E18) fs1 : Acpi(HWP0002,100)/Pci(1|0)/Scsi(Pun0,Lun0)/HD(Part1,SigABB0B1A0-E51A-01 C3-507B-9E5F8078F531) fs2 : Acpi(HWP0002,100)/Pci(1|0)/Scsi(Pun1,Lun0)/HD(Part1,Sig6DDC98F0-8A36-11 D8-8002-D6217B60E588) fs3 : Acpi(HWP0002,100)/Pci(1|0)/Scsi(Pun1,Lun0)/HD(Part3,Sig6DDC9954-8A36-11 D8-8004-D6217B60E588) blk0 : Acpi(HWP0002,0)/Pci(1|0)/Usb(0, 0) blk1 : Acpi(HWP0002,0)/Pci(1|0)/Usb(0, 0)/HD(Part1,SigC3072E18) blk2 : Acpi(HWP0002,0)/Pci(2|0)/Ata(Primary,Master) blk3 : Acpi(HWP0002,100)/Pci(1|0)/Scsi(Pun0,Lun0) blk4 : Acpi(HWP0002,100)/Pci(1|0)/Scsi(Pun0,Lun0)/HD(Part1,SigABB0B1A0-E51A-01 C3-507B-9E5F8078F531) blk5 : Acpi(HWP0002,100)/Pci(1|0)/Scsi(Pun0,Lun0)/HD(Part2,SigABF24E80-E51A-01 C3-F1B3-12714F758821) blk6 : Acpi(HWP0002,100)/Pci(1|0)/Scsi(Pun0,Lun0)/HD(Part3,Sig6EF1EF20-E51C-01 C3-A1F4-04622FD5EC6D) blk7 : Acpi(HWP0002,100)/Pci(1|0)/Scsi(Pun1,Lun0) blk8 : Acpi(HWP0002,100)/Pci(1|0)/Scsi(Pun1,Lun0)/HD(Part1,Sig6DDC98F0-8A36-11 D8-8002-D6217B60E588) blk9 : Acpi(HWP0002,100)/Pci(1|0)/Scsi(Pun1,Lun0)/HD(Part2,Sig6DDC992C-8A36-11 D8-8003-D6217B60E588) blkA : Acpi(HWP0002,100)/Pci(1|0)/Scsi(Pun1,Lun0)/HD(Part3,Sig6DDC9954-8A36-11 D8-8004-D6217B60E588) startup.nsh> echo -off setting hpux path(\EFI\HPUX)... type 'fs[x]:' where x is your bootdisk (0, 1, 2...) type 'hpux' to start hpux bootloader Shell> fs0: fs0:\> ls Di rectory of: fs0:\ 02/16/05 03:09p 11,900,416 update_SFW.efi 1 File(s) 11,900,416 bytes 0 Dir(s) fs0:\> update_SFW ************************************************************************* **** **** **** FWEUPDATE **** **** EFI Firmware Update Utility for IPF Systems **** **** (c) Copyright Hewlett-Packard Company, 2001-2004 **** **** All rights reserved. **** **** **** **** Version 0.47 **** **** **** ************************************************************************* Executing Embedded options: -nmf System Product ID = rx1600 N = User non-interactive mode enabled. M = Bypass the Downrev Checking. F = Flash embedded images or specified file Using Embedded Image(s) :System FW, BMC FW, MP FW System Image supports Product ID = rx1600 System Image Integrity Verified. BMC Image Integrity Verified. MP Image Integrity Verified. Current Time: 04/18/05 12:40p FW Component Sys Rev New Rev Status ---------------------- -------- -------- ------------------ SFW................... 02.11 02.11 Identical BMC................... 03.48 03.48 Identical MP.................... E0313 E0313 Identical >>> With default options identical images will not be reflashed. FWEUPDATE FINISHED: Firmware version(s) are identical, no update(s) performed. [Note: In this example, the FW update did not proceed because the existing System Firmware Revision on the server was already properly updated!] fs0:\ >
Example 2: How to use a USB flash stick to copy files (“update_SFW.efi” in this example)to an OS EFI partition: NOTES: - Boot to EFI shell first. - in this example fs0: is the USB device, fs1: is the EFI directory for a Windows64 bit OS installed on the Itanium2 server. fs0:\> help cp Copies one or more files/directories to another location. CP [-r][-q] src [src...] [dst] -r - Recursive copy -q - Quiet copying (replace existing files without prompt) src - Source file/directory name (wildcards are permitted) dst - Destination file/directory name (wildcards are not permitted) Note: 1. If dst is not specified, current directory is assumed to be the dst. 2. 'CP -r src1 src2 dst' is copy all files and subdirectories in 'src1' and 'src2' to the 'dst', 'src1' and 'src2' themselves are not copied. 3. Copies a directory to itself is not allowed (eg: cp -r test* test ). 4. If error occurs, CP will exit immediately and the remaining files or directories will not be copied. 5. To remove directories please refer to RM. 6. When 'cp' is executed within a script file, it always performs quiet copying regardless of whether '-q' is specified. Examples: * To display the contents of current directory first of all: fs0:\> ls Directory of: fs0:\ 06/18/01 01:02p <DIR> 512 efi 06/18/01 01:02p <DIR> 512 test1 06/18/01 01:02p <DIR> 512 test2 06/13/01 10:00a 28,739 IsaBus.efi 06/13/01 10:00a 32,838 IsaSerial.efi 06/18/01 08:04p 29 temp.txt 06/18/01 08:05p <DIR> 512 test 3 File(s) 61,606 bytes 4 Dir(s) * To copy a file in the same directory as different file name: fs0:\> cp temp.txt readme.txt copying fs0:\temp.txt -> fs0:\readme.txt - [ok] * To copy multiple files to another directory: fs0:\> cp temp.txt isaBus.efi \test copying fs0:\temp.txt -> fs0:\test\temp.txt - [ok] copying fs0:\isaBus.efi -> fs0:\test\IsaBus.efi - [ok] * To copy multiple dirctories recursively to another directory: fs0:\> cp -r test1 test2 efi \test copying fs0:\test1\test1.txt -> fs0:\test\test1.txt - [ok] copying fs0:\test2\test2.txt -> fs0:\test\test2.txt - [ok] making dir fs0:\test\boot copying fs0:\efi\boot\nshell.efi -> fs0:\test\boot\nshell.efi - [ok] * To see the results of above operations: fs0:\> ls \test Directory of: fs0:\test 06/18/01 01:01p <DIR> 512 . 06/18/01 01:01p <DIR> 0 .. 01/28/01 08:21p 30 test1.txt 01/28/01 08:21p 30 test2.txt 01/28/01 08:21p <DIR> 512 boot 01/28/01 08:23p 29 temp.txt 01/28/01 08:23p 28,739 IsaBus.efi 4 File(s) 28,828 bytes 3 Dir(s) fs0:\> ls Directory of: fs0:\ 02/16/05 03:09p 11,900,416 update_SFW.efi 1 File(s) 11,900,416 bytes 0 Dir(s) fs0:\> fs1: fs1:\> ls Directory of: fs1:\ 01/27/04 09:53p <DIR> 8,192 EFI 01/27/04 09:53p <DIR> 8,192 MSUtil 0 File(s) 0 bytes 2 Dir(s) fs1:\> cd efi fs1:\EFI> ls Directory of: fs1:\EFI 01/27/04 09:53p <DIR> 8,192 . 01/27/04 09:53p <DIR> 0 .. 01/27/04 09:53p <DIR> 8,192 Microsoft 0 File(s) 0 bytes 3 Dir(s) fs1:\EFI> cp fs0:\*.efi copying fs0:\update_SFW.efi -> fs1:\EFI\update_SFW.efi - [ok] fs1:\EFI> ls Directory of: fs1:\EFI 01/27/04 09:53p <DIR> 8,192 . 01/27/04 09:53p <DIR> 0 .. 01/27/04 09:53p <DIR> 8,192 Microsoft 02/16/05 03:09p 11,900,416 update_SFW.efi 1 File(s) 11,900,416 bytes 3 Dir(s)
[Bearbeiten] GPT.SYS incorrectly placed on target disk
Author: Heinz Genhart / Peter Tanner
Creation Date: 05 Feb 2009 20:40:27
Symptom:
Bei einem Image Backup einer IA64 Systemdisk gibt es die folgenden Meldungen
BACKUP-W-GETBOOTERR, error reading boot information
-EFI-E-BADGPTSYS, [000000]GPT.SYS incorrectly placed on target disk
Lösung:
Du kannst ein foreign Command definieren" für SYS$SETBOOT.EXE und die EFI Partitionen verifizieren
$ boot := $sys$system:SYS$SETBOOT.EXE
Mit
$boot -s kannst Du nun die EFI und GUID verifizieren
GDC139:
$ boot -s
OpenVMS SETBOOT version V6.0-1
Boot Architecture : IA-64
Boot Address : 0x0101af90 : 000016887696
Boot Size : 0x0003e800 : 000000256000
Boot Identifier GUID : C12A7328F81F11D2BA4B00A0C93EC93B
* * The above EFI BOOT partition-type GUID format
* * is incorrectly stored. SYS$SETBOOT will
* * transparently fix this the next time you write
* Note * the GPT. The incorrect GUID does not effect
* * the operation or booting of OpenVMS from the
* * hard drive, but may stop other tools and FW
* * from finding a boot partition on the disk.
Boot Signature GUID : 396CE921130029B911DDE62DF38976D3
Boot Relative Offset : 0x00000001 : 000000000001
Diagnostics Address : 0x01328150 : 000020087120
Diagnostics Size : 0x000927c0 : 000000600000
Diagnostics Identifier GUID : E2A1E72832E311D6A6827B03A0000000
* * The above Diagnosics (HP Service Partion) GUID
* * is incorrectly stored on disk. SYS$SETBOOT will
* * transparently fix this the next time you write
* Note * the GPT. The incorrect GUID does not effect
* * the operation or booting of OpenVMS. However,
* * until the partition GUID is changed, you will
* * not be able to install the Offline Diagnostics
* * into the partition from the Diagnostics CD/DVD.
Diagnostics Signature GUID : 396CE92113002AB911DDE62DF38976D2
Diagnostics Relative Offset : 0x00000004 : 000000000004
Master Boot Record : Protective MBR
$
$ set bootblock/i64 SYS$COMMON:[SYS$LDR]SYS$EFI.SYS
$ boot -s
OpenVMS SETBOOT version V6.0-1
Boot Architecture : IA-64
Boot Address : 0x0101af90 : 000016887696
Boot Size : 0x0003e800 : 000000256000
Boot Identifier GUID : 3BC93EC9A0004BBA11D2F81FC12A7328
Boot Signature GUID : 1EF0084B1A0072B411DDF36FDBC1CC10
Boot Relative Offset : 0x00000001 : 000000000001
Diagnostics Address : 0x01328150 : 000020087120
Diagnostics Size : 0x000927c0 : 000000600000
Diagnostics Identifier GUID : 000000A0037B82A611D632E3E2A1E728
Diagnostics Signature GUID : 1EF0084B1A0072B411DDF36FDBC1CC11
Diagnostics Relative Offset : 0x00000003 : 000000000003
Master Boot Record : Protective MBR
Achtung:
Die Boot Optionen (und EFI Aliases) sind mit dem GUID verknüpft und müssen nach dem $SET BOOTBLOCK validiert ->
korrigiert werden. Am besten geht das mit @SYS$STARTUP:BOOT_OPTIONS Menu 5
$ @sys$startup:boot_options
OpenVMS I64 Boot Manager Boot Options List Management Utility
(1) ADD an entry to the Boot Options list
(2) DISPLAY the Boot Options list
(3) REMOVE an entry from the Boot Options list
(4) MOVE the position of an entry in the Boot Options list
(5) VALIDATE boot options and fix them as necessary
(6) Modify Boot Options TIMEOUT setting
(B) Set to operate on the Boot Device Options list
(D) Set to operate on the Dump Device Options list
(G) Set to operate on the Debug Device Options list
(E) EXIT from Boot Manager utility
You can also enter Ctrl-Y at any time to abort this utility.
Enter your choice: 5
To validate all entries in the Boot Options list, press Return.
To validate specific entries, enter the entry number or device name.
(Enter \"?\" to display Boot Options list): $1$DGA11815:
EFI Boot Options list: Timeout = 10 secs.
Entry Description Options
----- ---------------------------------------------------------- -------------
1 Boot DGA11815: FGB0.5006-0E80-0543-F813 -fl 3,0
$1$DGA11815 PCI(0|4a|1|0) Fibre(50060E800543F813,Lun3F000000000000)
2 Boot DGA11815: FGA0.5006-0E80-0543-F803 -fl 3,0
$1$DGA11815 PCI(0|a|1|0) Fibre(50060E800543F803,Lun3F000000000000)
3 Conversational Boot DGA11815: FGB0.5006-0E80-0543-F813 -fl 3,1
$1$DGA11815 PCI(0|4a|1|0) Fibre(50060E800543F813,Lun3F000000000000)
4 Conversational Boot DGA11815: FGA0.5006-0E80-0543-F803 -fl 3,1
$1$DGA11815 PCI(0|a|1|0) Fibre(50060E800543F803,Lun3F000000000000)
--------------------------------------------------------------------------------
4 entries found.
Do you really want to validate device $1$DGA11815:? (Yes/No) y
Validate EFI Boot Options list: Timeout = 10 secs.
--------------------------------------------------------------------------------
1 Boot DGA11815: FGB0.5006-0E80-0543-F813 -fl 3,0
$1$DGA11815 PCI(0|4a|1|0) Fibre(50060E800543F813,Lun3F000000000000)
efi$bcfg: Option Failed. Fixing Boot Entry automatically.
efi$bcfg: Entry 1 Boot000A removed.
efi$bcfg: $1$DGA11815 PCI(0|4a|1|0) Fibre(50060E800543F813,Lun3F000000000000) (
Boot000A) Option successfully added
2 Boot DGA11815: FGA0.5006-0E80-0543-F803 -fl 3,0
$1$DGA11815 PCI(0|a|1|0) Fibre(50060E800543F803,Lun3F000000000000)
efi$bcfg: Option Failed. Fixing Boot Entry automatically.
efi$bcfg: Entry 2 Boot0009 removed.
efi$bcfg: $1$DGA11815 PCI(0|a|1|0) Fibre(50060E800543F803,Lun3F000000000000) (B
oot0009) Option successfully added
3 Conversational Boot DGA11815: FGB0.5006-0E80-0543-F813 -fl 3,1
$1$DGA11815 PCI(0|4a|1|0) Fibre(50060E800543F813,Lun3F000000000000)
efi$bcfg: Option Failed. Fixing Boot Entry automatically.
efi$bcfg: Entry 3 Boot0008 removed.
efi$bcfg: $1$DGA11815 PCI(0|4a|1|0) Fibre(50060E800543F813,Lun3F000000000000) (
Boot0008) Option successfully added
4 Conversational Boot DGA11815: FGA0.5006-0E80-0543-F803 -fl 3,1
$1$DGA11815 PCI(0|a|1|0) Fibre(50060E800543F803,Lun3F000000000000)
efi$bcfg: Option Failed. Fixing Boot Entry automatically.
efi$bcfg: Entry 4 Boot0007 removed.
efi$bcfg: $1$DGA11815 PCI(0|a|1|0) Fibre(50060E800543F803,Lun3F000000000000) (B
oot0007) Option successfully added
--------------------------------------------------------------------------------
4 entries validated.