To flashing bios from a USB stick rather than running the GPD Windows Executable files. Open location you extracted it to and copy the file afuefix64.efi.
This article aims on providing information on flashing your system BIOS under Linux. Most manufacturers provide a Windows executable or a BIOS executable that can only be run under Windows. However, there are a few utilities that allow you to upgrade your system BIOS under Linux.
Warning: Flashing motherboard BIOS is a dangerous activity that can render your motherboard inoperable! While the author of this article has successfully run this procedure many times, your mileage may vary. Be careful! You may want to consider updating microcode instead if it is supported by your system.
Note:
fwupd
fwupd is a simple daemon to allow session software to update device firmware on your local machine.
Large vendors including Dell and Logitech use this way to distribute firmware updates to Linux.
fwupd only supports flashing BIOS updates in UEFI mode.
See fwupd for further information about installation and usage.
BiosDisk
BiosDisk simplifies the process of flashing your system BIOS under Linux.
Note: This is only supported on systems when booted in 'Legacy mode'. In UEFI mode you will need to use a different method.
Installation
Install the biosdisk-gitAUR package.
Usage
To use the biosdisk utility to create a BIOS flash image, first download the latest raw BIOS image for your system from your manufacturer's website. Make sure however, that you always get the BIOS executable and NOT the Windows executable. You then have one of two options: create a ISO or install the image for your bootloader.
Flashrom
Flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various programmer devices.
Warning: If you have a laptop/notebook/netbook, please do NOT try flashrom because interactions with the EC on these machines might crash your machine during flashing. flashrom tries to detect if a machine is a laptop, but not all laptops follow the standard, so this is not 100% reliable.[1]
Installation
Install the flashrom or flashrom-gitAUR package.
Usage
Find out if your motherboard and chipset (internal) is supported by flashrom at this website. Supported HardwareYou can also find out if your hardware is supported by issuing the following command
The above command will tell you your motherboard and chipset. You can then find out if yours is supported by issuing this command:
On modern mainboards you probably get more than one rom chip listed. You have to select the chipname you get from the upper command. Then you use the
-c option to select which rom is affected by the command
Write and verify the new BIOS image (proprietary or Coreboot) on the ROM chip:
If you want to flash other flash chips on your mainboard, you will find all options with
Note: With Linux kernel versions greater than 4.4,
CONFIG_IO_STRICT_DEVMEM a new kernel security measure can make flashrom stop working, in that case you can try adding iomem=relaxed to your kernel parameters. FAQ.
FreeDOS
FreeDOS a free DOS-compatible operating system, is up to the challenge, no need for proprietary DOS versions. So, all you need is a bootable floppy disk image with FreeDOS kernel on it.
Unetbootin
By far the easiest way to make a bootable FreeDOS USB Stick is using unetbootinAUR.
You should format a pendrive with FAT16 and flag it as 'boot' (you may do this through a GUI with gparted or partitionmanager). Then, after mounting the flash drive, select under distribution FreeDOS and your mounted stick. The app will automatically download the image for you and copy it to the drive. Finally, you may copy everything you want to flash there (BIOS, firmwares, etc).
Warning: Unetbootin may not function properly on some Lenovo systems. It may be necessary to create the bootable stick on a different device. See here.
dosemu
The problem with the official FreeDOS images is the lack of extra space for holding firmware and BIOS update files and programs. The easiest way to create a DOS, bootable FAT drive of arbitrary size under Linux is to mount a FAT drive under dosemu then make it bootable with the FreeDOS sys command.
For an alternative method, see FreeDOS Flash Drive, also on the Gentoo Wiki.
Pre-built images
Yet another simple solution: FreeDOS pre-built bootable USB flash drive image by Christian Taube. Instructions can be found here.
Using a FreeDOS-provided Disk Image + USB stick on Linux
As of writing (2017-07-11), unetbootinAUR doesn't support versions of FreeDOS more recent than 1.0 (current version is 1.2). The following procedure worked to upgrade an Inspiron 17-3737 to the A09 BIOS. (Dell offers this as a possibility on their site)
Some notes before starting:
Procedure:
Now you will find yourself in the FreeDOS live installation environment.
Using a FreeDOS-provided Disk Image + USB stick with Windows
The author for this procedure encountered several issues related to mounting the FAT partition type of the USB using the previous method on Linux with dd. This procedure seeks to outline a method to flash the BIOS with FreeDOS, a USB stick and Ruckus on Windows 7/8/8.1/10. This procedure was performed on 4 JULY 2019 on a Dell Inspiron 5547 Laptop to upgrade from BIOS A10 to A12.
Prerequisites:
Procedure:
Images that are too large for a floppy
If your flash image is too large for a floppy, go to the FreeDos bootdisk website, and download the 10Mb hard-disk image. This image is a full disk image, including partitions, so adding your flash utility will be a little trickier:
First find the first partition (at time of writing, the first partition starts at block 63; this means that the partitions starts at offset
512 * 63 = 32256 ).You can either use:
Or:
Now you can mount the image:
Then you can copy your flash utility onto the filesystem as normal.Once you're done:
The image can now be copied to a USB stick for booting, or booted as a memdisk as per normal instructions.
Usage
The OEM Bootdisk version is recommended, as it only includes
kernel and command.com thus leaving more space for the flash utility and new BIOS image. Download the FreeDOS image and decompress it.
Copy your BIOS flash utility and new BIOS image to the mounted floppy disk image. Load the necessary modules:
/proc/fileystems shows if the needed file systems are supported. 'loop mount' the floppy disk image to a temporary path:
If the mount went without errors, copy the BIOS flash utility and new BIOS image to the mounted floppy disk image. You will probably have to unzip the archive you downloaded from your motherboard vendor site, to get to those two files. For example:
Check that the two files were not too big for the floppy:
Unmount the floppy disk image:
The next step is to burn the floppy image to a CD/DVD-RW media, but in a way that it can be booted afterwards. First create a bootable CD image, and then burn it.
You may alternatively add your image to the GRUB menu. Install syslinux and copy
memdisk and your image to /boot :
Now add an entry to
/boot/grub/menu.lst :
Or for GRUB2 in
/boot/grub/grub.cfg :
Or for syslinux in
/boot/syslinux/syslinux.cfg :
Finally reboot your machine, making sure the CD drive is first in the boot sequence, and run the BIOS upgrade procedure when the CD boots. If using the GRUB method, choose the new entry on the list, and it should boot into FreeDOS.
Bootable optical disk emulation
The script Geteltorito.pl will extract the El Torito boot image. It has worked with Lenovo laptops like the X1 Carbon, X220, X230, X260, W540, T450, T450s and P50. It may work for other vendors as well.
Installation
Install the geteltoritoAUR package.
Usage
Get the bios update iso from the vendor support site. Run the geteltorito image extraction:
Copy the image to the usb thumbdrive:
Reboot and boot from the USB drive, follow vendor directions.
Note: If you get the message 'Secure Flash Authentication failed!', it means that some security check did not allow the flash to happen. It can help to go to the BIOS options page 'Security' > 'UEFI BIOS Update Option' and disable 'Secure RollBack Prevention' and enable 'Flash BIOS Updating by End-Users'. You can set them to what you want after flashing.
Retrieved from 'https://wiki.archlinux.org/index.php?title=Flashing_BIOS_from_Linux&oldid=597269'
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
December 2022
Categories |