Upgrading the Crucial m4 SSD firmware on the Mac without CD drive can be challenging. Easiest way I found is to use rEFIt Syslinux and an USB flash drive (USB stick). You also shouldn’t be fainthearted to fire some Terminal commands which easily can destroy your data when used wrong.

Here is a list of what to do:

  1. Download the Manual Boot File for Windows and Mac® m4 firmware ISO file, unzip and mount it. For the 040H firmware the mounted disk name is CDROM.
  2. Copy the file BOOT/ISOLINUX/BOOT2880.IMG from the mounted ISO image somewhere to your hard disk.
  3. Eject the ISO image
  4. Download rEFIt-Syslinux, unzip and mount the DMG file. You get 2 disk devices: SYSLINUX and rEFIt
  5. Start Terminal.app on your Mac
  6. Unmount (not eject) the 2 disks:
diskutil unmount /Volumes/SYSLINUX
diskutil unmount /Volumes/rEFIt
  1. Insert the USB flash drive. Backup any data on the flash drive because you are going to overwrite it completely.
  2. Unmount the Flash drive either by using the Terminal as above if you know at which mount point it was mounted or by using the Disk Utility.app which allows you to identifiy and unmount it using the Mouse
  3. Identify the disk devices:
diskutil list
  • The rEFIt-Syslinux looks like this. At your machine it may be mounted using another disk device like disk3:
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *32.6 MB    disk2
   1:                 DOS_FAT_32 SYSLINUX                8.2 MB     disk2s1
   2:                  Apple_HFS rEFIt                   23.2 MB    disk2s2
  • The flash drive is probably below it. Compare the disk size with the flash drive size to identify the right device.
  1. You now are going to copy the content from the rEFIt-Syslinux image to the USB flash drive. That’s the tricky part because you easily can destroy the wrong disk when entering wrong device paths. The device path is something like /dev/disk2. The following is an exampel, you need to enter the correct paths as identified by you:
dd if=/dev/rdisk2 of=/dev/rdiskX bs=1m
  • Source disk (or input): /dev/rdisk2 (rdisk is the raw variant of disk which is usually faster when using dd)
  • Destination disk (or output): /dev/rdiskX. Make absolutely sure your Destination disk is the flash drive and not any other disk.
  1. The new partitions from the flash drive are mounted now. If not remove the USB flash drive and reinsert it.
  2. Copy the file BOOT2880.IMG you saved in step 2. above to SYSLINUX
  3. Open the file syslinux.cfg in a text editor and change the last line from append initrd=/AN-SD25.ima to append initrd=/BOOT2880.IMG. Save the file.
  4. Reboot your Mac and hold the alt key when it starts. Choose rEFit from the list of startup disks.
  5. In the rEFit menu choose Boot Legacy OS from SYSLINUX
  6. In the UNetbootin menu choose SeaFlash. You now boot into the firmware upgrade utility. Follow the firmware upgrade instructions/manual from now on.

Note: The article Make a bootable USB flash drive/memory stick for Intel MacBook Pro at io101.org was very helpful in developing the procedure described above.