Ingredients:
Canon SD1000
SD card > 4GB (in our case, we have an 8GB microSD)
A Linux computer
First, figure out the firmware. I created a file, ver.req and put it in the root of the SD card. Turn on the camera and press FUNCSET and DISP simultaneously.
In our case, we have 1.02A firmware, so get that version of CHDK.
Unpack CHDK.
Now, to set up the SD card. Refer to: http://chdk.wikia.com/wiki/Prepare_your_SD_card.
The SD1000 was released before 2011, it seems, so it needs a FAT16 bootable partition. Since we have an 8GB card, we thus need to configure it to have 2 partitions.
I tried to set up the card with the STICK utility, but failed. So I used Linux to set up the card manually.
Refer to: http://chdk.wikia.com/wiki/CHDK_and_SD_cards_greater_than_4GB_%288GB,_16GB,_32GB,_64GB%29
I'm just going down the line of instructions and adding notes where necessary.
1. Find where the SD card is mounted (on my system, it was /dev/mmcblk0)
sudo fdisk -l
2. Modify the filesystems/partitions in fdisk
sudo fdisk /dev/mmcblk0
o (create empty dos partition table)
I did 'w' to write the partition table and then reluaunched fdisk
3. Create the 2 partitions
FAT16 partition that will be made bootable (2048 was the start block; I couldn't set it to 1 like in the wiki article because it wasn't available):
n,p,1,2048,+10M
then the FAT32 partition:
n,p,2,[enter],[enter]
4. Set first partition to FAT16, second partition to FAT32
t,1,6
t,2,b
5. Write changes
w
6. Write filesystem to partition 1
sudo mkdosfs /dev/mmcblk0p1
7. Write filesystem to partition 2
sudo mkdosfs -F32 /dev/mmcblk0p2
8. Make partition 1 bootable
echo -n BOOTDISK | dd bs=1 count=8 seek=64 of=/dev/mmcblk0p1
9. Clone partition 1
sudo sfdisk -uS -N3 -f /dev/mmcblk0
Canon SD1000
SD card > 4GB (in our case, we have an 8GB microSD)
A Linux computer
First, figure out the firmware. I created a file, ver.req and put it in the root of the SD card. Turn on the camera and press FUNCSET and DISP simultaneously.
In our case, we have 1.02A firmware, so get that version of CHDK.
Unpack CHDK.
Now, to set up the SD card. Refer to: http://chdk.wikia.com/wiki/Prepare_your_SD_card.
The SD1000 was released before 2011, it seems, so it needs a FAT16 bootable partition. Since we have an 8GB card, we thus need to configure it to have 2 partitions.
I tried to set up the card with the STICK utility, but failed. So I used Linux to set up the card manually.
Refer to: http://chdk.wikia.com/wiki/CHDK_and_SD_cards_greater_than_4GB_%288GB,_16GB,_32GB,_64GB%29
I'm just going down the line of instructions and adding notes where necessary.
1. Find where the SD card is mounted (on my system, it was /dev/mmcblk0)
sudo fdisk -l
2. Modify the filesystems/partitions in fdisk
sudo fdisk /dev/mmcblk0
o (create empty dos partition table)
I did 'w' to write the partition table and then reluaunched fdisk
3. Create the 2 partitions
FAT16 partition that will be made bootable (2048 was the start block; I couldn't set it to 1 like in the wiki article because it wasn't available):
n,p,1,2048,+10M
then the FAT32 partition:
n,p,2,[enter],[enter]
4. Set first partition to FAT16, second partition to FAT32
t,1,6
t,2,b
5. Write changes
w
6. Write filesystem to partition 1
sudo mkdosfs /dev/mmcblk0p1
7. Write filesystem to partition 2
sudo mkdosfs -F32 /dev/mmcblk0p2
8. Make partition 1 bootable
echo -n BOOTDISK | dd bs=1 count=8 seek=64 of=/dev/mmcblk0p1
9. Clone partition 1
sudo sfdisk -uS -N3 -f /dev/mmcblk0
10. Partition 1's start, size, and id are:
2048 20480 6
11. Change the partition 1 id to 5
sudo sfdisk --id /dev/mmcblk0 1 5
Now if I do
sudo fdisk -l
I see:
Disk /dev/mmcblk0: 7964 MB, 7964983296 bytes
4 heads, 16 sectors/track, 243072 cylinders, total 15556608 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5ea82522
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 2048 22527 10240 5 Extended
/dev/mmcblk0p2 22528 15556607 7767040 b W95 FAT32
/dev/mmcblk0p3 2048 22527 10240 6 FAT16
12. Now mount partition 3 (mmcblk0p3) somewhere. I chose /mnt/usb.
sudo mount /dev/mmcblk03 /mnt/usb -o uid=1000,gid=1000,flush
13. Copy BOOTDISK.BIN, PS.FIR (there was no PS.F12), vers.req to /mnt/usb
14. umount /mnt/usb
15. Mount partition 2 (mmcblk0p2) to /mnt/usb.
sudo mount /dev/mmcblk03 /mnt/usb -o uid=1000,gid=1000,flush
16. Copy the CHDK directory to /mnt/usb.
17. Eject the card and lock it. (Since we are using a microUSB, I set the lock on the SD adapter.) Put card in the camera and turn it on.
18. Success! CHDK boots automatically.
Comments
Post a Comment