CHDK Wiki
Advertisement

Hi, I am fairly new to CHDK and even owning a camera but I like to consider myself fairly techy and when I do something I always try to do it the best way possible. I am also fairly cheap and because of that bought myself a $80 Canon A480 and with the money I saved on not buying an expensive camera I bought a more pricey SD (32GB) card so I could fit more photos with less fuss(if I only knew).

As I was new to CHDK I did not realise that only FAT16 formatted cards were supported as bootable media for CHDK. This was a major problem because, as anyone reading this page would probably already know, FAT16 has a maximun size of 4GB. Simply put, CHDK was now basically rendering my pricey 32GB SD card useless.

I only decided to make a page about it because it took me some time to find a solution to this issue and I wanted to make it a little bit easier for anyone else in the same situation in future. Consider it thanks for all the great features CHDK added to my el cheapo camera. ;)

What you will need:

  • A linux system (most should be fine, I used Ubuntu myself)
  • A windows system
  • CardTricks
  • A Canon camera supported by CHDK
  • The appropriate CHDK version for your supported Canon camera
  • A SDHC card (over 4GB is advisable simply because it's not worth the fuss if it isn't)
  • A USB adapter for your SD card

Let's get started

  1. Boot up your Linux system
  2. Insert your USB SD card adapter
  3. Start Terminal


From here on I will quote terminal commands pretty much verbatim. Please note that my SD card was mounted as sdd but it may be different on your system and making changes like the following can be extremely harmful if done to the wrong disk. Backup any media you do this to before you start. I TAKE NO RESPONSIBILITY FOR ANY DAMAGE DONE BY FOLLOWING THIS GUIDE.

To determine where your SD card is mounted use: sudo fdisk -l

It will be the disk which has the same ammount of space as your SD card and should be pretty obvious that it is your SD card.

  1. sudo fdisk /dev/sdd
  2. o (create empty dos partition table)
  3. n,p,1,1,+10M , n,p,2,enter,enter (creates sdd1 and sdd2 as primary partitions - commas are enters)
  4. t,1,6 , t,2,b (changes sdd1 to FAT16 and sdd2 to FAT32)
  5. w (write changes to disk and exit)
  6. mkdosfs /dev/sdd1 (writes filesystem to partitions)
  7. mkdosfs -F32 /dev/sdd2 (writes filesystem to partitions)
  8. Use your Windows system and CardTricks to make the SD card bootable - then back to Linux Terminal
  9. sfdisk -uS -N3 -f /dev/sdd
  10. enter <start> <#sectors> <id> of sdd1, in my case "62 12338 6" (creates sdd3 as a clone of sdd1)
  11. sfdisk --id /dev/sdd 1 5 (changes partition id of sdd1 to extended)
  12. Make sure your card lock is in the locked partition so your card is bootable
  13. You should now have a bootable CHDK SD card which by default uses the large FAT32 partition for saving pictures


Note: if any of these commands don't work as I have specified you may need to add the word 'sudo' before the command. It may also prompt you for your administrator(root) password to continue.

Note: You do not need to install linux to do this. You can download a live iso for Ubuntu and a number of other distrobutions which you can burn as an image and use as a temporary instance of a linux operating system.

Advertisement