GM1.00KでのCHDK追試
Canon Powershot S95が修理から帰ってきてから、CHDKの自動起動に失敗していた。
この時は、ネタ元のサイトの言う通り作業して失敗した。ネタ元、
では、
- カメラ本体でSDを物理フォーマットする
- 一度、ファームウェアアップデートトリックでCHDKを起動し、CHDKのメニューから、SDをBootableにする、という作業を行う
とあったが、結果、どちらも必要ないことが分かった。要するに、(ワシはUbuntuで)SDカードのフォーマットをPCで行い、CHDKの諸々のファイルをSDカードに展開して、カードリーダから取り出す。SDカードのライトプロテクトをOnにしてカメラに挿入。撮影モードで電源OnでCHDKが自動起動する。ということだ。
ただし、以前のファームGM1.00Hで可能だった、CHDKの自動起動用SDカードを、通常の撮影に使用する、という動作が不可能になった。また、ネタ元で動作するとされている、4GBのSDカードを単一のFAT16パーティションで自動ブートさせる動作、は動作しなかった。
以下は、作業時のメモ。
1. CHDKが使えているSDカード、PCでフォーマットしたもので、CHDKファイルのみ新バージョンで置き換えたもの。
$ sudo fdisk -l /dev/sdg Disk /dev/sdg: 16.1 GB, 16055795712 bytes 64 heads, 32 sectors/track, 15312 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x9357b7f9 Device Boot Start End Blocks Id System /dev/sdg1 * 1 3 3056 5 Extended /dev/sdg2 4 15312 15676416 b W95 FAT32 /dev/sdg3 1 3 3056 6 FAT16 Partition table entries are not in disk order
2. ファームアップデートトリックでCHDKの起動が出来るSD、現状のファーム (GM1.0.0K)でフォーマットしたもの。
$ sudo fdisk -l /dev/sdg Disk /dev/sdg: 4025 MB, 4025483264 bytes 126 heads, 61 sectors/track, 1022 cylinders Units = cylinders of 7686 * 512 = 3935232 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdg1 2 1023 3927040 b W95 FAT32 Partition 1 has different physical/logical beginnings (non-Linux?): phys=(1, 2, 3) logical=(1, 8, 19) Partition 1 has different physical/logical endings: phys=(974, 125, 61) logical=(1022, 117, 43)
3. 違いは、フォーマットの構成。CHDK用の小さなパーティションの有無と、一番目のパーティションの開始・終了位置。
4. パーティションの開始・終了位置を揃えてみる。つまり、カメラで物理フォーマットをせずPCで物理フォーマットを行う。2.ではFAT32でダメだったのでFAT16でやってみる。
4-1. SDの準備
$ sudo fdisk -l /dev/sdg Disk /dev/sdg: 4025 MB, 4025483264 bytes 126 heads, 61 sectors/track, 1022 cylinders Units = cylinders of 7686 * 512 = 3935232 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdg1 * 1 1022 3927515+ 6 FAT16 $ sudo mkdosfs /dev/sdg1 mkdosfs 3.0.7 (24 Dec 2009) $ echo -n BOOTDISK | sudo dd bs=1 count=8 seek=64 of=/dev/sdg1 8+0 records in 8+0 records out 8 bytes (8 B) copied, 0.0126452 s, 0.6 kB/s $ sudo mount /dev/sdg1 /mnt $ sudo unzip s95-100k-1.0.0-1803-full_BETA.zip -d /mnt Archive: s95-100k-1.0.0-1803-full_BETA.zip -e CHDK-CHDK for s95 fw:100k build:1.0.0-1803_BETA date:Thu, 12 Apr 2012 08:29:52 +0200 inflating: /mnt/DISKBOOT.BIN inflating: /mnt/CHDK/SYMBOLS/icon_10.rbf inflating: /mnt/CHDK/SYMBOLS/icon_16.rbf inflating: /mnt/CHDK/BOOKS/readme.txt extracting: /mnt/CHDK/CURVES/readme.txt inflating: /mnt/CHDK/DATA/GPS_Kreis.txt ... snip ... inflating: /mnt/changelog.txt inflating: /mnt/vers.req inflating: /mnt/readme.txt inflating: /mnt/PS.FI2 $ sudo umount /mnt $ sudo eject /dev/sdg
4-2. ファームアップデートトリックで実験
SDのライトプロテクトをOffにして、カメラ本体に挿入、再生モードで電源をOnした。「カードが異常です」の表示。メニューにはファームアップデートの項目は無い。SDのライトプロテクトをOnにしてカメラ本体に挿入しても同じ結果。
4-3. ブートトリックで実験
SDのライトプロテクトをOnにして、カメラ本体に挿入、撮影モードで電源をOnした。「カードが異常です」の表示。
5. パーティションの構成を揃えてみる。つまり、CHDK用の小さなパーティションを用意する。
5-1. SDカードの準備
$ sudo fdisk -l /dev/sdg Disk /dev/sdg: 4025 MB, 4025483264 bytes 126 heads, 61 sectors/track, 1022 cylinders Units = cylinders of 7686 * 512 = 3935232 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdg1 * 1 3 11498+ 6 FAT16 /dev/sdg2 4 1022 3916017 b W95 FAT32 $ sudo mkdosfs /dev/sdg1 mkdosfs 3.0.7 (24 Dec 2009) $ sudo mkdosfs -F32 /dev/sdg2 mkdosfs 3.0.7 (24 Dec 2009) $ echo -n BOOTDISK | sudo dd bs=1 count=8 seek=64 of=/dev/sdg1 8+0 records in 8+0 records out 8 bytes (8 B) copied, 0.00830938 s, 1.0 kB/s $ sudo unzip s95-100k-1.0.0-1803-full_BETA.zip -d /mnt Archive: s95-100k-1.0.0-1803-full_BETA.zip -e CHDK-CHDK for s95 fw:100k build:1.0.0-1803_BETA date:Thu, 12 Apr 2012 08:29:52 +0200 $ sudo umount /mnt $ sudo eject /dev/sdg
5-2. 取りあえず、上の状態で実験
Windowsからパーティションが見えないだけで、CHDKの起動には支障ないはずだ。SDのライトプロテクトをOnにして、カメラ本体に挿入、撮影モードで電源をOnした。CHDKの自動起動に成功。
SDのライトプロテクトをOffにして、カメラ本体に挿入、撮影モードで電源をOnすると、一番目の小さなパーティションを利用しようとしている。CHDKを使用しない場合に不便。
PC側での挙動は以下のとおり。SDカードをリーダに挿入すると、一番目の小さなパーティション、二番目の大きなパーティションの両方が自動でマウントされる。
$ sudo sfdisk -uS -N3 -f /dev/sdg Checking that no-one is using this disk right now ... OK Disk /dev/sdg: 1022 cylinders, 126 heads, 61 sectors/track Old situation: Units = sectors of 512 bytes, counting from 0 Device Boot Start End #sectors Id System /dev/sdg1 * 61 23057 22997 6 FAT16 /dev/sdg2 23058 7855091 7832034 b W95 FAT32 /dev/sdg3 0 - 0 0 Empty /dev/sdg4 0 - 0 0 Empty Input in the following format; absent fields get a default value. <start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s> Usually you only need to specify <start> and <size> (and perhaps <type>). /dev/sdg3 :61 22997 6 Warning: given size (22997) exceeds max allowable size (0) /dev/sdg3 61 23057 22997 6 FAT16 New situation: Units = sectors of 512 bytes, counting from 0 Device Boot Start End #sectors Id System /dev/sdg1 * 61 23057 22997 6 FAT16 /dev/sdg2 23058 7855091 7832034 b W95 FAT32 /dev/sdg3 61 23057 22997 6 FAT16 /dev/sdg4 0 - 0 0 Empty Warning: partitions 1 and 3 overlap Do you want to write this to disk? [ynq] y Successfully wrote the new partition table Re-reading the partition table ... If you created or changed a DOS partition, /dev/foo7, say, then use dd(1) to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1 (See fdisk(8).) $ sudo sfdisk --id /dev/sdg 1 5 Done $ sudo eject /dev/sdg
5-4. パーティション対策したSDで実験
SDのライトプロテクトをOnにして、カメラ本体に挿入、撮影モードで電源をOnした。CHDKの自動起動に成功。
SDのライトプロテクトをOffにして、カメラ本体に挿入、撮影モードで電源をOnすると、一番目の小さなパーティションを利用しようとしている。以前の挙動と違う。以前は二便目の大きなパーティションを使用する、CHDKを使用しない、普通の撮影が出来た。これに対し、PC側での挙動は同じ。SDカードをリーダに挿入すると、二番目の大きなパーティションのみが自動でマウントされる。
6. 前回失敗した原因
カメラ本体でSDを物理フォーマットしたためだと思われる。GM1.00HとGM1.00Kでの物理フォーマットが異なること、前回と今回の実験の比較から。
Canon デジタルカメラ Powershot S95 PSS95 1000万画素高感度CCD 光学3.8倍ズーム 広角28mm 3.0型液晶 F2.0
- 出版社/メーカー: キヤノン
- 発売日: 2010/08/26
- メディア: Camera
- 購入: 6人 クリック: 208回
- この商品を含むブログ (60件) を見る