LinuxQuestions.org
Help answer threads with 0 replies.
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 08-10-2023, 07:28 PM   #1
Li_99
LQ Newbie
 
Registered: Sep 2022
Posts: 15

Rep: Reputation: 0
Question How to create a bootable USB pendrive for EFI BIOS update?


I have already tried to contact my motherboard reseller and the manufacturer BCM but unfortunately did not receive a response to my support request.

I have the following BCM MX3350N motherboard which I need to update with the latest EFI BIOS:

https://www.bcmcom.com/bcm_product_MX3350N.html

The manual of this motherboard, which can be found on this link, does not specify how to update the BIOS.

I can find the latest available driver in the download section:

https://www.bcmcom.com/admin/Bios/71524310.zip

This zip file contains the followung files:

- 71524310.bin
- EFUx64.EFI
- FLASH.NSH

There is a very broad section on the BCM website that describes in general terms how the BIOS update process works without providing any model-specific details:

https://www.bcmcom.com/bcm_support_drivers.html

"With the BIOS update utility, you can update the BIOS from a floppy disk, bootable CD-ROM, bootable USB flash drive or other bootable USB media. (Information on how to create a bootable USB device or CD is listed in below.)

Using the BIOS update is a four-part process:
Part 1: Create the bootable media (floppy, CD or USB device)
Part 2: De-compress the downloaded file to the bootable media
Part 3: Boot up the computer from bootable media
Part 4: Execute bat file and Reboot the computer"


The section on how to create a bootable USB device only states the following and the suggested tutorial links are dead:

"Making a USB flash device into a bootable drive is not as simple as creating bootable floppy disks. Please refer to the documentation provided by the manufacturer of your USB device for information on how to create a bootable USB device. Additionally, you may refer to any of the following websites for tips on creating bootable USB devices. BCM is unable to assist with the creation of bootable devices."


I know how to write an ISO image of an OS to a USB stick in Linux but I am a bit lost how to write the mentioned BIOS files to USB device and make it bootable.

Could you please guide me how to format the USB stick and make it bootable so that I can update EFI Bios of my mainboard?

Your help is much appreciated!
 
Old 08-10-2023, 08:09 PM   #2
jefro
Moderator
 
Registered: Mar 2008
Posts: 22,270

Rep: Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656
First of all I have to mention this. Don't update bios unless the errata says exactly what your problem is. If you have no problem then don't update bios.


I stole this from supermicro but there is a way to mark a usb bootable.

This assumes when you go to bios there isn't a menu item for update bios.


1. Save the BIOS update package to your computer.

2. Extract the files from the UEFI folder of the BIOS package to a USB stick.

