Skip to content
Crucial SSD firmware - grub
Perl
Branch: master
Clone or download
Latest commit c1836c4 May 26, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE Initial commit May 26, 2019
README.md Update README.md May 26, 2019
crucial-fw.cfg init May 26, 2019
crucial-fw.pl init May 26, 2019

README.md

crucial-ssd-firmware-grub

‘crucial-fw.pl’ is a little script to generate a single grub config for any crucial ssd firmware upgrade. It’s a perl script.

You need:

 LWP::UserAgent
 File::Copy
 Archive::Extract (debian like: apt-get install libarchive-extract-perl)
 Archive::Zip (debian like: apt-get install libarchive-zip-perl)

‘crucial-fw.pl’ generates a file for grub (default is /etc/grub.d/45_crucial-fw). Depending on the iso file, it will switch between two loading mode and grab the isolinux.cfg if needed. This configuration is creating a submenu entry for grub containing one menu entry for each ssd reference specified in the configuration.

Your linux kernel must be able to mount a loopback iso file (loop and isofs modules). Any vanilla kernel is.

You have to maintain the .cfg file up-to-date.

 crucial-fw.pl <options>
   Options:
     -h | --help  : usage
     -a | --all   : generate all grub menu entries
                    (default behavior is to scan for SSD types)
     -t | --type  : specific ssds type to generate (multiple allowed)
     -l | --list  : list ssds type managed

Default behavior is to try to detect the kind of ssd running on the current host. You can generate all of them with the '-a' option.

# ./crucial-fw.pl -a
Target: BX100 #1 (BX100_UPDATE_MU02_BOOTABLE.zip, BX100_UPDATE_MU02_BOOTABLE.iso)
  Downloading.. done
  Uncompressing.. BX100_UPDATE_MU02_BOOTABLE.iso done
  Moving to BX100-1.iso done
  Mounting done
  Grub -> mode initrd done
  Unmounting done
Target: BX200 #1 (BX200_UPDATE_MU02_BOOTABLE.zip, BX200_UPDATE_MU02_BOOTABLE.iso)
  Downloading.. done
  Uncompressing.. BX200_UPDATE_MU02_BOOTABLE.iso done
  Moving to BX200-1.iso done
  Mounting done
  Grub -> mode initrd done
  Unmounting done
Target: C300 #1 (c300-fw0002.zip, c300-fw0002.iso)
  Downloading.. done
  Uncompressing.. c300-fw0002.iso done
  Moving to C300-1.iso done
  Mounting done
  Grub -> mode linux16 done
 done
  Unmounting done
Target: C300 #2 (bootisolinux-0002-to-0006.zip, bootisolinux-0002-to-0006.iso)
  Downloading.. done
  Uncompressing.. bootisolinux-0002-to-0006.iso done
  Moving to C300-2.iso done
  Mounting done
  Grub -> mode linux16 done
 done
  Unmounting done
Target: C300 #3 (hp-crucial-5or6-to-7-05.zip, hp-crucial-5or6-to-7-05.iso)
  Downloading.. done
  Uncompressing.. hp-crucial-5or6-to-7-05.iso done
  Moving to C300-3.iso done
  Mounting done
  Grub -> mode linux16 done
 done
  Unmounting done
Target: M4 #1 (crucial-m4-070h-07-00.zip, crucial-m4-070h-07-00.iso)
  Downloading.. done
  Uncompressing.. crucial-m4-070h-07-00.iso done
  Moving to M4-1.iso done
  Mounting done
  Grub -> mode linux16 done
 done
  Unmounting done
Target: M500 #1 (crucial-m500.mu05-01-S0-tcg.zip, crucial-m500.mu05-01-S0-tcg.iso)
  Downloading.. done
  Uncompressing.. crucial-m500.mu05-01-S0-tcg.iso done
  Moving to M500-1.iso done
  Mounting done
  Grub -> mode linux16 done
 done
  Unmounting done
Target: M550 #1 (m550-sed-update-mu02-bootable.zip, m550-sed-update-mu02-bootable.iso)
  Downloading.. done
  Uncompressing.. M550_SED_UPDATE_MU02_BOOTABLE.iso done
  Moving to M550-1.iso done
  Mounting done
  Grub -> mode initrd done
  Unmounting done
Target: MX100 #1 (MX100_MU03_Update.zip, MX100_MU03_Update.iso)
  Downloading.. done
  Uncompressing.. MX100_MU03_Update.iso done
  Moving to MX100-1.iso done
  Mounting done
  Grub -> mode initrd done
  Unmounting done
Target: MX100old #1 (MX100_MU02_BOOTABLE_ALL_CAP.zip, MX100_MU02_BOOTABLE_ALL_CAP.iso)
  Downloading.. done
  Uncompressing.. MX100_MU02_BOOTABLE_ALL_CAP.iso done
  Moving to MX100old-1.iso done
  Mounting done
  Grub -> mode initrd done
  Unmounting done
Target: MX200 #1 (mx200-MU05-bootable.zip, mx200-MU05-bootable.iso)
  Downloading.. done
  Uncompressing.. MX200_MU05_Update.iso done
  Moving to MX200-1.iso done
  Mounting done
  Grub -> mode initrd done
  Unmounting done
Target: MX200old1 #1 (mx200-MU04-bootable.zip, mx200-MU04-bootable.iso)
  Downloading.. done
  Uncompressing.. mx200_revMU04_bootable_media_update.iso done
  Moving to MX200old1-1.iso done
  Mounting done
  Grub -> mode initrd done
  Unmounting done
Target: MX200old2 #1 (mx200-MU03-bootable.zip, mx200-MU03-bootable.iso)
  Downloading.. done
  Uncompressing.. MX200_MU03_BOOTABLE.iso done
  Moving to MX200old2-1.iso done
  Mounting done
  Grub -> mode initrd done
  Unmounting done
Target: MX300 #1 (MX300_M0CR070_Firmware_Update.zip, MX300_M0CR070_Firmware_Update.iso)
  Downloading.. done
  Uncompressing.. MX300_M0CR070_Firmware_Update.iso done
  Moving to MX300-1.iso done
  Mounting done
  Grub -> mode initrd done
  Unmounting done
Target: MX500 #1 (MX500_M3CR023_update.zip, MX500_M3CR023_update.iso)
  Downloading.. done
  Uncompressing.. MX500_M3CR023_update.iso done
  Moving to MX500-1.iso done
  Mounting done
  Grub -> mode initrd done
  Unmounting done

Generated in: /etc/grub.d/45_crucial-fw
      ISO in: /boot/crucial-fw
You can’t perform that action at this time.