LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 01-15-2023, 05:31 PM   #1
TheOneKEA
Member
 
Registered: Oct 2003
Distribution: Debian GNU/Linux 11 (amd64) w/kernel 6.0.15
Posts: 299

Rep: Reputation: 30
Post FYI: The LSI sas2flash EFI program requires a UEFI version 2 shell, and other things I learned


After spending several hours fruitlessly fighting to cross-flash an LSI 9210-8i SAS HBA (with the SAS2008(B2) controller) from a very old copy of the IR firmware to the latest release of the IT firmware, I wanted to document some of the things that I discovered while following the dozen-plus guides I found on various blogs and forums all over the Internet so that others can access this knowledge.

The first and most important thing I discovered is that the sas2flash EFI program, version P20, available for download from the Broadcom download portal, REQUIRES a version 2 UEFI shell in order to run. If you try to launch the sas2flash EFI program from a UEFI version 1 shell like this one from tianocore, you will get a very cryptic error message similar to the following:

Code:
InitShellApp: Application not started from Shell
Both of the 2015-era UEFI BIOS implementations that I had access to don’t support the UEFI version 2 shell. This means that they will not detect UEFI version 2 shell programs in an ESP as bootable entries in their BIOS Boot Override screens. This also means that stand-alone EFI environments like rEFInd will not detect a version 2 shell program copied to an EFI-bootable USB flash drive and display it as a bootable entry in their boot screens.

A UEFI version 1 shell will be detected and displayed on these systems in the usual fashion but it is missing some service, feature or API needed by the sas2flash EFI program. I attempted to run sas2flash on two different motherboards with 2015-era UEFI BIOS implementations; one motherboard was an AMD 990FX-based Asus and one motherboard was an Intel-based Lenovo, and neither of them would work with the UEFI version 2 shell, nor would they launch sas2flash when it was executed from a UEFI version 1 shell.

The second thing I discovered is that the two UEFI version 1 systems I tried to run the DOS version of sas2flash on do not support the BIOS32 services needed for the DOS sas2flash utility to run correctly. When you try to run the DOS sas2flash utility you will get this error message:

Code:
ERROR: Failed to initialize PAL. Exiting program.
Because of this limitation in these systems’ UEFI BIOS implementations, I was not able to use either the EFI or the DOS versions of the sas2flash tool. In addition, I was not able to use the Linux version of the sas2flash tool on the AMD system to erase the flash on the HBA and prep it for the IT firmware installation. I was eventually forced to plug my HBA into my modern desktop, which uses an AMD X570-based Asus motherboard and supports the UEFI version 2 shell, and boot said shell in order to finally run sas2flash successfully.

The third thing that I learned is that the UEFI shell’s pathname handling is not intuitive. I eventually figured out that the default mapping of attached FAT32 filesystems includes the root directory of that file system, and that the shell will be able to find and run an EFI program in the root directory of each attached filesystem. This means that you can just type “sas2flash” into the EFI shell prompt after mapping the FAT32 filesystem where the program resides, and the shell will find the file named sas2flash.efi and run it.

I hope this info is useful to someone!
 
  


Reply

Tags
hba, lsi, nas, sas, uefi



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] efi/boot/boot64.efi and slack uefi install Q BW-userx Slackware 4 10-14-2022 10:13 AM
UEFI Class 3 :: To use UEFI, or not to use UEFI? jheengut Slackware 19 12-30-2020 09:24 AM
[SOLVED] Ooooy. EFI boot mmx64.efi.efi not found bulgin Linux - Newbie 12 12-20-2018 11:03 AM
LSI drivers for LSI 1064E RAID for Centos 6 samylines Linux - Hardware 2 08-24-2015 03:44 PM
Adobe Acrobate Reader Requires A Plugin-That Requires Open LDAP That Requires Berkely Old_Fogie Slackware 10 05-08-2006 05:04 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 04:57 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration