7

I have a Gigabyte GA-J1900N-D3V, running a small server computer. I exclusively use Ubuntu 16.04 on it.

Recently, I bought a Mini-PCIe expansion board to add additional storage - the motherboard has only two SATA ports. I tried installing the new expansion board, but it causes the computer to fail to boot - it crashes at the BIOS POST screen (so not a Linux thing, this is before it even tries to load the OS).

I can see there are some newer versions of the BIOS firmware available from Gigabyte, but they are asking me to use the Windows-based "@BIOS" tool - which obviously I can't do (at least not easily).

How can I flash the BIOS with the updated firmware?

9

I found a few other references to using FreeDOS to flash the BIOS firmware - but none quite worked for me immediately. (Here and here for example)

So, this is what I did to get it working.


Scary warnings

Be very careful when updating motherboard BIOS firmware. If you flash the wrong file, or power is cut during the process, there is a good chance you will brick the motherboard. Only update the BIOS if you have a need to do so - typically, if the system is working with the current BIOS firmware then it is better to leave it alone.


1. Obtain BIOS firmware

In my case, there are files on the Gigabyte website which have the updated firmware. The latest firmware for my board is revision F4. So, download this ZIP file.

It should contain three files:

autoexec.bat
Efiflash.exe
J190ND3V.F4

2. Download FreeDOS

We'll need the "USB Full" FreeDOS image, from their website.

Once downloaded, extract the FD12FULL.img file.


3. Write FreeDOS to a USB flash disk

My machine has no CD drive (and obviously no floppy) - but is able to boot from USB drives just fine.

Take the extracted image file from above, and write it to USB flash disk with dd.

First check that /dev/sdf is the right path for your USB flash disk!!

sudo dd if=~/Downloads/FD12FULL.img of=/dev/sdf bs=1M

4. Copy BIOS flash files to USB flash disk

Copy the Efiflash.exe and J190ND3V.F4 files to the root of the flash disk.

Next, we need to change the FreeDOS scripts slightly so that instead of trying to install itself when it boots, it will run the flash tool.

Open the autoexec.bat from your Gigabyte download - it should contain a simple line like:

Efiflash J190ND3V.F4 

Now open the SETUP.BAT file on the FreeDOS disk, and delete its entire contents and replace it with the one line from the autoexec.bat file, i.e. the FreeDOS SETUP.BAT should now contain the single line Efiflash J190ND3V.F4 (of course if you have a different motherboard or firmware version this line will change).

Note that the FreeDOS disk will also have a AUTOEXEC.BAT file - leave this one alone, it is needed to initialise the system when you boot from the FreeDOS disk


5. Boot FreeDOS and flash the BIOS

Now you will be able to boot from the FreeDOS disk. You will most likely need to change the boot order from the BIOS menu to do this, or unplug the existing hard drives.

Once FreeDOS boots, it should then load the Efiflash tool automatically and flash the BIOS with no user input required. Wait until this is done and confirmed, then reboot the machine back into Ubuntu. The BIOS has now been updated.


So, just to confirm it (since it was hard for me to find really anything about this motherboard on Linux) - the Gigabyte GA-J1900N-D3V works great with Linux, and the Mini-PCIe slot can be used for SATA controllers instead of just Wi-Fi as the product page suggests. (make sure to choose a SATA controller that has Linux support)

  • 1
    Worked a treat for me on a Gigabyte GA-H61M-S2PV with one tweak: chromasoft.blogspot.com/2010/10/…. Basically plug the USB flash disk in just after the bios splash appears. If you boot with it plugged in then although it offers it as a boot option, it basically ignores it. – lane Mar 27 at 9:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.