TooMuchData
Contributor
- Joined
- Jan 4, 2015
- Messages
- 188
This is a very late answer to the problems experienced by morfizm. He stated "Based on what I've read on forums I need true BIOS-supported EFI shell that Thinkserver TS140 doesn't have. Capability of EFI boot is not enough." I resolved this problem this morning after days of frustration with all of the problems he experienced.
Yes, the TS140 does not have an EFI Shell. And, if you boot rEFInd to enter it's shell you will get the error "InitShellApp: Application not Started from Shell" when you run sas2flash.efi. That is because rEFInd implements version 2 of the efi shell. Amazingly, V2 is not fully backwards compatible with V1, which is required by the P20 version of sas2flash.efi.
You can download version 1 from SourceForge (it is named Full_Shell.efi). Use Rufus to format a USB key to MBR with MS-DOS (not FreeDOS). Rename the shell to "bootx64.efi" and put it in \EFI\Boot\. Add sas2flash.efi and the appropriate .bin fimware file and .rom bios file to the root level. In the TS140 bios set protected boot off, CMD enabled, and UEFI Priority for boot.
When you boot the USB key you should now enter the EFI Shell. The prompt will be "Shell", not "2.0 Shell" as was the case with rEFInd. Enter "fs0:" to mount the root level of the USB. You will now be able to run the necessary sas2flash.efi commands to complete the firmware upgrade. This assumes you have previously booted into DOS to issue the necessary MegaRec commands.
I have no idea why FreeDOS didn't work for me and MS-DOS did.
Here are my notes of the complete process (for a 9200-8e card, YMMV):
Get the sasaddress of the card from the green sticker or current bios
Download:
add DOS4GW.exe, DOS32A.exe, megarec.exe, sbrempty.bin
2) Boot from DOS USB and type:
add sas2flash.efi, 9200-8e.bin and mptsas2.rom (all from P20) to root (your card
add Shell_Full.efi (UEFI shell version 1 NOT 2 from SourceForge), rename to shellx64.efi, put into /EFI/Boot
4) Boot USB (should enter the EFI Shell) and type:
fs0:
Yes, the TS140 does not have an EFI Shell. And, if you boot rEFInd to enter it's shell you will get the error "InitShellApp: Application not Started from Shell" when you run sas2flash.efi. That is because rEFInd implements version 2 of the efi shell. Amazingly, V2 is not fully backwards compatible with V1, which is required by the P20 version of sas2flash.efi.
You can download version 1 from SourceForge (it is named Full_Shell.efi). Use Rufus to format a USB key to MBR with MS-DOS (not FreeDOS). Rename the shell to "bootx64.efi" and put it in \EFI\Boot\. Add sas2flash.efi and the appropriate .bin fimware file and .rom bios file to the root level. In the TS140 bios set protected boot off, CMD enabled, and UEFI Priority for boot.
When you boot the USB key you should now enter the EFI Shell. The prompt will be "Shell", not "2.0 Shell" as was the case with rEFInd. Enter "fs0:" to mount the root level of the USB. You will now be able to run the necessary sas2flash.efi commands to complete the firmware upgrade. This assumes you have previously booted into DOS to issue the necessary MegaRec commands.
I have no idea why FreeDOS didn't work for me and MS-DOS did.
Here are my notes of the complete process (for a 9200-8e card, YMMV):
Get the sasaddress of the card from the green sticker or current bios
Download:
9200-8e_Package_P20_IT_Firmware_BIOS_for_MSDOS_Window from LSI
sas2008 folder (from website dealing with flashing Dell cards??)
SourceForge UEFI Shell Version 1
1) Make DOS USB using Rufus, use MBR, bootable as MS-DOSsas2008 folder (from website dealing with flashing Dell cards??)
SourceForge UEFI Shell Version 1
add DOS4GW.exe, DOS32A.exe, megarec.exe, sbrempty.bin
2) Boot from DOS USB and type:
megarec -writesbr 0 sbrempty.bin
megarec -cleanflash 0
3) Make another DOS USB using Rufus, use MBR, bootable as MS-DOSmegarec -cleanflash 0
add sas2flash.efi, 9200-8e.bin and mptsas2.rom (all from P20) to root (your card
add Shell_Full.efi (UEFI shell version 1 NOT 2 from SourceForge), rename to shellx64.efi, put into /EFI/Boot
4) Boot USB (should enter the EFI Shell) and type:
fs0:
sas2flash.efi -o -f 9200-8e.bin -b mptsas2.rom
sas2flash.efi -o -sasadd 500605b********* (from green sticker)
sas2flash.efi -listall
Hope this will help some other poor TS140 owner (actually, many other Intel boards will have the same UEFI issue).sas2flash.efi -o -sasadd 500605b********* (from green sticker)
sas2flash.efi -listall