(Note: The USB stick doesn't have to be bootable, but has to be formatted with the FAT/FAT32 file system.)

3. Plug the USB stick into a USB port, boot to the Build-In UEFI Shell

4. Type FLASH.nsh BIOSname#.### to start the BIOS update:

Shell> fs0:

fs0:\> cd UEFI

fs0:\UEFI> flash.nsh H11DSU7.728

4. Do not interrupt the process until the BIOS update is complete.

5. Perform an A/C power cycle after the message indicating the BIOS update has completed.

6. Go to the BIOS configuration, and restore the BIOS settings.
 
1 members found this post helpful.
Old 08-11-2023, 05:27 PM   #3
Li_99
LQ Newbie
 
Registered: Sep 2022
Posts: 15

Original Poster
Rep: Reputation: 0
My board does not have a Bios update option in the menu but a "Launch EFI Shell from filesystem device entry.

So you suggest that the USB stick does not have to be bootable and I can simply unmount it and format it to FAT32? For instance:

mkfs.vfat /dev/sdb1

Do I have to set a label for it using the -n flag?

Extracting my zip file to that USB stick, do the files need to sit in the root directory
or in their extracted folder?

- 71524310.bin
- EFUx64.EFI
- FLASH.NSH

Booting into the Efi shell and accessing that USB stick, the command to start the flashing process would then probably be the following:

FLASH.NSH 71524310.bin

Thanks for your guidance!
 
Old 08-11-2023, 06:03 PM   #4
Emerson
LQ Sage
 
Registered: Nov 2004
Location: Saint Amant, Acadiana
Distribution: Gentoo ~amd64
Posts: 7,675

Rep: Reputation: Disabled
What is this FLASH.NSH? You can use 'file' utility to determine. If this is a DOS executable then you need a FreeDOS bootable USB stick to execute it. Many BIOS-es have upgrade functionality built in, doesn't yours? In this case you can load the binary from USB stick or even download it over the internet on fly (my mobo allows it).
 
Old 08-12-2023, 06:45 PM   #5
Li_99
LQ Newbie
 
Registered: Sep 2022
Posts: 15

Original Poster
Rep: Reputation: 0
The motherboard does not have a Bios update entry in the menu.

The file command gives the following output for the 3 files:

Code:
FLASH.NSH: 
ASCII text, with CRLF line terminators

71524310.bin:
Intel serial flash for PCH ROM

EFUx64.EFI:
PE32 + executable (DLL) (EFI application) x86-64, for MS Windows
Thanks for your feedback!

Last edited by Li_99; 08-12-2023 at 06:48 PM.
 
Old 08-12-2023, 06:55 PM   #6
Emerson
LQ Sage
 
Registered: Nov 2004
Location: Saint Amant, Acadiana
Distribution: Gentoo ~amd64
Posts: 7,675

Rep: Reputation: Disabled
You could bite the bullet and use flashrom utility to flash the ROM. Make sure you save a backup copy with flashrom. I have used it in past with success, only the MAC address got lost with procedure. However, if your BIOS chip is not removable then this is quite risky, may brick the mobo in worst case. Wit removable chip you can take it out and flash it with a programmer or you even can get a flashed chip from eBay.
The other choice I can think of is Hiren CD, there used to be such Windows live CD. Maybe there still is.

Edit: I have no experience with .EFI executables, it is probably possible to execute it from EFI shell ... but why it identifies as for Windows?

Last edited by Emerson; 08-12-2023 at 06:57 PM.
 
Old 08-12-2023, 08:05 PM   #7
Li_99
LQ Newbie
 
Registered: Sep 2022
Posts: 15

Original Poster
Rep: Reputation: 0
While BCM does not give any instructions how to flash the BIOS, they specifically state the following:

"The downloaded compressed file includes flash utility to update the BIOS. Please do not use the update utility not provided by BCM."

https://www.bcmcom.com/bcm_support_drivers.html

From that I assume that FLASH.NSH is the flash utility and no other software should be used.

So the question remains how to format the USB pendrive in the correct way and write the files to it.

Thanks!

Last edited by Li_99; 08-12-2023 at 08:08 PM.
 
Old 08-12-2023, 08:53 PM   #8
Emerson
LQ Sage
 
Registered: Nov 2004
Location: Saint Amant, Acadiana
Distribution: Gentoo ~amd64
Posts: 7,675

Rep: Reputation: Disabled
Once I made a bootable FreeDOS USB image for similar purpose. Link, this is in my home router. Put it on at least 2 GB USB stick with dd, mount, add your files and boot.
 
Old 08-13-2023, 07:29 AM   #9
Li_99
LQ Newbie
 
Registered: Sep 2022
Posts: 15

Original Poster
Rep: Reputation: 0
Considering that this is a standard AMI BIOS with SPI ROM there must be instructions somewhere regarding the correct creation process for the USB pendrive and the subsequent update steps.

I am completely baffled that BCM, who manufactures motherboards for ATM cash machines and medical appliances, is not providing clear instructions on their website nor responds to support requests...
 
Old 08-13-2023, 07:41 AM   #10
Emerson
LQ Sage
 
Registered: Nov 2004
Location: Saint Amant, Acadiana
Distribution: Gentoo ~amd64
Posts: 7,675

Rep: Reputation: Disabled
Well, can't help you further. You are restricted to what you think is the official method. My approach is different, has always been, I get things done, unconventionally if that works.
 
Old 08-13-2023, 09:17 AM   #11
triplum.fm
Registered User
 
Registered: Mar 2023
Posts: 60

Rep: Reputation: 33
Quote:
Originally Posted by Li_99 View Post

So the question remains how to format the USB pendrive in the correct way and write the files to it.

Thanks!
You can create a bootable USB flash drive using Rufus. Write the finished usb.img file to the USB flash drive and create a folder on it. Copy the flash tool and BIOS image into that folder.

https://github.com/pbatard/rufus
 
Old 08-15-2023, 01:21 PM   #12
jayjwa
Member
 
Registered: Jul 2003
Location: NY
Distribution: Slackware, Termux
Posts: 961

Rep: Reputation: 364Reputation: 364Reputation: 364Reputation: 364
Why are you guys confusing this poor person? FreeDOS will not run a Windows x86_64 image. Rufus is Windows-only. Even building it requires MSVC or Ming. OP is running, I assume, Linux. This is the easiest type of firmware update there is. Like jefro said, you only need run the NSH script ( https://superuser.com/questions/1478...file-extension ) from the EFI shell itself (without options). It has its own options (EFUx64.EFI 71524300.bin /P /N). EFI executables are in the Windows PE format because guess which operating system was favored during designing the specs?

Unzip the file. Put the files anywhere the EFI shell can see them. The ESP partition should be fine as the files are under 17mb total. It can be right next to the shell itself, /boot/efi/EFI/Boot/, or use a fat32 USB stick (does not need be bootable as you are booting into the EFI shell). Spam one of the F* keys on startup to get the menu where you can select what to boot. Mine is F12. Select the EFI shell. You'll be in a command line similar to DOS/Linux. There might be a 'help' command. Run the .NSH shell. Let it work.

Reading up on the EFI shell beforehand might be a good idea ( https://wiki.archlinux.org/title/Uni...ware_Interface ), section #5 in particular. In the small chance you don't have one or deleted it you can download the Tianocore one and use it as long as there's an entry for it in the EFI startup list (efibootmgr to change).

Code:
efibootmgr
Boot0006* UEFI OS       HD(1,GPT,1d39afc6-46db-4550-b122-74c8381926f3,0x800,0x82000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
 
Old 08-15-2023, 03:57 PM   #13
triplum.fm
Registered User
 
Registered: Mar 2023
Posts: 60

Rep: Reputation: 33
Quote:
Originally Posted by jayjwa View Post
Why are you guys confusing this poor person? FreeDOS will not run a Windows x86_64 image. Rufus is Windows-only.
What do you mean by saying that Rufus is only for Windows? I don't understand you. Rufus is also used to create a bootable USB flash drive. Whether it's Windows or Linux, it doesn't matter which operating system I use to create the USB flash drive.
 
Old 08-15-2023, 06:32 PM   #14
jefro
Moderator
 
Registered: Mar 2008
Posts: 22,270

Rep: Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656Reputation: 3656
Why didn't you follow what I posted? Change entries to what you have.
 
Old 08-17-2023, 06:39 PM   #15
Li_99
LQ Newbie
 
Registered: Sep 2022
Posts: 15

Original Poster
Rep: Reputation: 0
Thank you for everyone's input.

It sounds like the most logical approach is to simply format the USB pendrive as FAT32 thst does NOT have to be bootable and copy the files to it:

- 71524310.bin
- EFUx64.EFI
- FLASH.NSH

I would then have to boot into the system's existing Efi shell.

My doubts now remain what the correct command would be to start the BIOS update.

Option 1:

Code:
FLASH.NSH 71524310.bin
Or

Option 2:

Code:
EFUx64.EFI 71524310.bin /P /N
Thanks for your feedback!
 
  


Reply

Tags
bcm, bios, efi


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
LXer: Excellent System Utilities: Ventoy – create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files LXer Syndicated Linux News 0 11-02-2020 06:51 PM
[SOLVED] Ooooy. EFI boot mmx64.efi.efi not found bulgin Linux - Newbie 12 12-20-2018 12:03 PM
boot efi disk with without a non-efi bios pc... masavini Programming 1 11-12-2013 09:48 PM
EFI main GPT overwritten everytime (when windows 7 runs) - structure of EFI masuch Linux - Newbie 2 07-20-2012 03:49 PM
[SOLVED] How to create an ISO image from a bootable USB pendrive jortalli Linux - Software 2 09-02-2009 07:46 AM

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

All times are GMT -5. The time now is 06:57 PM.

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