16 March 2018

Linux, UEFI, and Samsung 960 evo firmware update

I have a fairly new Fedora workstation build - ASUS x370 Pro motherboard, a few SSDs, and a Samsung 960 EVO NVMe as the primary drive.

I decided to configure the system to use UEFI rather than the legacy boot process so the drives are set up with gpt partitions, etc. This all works fairly nicely.

I noticed that Samsung released new firmware for the 960 and started to search for a suitable non-Windows process to apply the firmware on a linux system.  Search results seemed to indicate that Samsung used to provide a linux version of Magician firmware update software but that was no longer available.

I finally noticed on Samsung's firmware update site (http://www.samsung.com/semiconductor/minisite/ssd/download/tools/) that there is a section called Samsung Firmware Updates for Windows Users. And in that section is an NVMe SSD Firmware Update Guide which has you use UNebootin to create a bootable USB and install the firmware utility which is packaged as an ISO.

I followed the directions but this UEFI motherboard would not boot from the USB.

Instead, I used tips from https://www.codefull.org/2016/03/create-bootable-usb-flash-drive-from-iso-image-with-uefi-support/ and did the following:

1. Plug USB in;
2. Using gparted
    2a. Remove all partitions;
    2b. create a new partition table with gpt;
    2c. create new partition to fill the whole device using FAT32;
    2d. add a boot flag to the partition;
3. Use dd to copy the Samsung firmware ISO to the USB
   3a. sudo dd if=Samsung_SSD_960_EVO_3B7QCXE7.iso of=/dev/sde bs=4M
4. Boot from the USB to update the firmware

Hope this helps someone


No comments:

Post a Comment