MacBoot - a Card Preparer for Mac OSX

MacBoot is a Java application for OSX designed to make cards that will:

  1. automatically boot CHDK (if they are FAT16 or under certain circumstances FAT32)
  2. automatically boot DSLR hacks (such as Magic Lantern) on either Fat16 or Fat32 cards
  3. run CANON BASIC scripts

Broadly speaking it's the Mac equivalent of Pelican's EOSCard.

Note that MacBoot does NOT format cards, nor does it put any files there (except for the necessary "script.req" file needed for Canon BASIC scripts to run). All it does is write various strings to various locations in the boot sector of the card:

  1. "BOOTDISK" at location x'40' on FAT16 cards (for CHDK and DSLR hacks)
  2. "BOOTDISK" at location x'1E0' on FAT32 cards for CHDK on DryOS R47 or later cameras such as the A3300, SX150, SX220, SX230, IXUS220 and IXUS310. For an up-to-date list of such cameras see the bottom of the list on this page
  3. "BOOTDISK" at location x'5C' on FAT32 cards (for DSLR hacks)
  4. "BOOTDISK" at locations x'7A' and x'187A' on ExFAT cards (for DSLR hacks)
  5. "EOS_DEVELOP" at location x'2B' on FAT16 Cards (for DSLR hacks)
  6. "EOS_DEVELOP" at location x'47' on FAT32 Cards (for DSLR hacks)
  7. "EOS_DEVELOP" at locations x'82' and x'1882' on ExFAT cards (for DSLR hacks)
  8. "SCRIPT" at location x'1F0' (for Canon BASIC scripting)

For ExFAT cards it also recomputes the sector checksum and writes that back (twice).

Currently MacBoot works under all versions of OSX from Panther (10.3) onwards. It also requires version 1.4 or later of the Java Runtime.

Note that starting with Mountain Lion OSX requires root access to make changes to cards. As a result, MacBoot will fail with a "permission refused" message unless it has root access. To run MacBoot under Mountain Lion, Mavericks, Yosemite, El Capitan or later download this zip file, put it in the same folder as Macboot and unzip it. You'll get a macboot.command script. Double-clicking the script will bring up a terminal window and sudo will ask you to type your logon password so MacBoot can get root access. MacBoot will run when you press return.

Canon Basic scripts

As well as enabling Canon Basic scripting (by writing the necessary "SCRIPT" string in the boot sector), the app also creates the necessary "script.req" file. To run scripts all you need to do is create a script and save it to the card under the name "extend.m".

See here for more about Canon Basic.

The image below shows MacBoot running. Click on any field for help about it.

To download the app (a single class file in a zip), click here. Double-Click on the class file to run the app.

Version History:

  • version 1.09- February 1st 2012 - make FAT32 cards CHDK-bootable
  • version 1.08a- January 26th 2012 - ensure ExFAT cards recognised on Lion
  • version 1.08 - December 27th 2011 - fix bugs affecting large (SDXC) cards
  • version 1.07 - November 10th 2011 - deal with Lion 128GB ExFAT cards
  • version 1.06 - July 21st 2011 - allow cards up to 128GB
  • version 1.05 - January 26th 2011 - fix FAT16/FAT32 confusion
  • version 1.04 - January 14th 2011 - allow maximum card size to be adjusted via on-screen choice
  • version 1.03 - January 12th 2011 - deal with exFAT cards
  • version 1.02 - January 6th 2011 - deal properly with DSLR-bootable and FAT32 cards
  • version 1.01 - December 22nd 2010 - deal with card > 16GB and properly exclude TB-sized hard disks
  • version 1.00 - December 21st 2010

MacBoot has some extra features that can be enabled by changing its properties file, "", (which you will find in the same folder as the app once you've run it). The two main features are:

  • an option to increase the number of drives MacBoot searches (10 by default). For example to make it search 15 (because you have a lot of external drives) add the line:
  • a debug option that will cause MacBoot to display more information in the log. To turn it on, add the line:
  • The properties file also lets you change the font used ('fontname=...') and remembers the size of the window 'height=...' and 'width=...').

    Comments, suggestions and bug reports welcome.

    All my apps are freeware, but if you've found them useful and would like to thank the author, you can make a donation (for example £1, €1 or $1) to show your appreciation for the many hours spent working on them!

    For other SDM and CHDK-related stuff of mine, see here and here.