HDD CrashからSL-C3100復活

先日HDDがクラッシュしたSL-C3100であるが、その後、HDDのレストア用のイメージの配布サイトを発見した為、クラッシュしたHDDを4GBのCF Flashメモリに換装後、配布サイトのHDDイメージを使ってQtopia環境を再構築することができた。その手順を以下にメモ。

【NANDバックアップ】
以下手順でService Menuを開き、NAND Flash Backupを選択することで、今の環境をNANDバックアップすることが出来る。Service Menuの出し方は以下が参考になった。
ザウルスの完全初期化の準備

1>ザウルスの電源を切る
2>AC電源を抜く
3>バッテリを外す
4>SDカード(16MB以上)を挿し、CFカードやUSB端子機器を外す。
4>キーボードの「D」と「M」を押しながら、AC
電源を差し込むと[SERVICE MENU]が立ち上がる
5>カーソルキーの下矢印で3ページ(3/3)の3番目にある「BACKUP RESTORE MENU」をEnterを押す
6>「BKUP RSTR MENU」になるので、2番目の
 「NAND Flash Back Up」を選んでOKを押す
数分でOKの表示が出れば完了。

【HDD換装】
Zaurusに入っていたHDDはCFタイプのHitachiのMicrodriveだった。しかし今となっては大容量かつ安価のCF Flashメモリが普及してしまった為、4GBのMicrodriveにはもう当時程の価値は無い。今回はドスパラで3980円で4GBのCFタイプのFlashメモリを買ってきて換装した。(型番はA-DATA 266X Turbo 4GB)。換装方法は以下のサイトを参考にした。ビスの位置等はビスの数が一個SL-C3100の方が少ない他は全て一緒だった。
Linuxザウルス開発メモ/ハードウェア/C3000HDD換装

【メンテナンスカーネルの起動】
換装後、メンテナンスカーネルを起動しパーティションを切り直した。メンテナンスカーネルとは今回のように通常カーネルで起動しなくなった場合の為の緊急用のカーネルである。起動方法は以下を参考にした。
Linuxザウルス開発メモ/修復方法/メンテナンスカーネル/SL-C3100

電源ケーブルを本体に接続
本体裏の電池ブタのつまみを「解除」にする
電池ブタをはずす。
以下の作業を、キーボードの「D」と「B」を押しながら行う。
 リセットボタンを押す。
 電池ブタを戻す。電池も入れる
 電池ブタのつまみを「ロック」にする。
 電源ON

【HDD(今はFlashメモリだが)の初期化】
fdiskはhda1が10Mでext3,hda2も10Mでext3,hda3はVFATで切った。切り方は以下のサイトを参考にした。fdiskの後、mkfs.ext2やmkdosfsでフォーマットした。
SL-C3100 CF16GB換装
パーティションテーブルは以下のようになればOK

SL-C3100 HDD-Partition table:
/dev/hda1  Start 1  End 20  Blocks 10048+  id 83 System Linux
/dev/hda2  Start 21 End 40  Blocks 10080  id 83 System Linux
/dev/hda3  Start 41 End 7936 Blocks 3979584 id c System Win95 FAT32 (LBA)

Zaurusの環境初期化】
実はShellの使えないQtopia環境だけならHDDイメージが無くとも復活出来る事が判った。以下手順でZaurusの設定メニューを開き, Zaurusの完全消去を選択すればQtopia環境が復活出来る。手順は下のURLを参考にした。しかしこの完全消去でQtopia環境は立ち上がるものの、bash等のシェル環境は立ち上がらないのでまだ復旧していない。また、起動の途中に"Error!! HDD is not initialized!"というメッセージが出てしまう。これはHDDの中にあるはずの/hdd1/.sys/hdimage2.tgzが見付からない為に表示される。やはりディスクイメージが無いと復旧出来ない。
ザウルス完全消去の実施

1>全てのアプリを終了し電源を切る
2>AC電源が挿してあり、オレンジのLED点灯を確認
3>裏側スイッチを「解除」にし電池蓋を外す
4>30秒待ってリセットボタンを押す <= 30秒も待たなくて良いようだ
5>電池蓋を締め、「ロック」側に切り替える。
6>オレンジのLED点灯を確認の上、「OK」キーを押しながら「電源」ボタンを押す。
7>「メンテナンスメニュー」の3番の「完全消去(フォーマット)」を選択しEnterを押す。
8>1番の「通常」を選択してEnterを押す。
9>完全フォーマットの実行を問う画面になるので、
  「はい(Y)」を選択してEnterを押す。
  (この状態までは、「いいえ(N)」で戻れます)

【HDDイメージの取得&コピー】
HDDイメージは以下サイトから取得出来る事が判った。これが見付からなかったら復旧出来なかった。配布元に感謝!
Downloads for the SHARP 'ZAURUS' SL-C3100(TRISOFT)
上記のサイトからSLC3100SYSPART.zipを取得し、解凍した内容をSDカード経由でZaurusのメンテナンスカーネルから読み込む。hda1,hda2をそれぞれ/hdd1,/hdd2にマウントし、下記コマンドでSDカードから内部のHDD(今はFlashメモリ)にコピーする。

cp -r /mnt/card/hdd1sys /hdd1/.sys
cp -r /mnt/card/hdd2sys /hdd2/.sys

【起動】
後はZaurusを再起動することで環境が戻っていることが確認できるはず。復活出来て良かった。後HDDからFlashメモリになったことで、シーク音が消えて衝撃に強くなった事に加え、ファイルアクセスも若干早くなった気がする。素晴らしい。アプリケーションの導入はまた後でやろう。

I could restor my SL-C3100 from HDD crash. I didn't back up HDD so I almost gave up restoring. But I found the HDD image on the internet. Thanks for the distributor!