Need some EFI Shell help

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Fritz

Well-Known Member
Apr 6, 2015
3,386
1,387
113
70
I need to update the SAS HBA firmware on a Supermicro X10SL7-F MB. I need to know how to access the USB drive that contains the files once I have booted into the shell. I've google till I'm blue in the face and have come up with nothing that works and tons and tons of BS. Can someone tell me how to access the USB drive once I've booted into the shell?

TIA
 

pcmoore

Active Member
Apr 14, 2018
138
48
28
New England, USA
First, if you haven't already, make sure you've placed the firmware on a FAT32 partition on the USB drive.

Second, when the EFI shell starts it will most likely show a list of mounted filesystems and storage devices. The filesystems will show up as "FSX:" while the storage devices will show up as "BLKX:" where "X" is a number starting at zero. If you don't see this list you can display it but running "map" at the shell command line.

Once you've identified the different mounted filesystems, you can probably figure out which is your USB drive by looking at the device path that will show in the filesystem mapping, but if all else fails you can simply jump between filesystems looking for the firmware updater. For example:

Example checking FS2:
Code:
FS0:\> FS2:
FS2:\> ls
Good luck!
 
  • Like
Reactions: Fritz

Fritz

Well-Known Member
Apr 6, 2015
3,386
1,387
113
70
First, if you haven't already, make sure you've placed the firmware on a FAT32 partition on the USB drive.

Second, when the EFI shell starts it will most likely show a list of mounted filesystems and storage devices. The filesystems will show up as "FSX:" while the storage devices will show up as "BLKX:" where "X" is a number starting at zero. If you don't see this list you can display it but running "map" at the shell command line.

Once you've identified the different mounted filesystems, you can probably figure out which is your USB drive by looking at the device path that will show in the filesystem mapping, but if all else fails you can simply jump between filesystems looking for the firmware updater. For example:

Example checking FS2:
Code:
FS0:\> FS2:
FS2:\> ls
Good luck!
Thank you sir. The USB drive only has one partition and it's FAT32. I created a /efi/boot folder on this FAT32 partition and placed shell.efi in it renaming it Boot64.efi. Is this correct?
 

Rand__

Well-Known Member
Mar 6, 2014
6,634
1,767
113
you only need that if you want to boot from the stick

else you just boot the uefi shell, run map, do blkX:, then cd <dir> and run update.nsh or whatever you have
 

pcmoore

Active Member
Apr 14, 2018
138
48
28
New England, USA
... do blkX: ...
Make sure you do "FSX:" and not "BLKX:"; the first is a mounted filesystem, the second is a raw block device.

Other than that, I agree with Rand__; you shouldn't need to add anything other than the firmware updater to the USB drive with the FAT32 partition as most system firmware these days provides a working EFI shell already. You *may* need to ensure you tell the system to boot into the EFI shell so it doesn't automatically boot into one of the drives on the system (assuming it has a functioning OS installed).

If you don't see a "EFI shell", or something similar in the boot menu, the firmware/BIOS menu typically has an option to boot directly into the EFI shell from the firmware/BIOS menu (it is usually on the Save/Reset page).
 

Fritz

Well-Known Member
Apr 6, 2015
3,386
1,387
113
70
OK, I can now access the flash files on the USB drive but can't run anything, getting InitShell App: application not started from shell

Edit - Got it sorted out thanks to Rand_'s tip. I should not have booted from the flash drive, that's what was causing the above error. after booting to the shell and then mapping the USB Drive I was able to flash the HBA successfully. Only other problem was when I went to reprogram the SAS address I ran into an error. You have to leave out the : when entering the address.

Thanks for the help guys. Now if I can only remember half these steps for next time......
 
Last edited: