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 -aTarget: 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 doneTarget: 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 doneTarget: 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 doneTarget: 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 doneTarget: 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 doneTarget: 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 doneTarget: 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 doneTarget: 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 doneTarget: 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 doneTarget: 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 doneTarget: 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 doneTarget: 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 doneTarget: 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 doneTarget: 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 doneTarget: 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 doneGenerated in: /etc/grub.d/45_crucial-fw ISO in: /boot/crucial-fw