文市の小箱茶室ケーキ小箱-C3100-[CF16GB換装]\ LX紅茶読書自転車好み他伝言板blog

SL-C3100 CF16GB換装


C3100写真


16GB CF高速タイプ


C3100写真
秋葉のパソコンハウス東映で、A-DATAの16GB CFが販売されていたものの、速度はあまり速いものではありませんでした。日本橋のPC ONE'Sで、FUJITEKのX130の16GB CFが販売されたので調達しました。
もちろん、Zaurusに内蔵するためです。仕事がヤマを越え、HP200LXでなくてもなんとかなるようになってきたので、EM ONEより軽くするために(Qtopiaに戻した)SL-C760に薄型バッテリーで運用し始めました。するとLinux Zaurusはなかなかの完成度です。使用頻度が高まると薄型バッテリーでは心もとなくなり、どうせならとSL-C3100に移し変えました。動画再生もEM ONEより扱いやすくなり、大容量に乗せかえるのもいいかとCF調達しました。


C3100内蔵に設定

というわけで、換装することにします。以前換装したときにどうしたか覚えていないので、とりあえず適当に試してみます。
たしかパーティションは切っておかないとHDD1 Errorになってしまったはずなので、パーティションだけ先行して切ってしまうことにします。現在は8GBのCFが入っています。
今の8GBはHDD1とHDD2は10MBずつ確保してあった模様なので、同じだけ区画を切ります。
bash-2.05$ mount
rootfs on / type rootfs (rw)
/dev/root on / type jffs2 (ro)
/proc on /proc type proc (rw)
/dev/mtdblock3 on /home type jffs2 (rw,noatime)
/dev/ram1 on /dev type minix (rw)
none on /dev/shm type tmpfs (rw)
/dev/hda1 on /hdd1 type ext3 (ro,noatime)
/dev/hda2 on /hdd2 type ext3 (rw,noatime)
/dev/hda3 on /hdd3 type vfat (rw,noatime)
none on /dev/pts type devpts (rw)
/dev/mmcda1 on /usr/mnt.rom/card type vfat (rw,noatime)
/dev/hdc1 on /usr/mnt.rom/cf type vfat (rw,noatime)
bash-2.05$ df
Filesystem           1k-blocks      Used Available Use% Mounted on
rootfs                   32768     32768         0 100% /
/dev/root                32768     32768         0 100% /
/dev/mtdblock3           91136     33352     57784  37% /home
/dev/ram1                   44        32        12  73% /dev
none                      1024        60       964   6% /dev/shm
/dev/hda1                 9755      1048      8203  11% /hdd1
/dev/hda2                 9755      1044      8207  11% /hdd2
/dev/hda3              8082436   7222428    860008  89% /hdd3
/dev/mmcda1            2009216   1572480    436736  78% /usr/mnt.rom/card
/dev/hdc1             15840632        24  15840608   0% /usr/mnt.rom/cf
bash-2.05$ su
# bash
bash-2.05# umount /dev/hdc1
bash-2.05# fdisk /dev/hdc

The number of cylinders for this disk is set to 1974.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hdc: 16.2 GB, 16240089600 bytes
255 heads, 63 sectors/track, 1974 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hdc1   *         1      1974  15856123+   c  Win95 FAT32 (LBA)

Command (m for help): d
Selected partition 1

Command (m for help): p

Disk /dev/hdc: 16.2 GB, 16240089600 bytes
255 heads, 63 sectors/track, 1974 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1974, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1974, default 1974): +10M

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (3-1974, default 3): 
Using default value 3
Last cylinder or +size or +sizeM or +sizeK (3-1974, default 1974): +10M

Command (m for help): p

Disk /dev/hdc: 16.2 GB, 16240089600 bytes
255 heads, 63 sectors/track, 1974 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hdc1             1         2     16033+  83  Linux
/dev/hdc2             3         4     16065   83  Linux

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (5-1974, default 5):
Using default value 5
Last cylinder or +size or +sizeM or +sizeK (5-1974, default 1974):
Using default value 1974

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): c
Changed system type of partition 3 to c (Win95 FAT32 (LBA))

Command (m for help): p

Disk /dev/hdc: 16.2 GB, 16240089600 bytes
255 heads, 63 sectors/track, 1974 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hdc1             1         2     16033+  83  Linux
/dev/hdc2             3         4     16065   83  Linux
/dev/hdc3             5      1974  15824025    c  Win95 FAT32 (LBA)

Command (m for help): w

bash-2.05# mkfs.ext2 -j /dev/hdc1

bash-2.05# mkfs.ext2 -j /dev/hdc2

bash-2.05# mkdosfs -F32 /dev/hdc3
パーティションを切って、フォーマットしました。
これで、内蔵CFを差し替えて、OK+ONで初期化を試します。

うまくいきません。結局一度戻して、HDD1とHDD2は元のCFからDDします。
bash-2.05# dd if=/dev/hda1 of=/dev/hdc1

bash-2.05# dd if=/dev/hda2 of=/dev/hdc2
これでOKのようです。
内蔵CFを差し替えます。

あとは、HDD3をコピーすれば良いのですが、ターミナルから
# mount -t vfat -o iocharset=utf8,codepage=932 /dev/hda3 /mnt/cf
# mount -t vfat -o iocharset=utf8,codepage=932 /dev/hdc3 /mnt/hda

# cd /mnt/hda
# cp -a /mnt/cf/* .
としたり、マスストレージとして母艦PCにつなげてバックアップからコピーすればよいわけです。もっとも、その前にやることがあります。

Linuxザウルス開発メモ/ハードウェア/C3000HDD換装 - Walrus, Visit.にあるように、storage_fd.oが4GB超に対応していないため不具合があります。パッチとstorage_fd.oを 59414d41さんが公開してくれているので、手順に従って入れ替えます。
$su
#bash
bash-2.05#
bash-2.05#mount -o remount,rw /
bash-2.05#cd /lib/modules.rom/2.4.20/kernel/drivers/usb/device/storage_fd/
bash-2.05#mv storage_fd.o storage_fd.old.o
bash-2.05#cp /mnt/card/storage_fd.o .
bash-2.05#depmod -a
bash-2.05#mount -o remount,ro /

あとは、2GBのSDが使えるようにドライバを入れたり、スペシャルカーネルにしたり、バックアップを戻したりといった感じで、さっきまで使っていた環境が復元します。


換装成功


C3100写真
内蔵ディスクが広々としました。
ガンガン動画データを突っ込んでみました。いくらでも入ります。


文市の小箱茶室ケーキ小箱-C3100-[CF16GB換装]/ LX紅茶読書自転車好み他伝言板blog

文市(あやち)=青野宣昭