SL-C3000 の「本体ディスク」(/dev/hda3) はなぜか vfat フォーマットなので (追記: 理由がわかりました。ザウルスドライブ (USBストレージ方式) のためです)、これを ext3 にする手順をまとめてみました。
(追記: 最初の記事は ext2 化でしたが、ext3 に改めました。)
全部の手順をひととおり読んでから参考にされることをお勧めします (特に 6 に注意。ここを間違えるとハードリセットする羽目になります)。コメントもあわせてお読みください。
1. ターミナルをインストールする。
2. 現在の /hdd3 の中身を /hdd2 にバックアップ。
辞書データ (/hdd3/dict1, /hdd3/dict2) は大きすぎるのでバックアップはあきらめ、Documents のみを対象に。
bash-2.0.5$ su # cd /hdd3 # tar cf /hdd2/hdd3.tar ./Documents
3. /hdd3 をアンマウント。
# cd / # umount /hdd3
4. /dev/hda3 を ext3 でフォーマット。
4.1 パーティションテーブルの変更*
# fdisk /dev/hda
(1) p (print the partition table) を押して、/dev/hda3 が "Win95 FAT32 (LBA)" になっているのを確認。
(2) t (change a partition's system id) を押して、Partion number (1-4): に 3 を入力。Hex code (type L to list codes): に 83 (Linux) と入力。
(3) w (write table to disk and exit) でパーティションテーブルを書き込んで終了。
* 上記は さきらさんのページ に記されていた手順です。私自身は飛ばしてしまいました。
4.2 ext3 ファイルシステムの作成
# mke2fs -j /dev/hda3
5. /dev/hda3 を /hdd3 にマウントし、先にバックアップしたデータを書き戻す。
# mount -t ext3 /dev/hda3 /hdd3 # cd /hdd3 # tar xf /hdd2/hdd3.tar # chown -R zaurus:qpe /hdd3 # chmod -R go-w /hdd3
6. /root/etc/rc.d/rc.rofilesys を編集。
# mount -o remount,rw / # cd /root/etc/rc.d # cp -p rc.rofilesys backup.rc.rofilesys # vi rc.rofilesys
(以下、vi の操作)
(1) /mkfs.vfat[Enter]
→ハードリセットのときに /dev/${IDE1}3 を vfat でフォーマットする行に
移動。
(2) cf2
→"mkfs.vfat -F 32" を編集対象にする。
(3) mke2fs $MKE2FSOPT[Cancel]
→"mke2fs $MKE2FSOPT" に書き換え。ちょうど5行前とよく似た感じに。
(4) /mount -t vfat[Enter]
→/dev/${IDE1}3 を vfat でマウントしている行に移動。該当する行は3箇所ある。
(5) fv
→ "vfat" の先頭にカーソル移動
(6) cf8
→ "vfat" から "utf8" までを編集対象にする。
(7) $LINUXFMT -o noatime[Cancel]
→ "$LINUXFMT -o noatime" に書き換え。
(-o noatime はiノードの更新時刻を記録しないオプション)
(8) [Ctrl+L]
→ 画面をリフレッシュして確認。次のようになっているはず。
mount -t $LINUXFMT -o noatime /dev/${IDE1}3 /hdd3
(9) n
→2つめの該当行へ。
(10) fv
→ "vfat" の先頭にカーソル移動。
(11) . (ピリオド1個)
→ 先の編集操作を繰り返す ("vfat" から "utf8" までが
"$LINUXFMT -o noatime" に変わる)。
(12) n
→3つめの該当行へ。
(13) fv
→ "vfat" の先頭にカーソル移動。
(14) . (ピリオド1個)
→ 先の編集操作を繰り返す ("vfat" から "utf8" までが
"$LINUXFMT -o noatime" に変わる)。
(15) ZZ
→ ファイルを保存して vi を終了。
編集操作 (2, 3, 6, 7, 11, 14) を間違えたら u で取り消せます。
念のため、backup.rc.rofilesys と rc.rofilesys を比較してみるとよいでしょう。
# diff backup.rc.rofilesys rc.rofilesys
7. ターミナルを終了。
8. Qtメニューから再起動。
無事再起動できたら成功です。
HDD3 Error!! という文字列が出たときは、6 の手順に失敗していると思われます。バッテリを外してからまた取り付け、OKボタンを押しながら電源ボタンを押して起動し、リセット操作を行う必要があります。
ext3化の手順がすでにさきらさんのサイトに出てました。
http://sun.dhis.portside.net/~sakira/wiki/index.cgi?cmd=view;name=SL-C3000%3Ahdd3%a4%ceext3%b2%bd
ext2 を ext3 に改めました。
あと、バックアップは本体にとると、失敗してハードリセットしたときに失われてしまうので、さきらさんのようにPCにとったほうがよかったかも。
お世話になってます。(たったさっきも CVS の ipkg を頂戴したところです)
/hdd3 の ext3 化というのはやはり皆さんやりたいものであると同時に、その方法も同じになるというのは興味深いですね。
一箇所修正しました。
chown, chmod のところで、オーナーとパーミッションの修正を /hdd3/Documents に対してのみ行っていましたが、辞書データの復活のときなどに具合が悪いことがわかったので、/hdd3 全体に対して行うようにしました。
vi での編集はもっとストロークが少なくても済みそうです。だれかチャレンジしてみてください :-)
すみません、もう一箇所修正。vfat なのはUSBストレージ方式のためでした。
Posted by: noir123 on 2004年11月14日 09:57私のC3000でやると、
mke2fs -j /dev/hda3 で失敗しちゃいますね。
なんか違うのかなぁ。さきらさんサイトの情報も参考にして
fdiskとかもしてみましたが、同様でした。
失敗したときに何かメッセージが出ていましたか?
fdisk の件、さきらさんのサイトで見て確認しました (手順3と4の間)。
そうか、これやってないと Win95 FAT32 (LBA) のままですね。
うう、どうしよう。
とりあえず書き加えておきました。私自身はパーティションテーブルは Win95 FAT32 (LBA) のままでもいちおう動いています。が、気持ち悪い。
Posted by: noir123 on 2004年11月16日 05:29fdisk ですが、qで終わると変更を破棄になりません?
少なくてもわたしのC3000では変更が破棄されます。
すみません、さっき確認してみました。q ではなくて w でした。
記事も修正しておきました。
ROMアップデータが出ましたが、HDDをext3フォーマットにしていると、アップデート後の再起動に失敗するようです。
「生真面目日記」さん (http://d.hatena.ne.jp/mm1978/20050224#1109237774) に問題の回避方法が書かれていました (SLZaurusWiki 経由)。
Posted by: noir123 on 2005年02月25日 06:54そろそろ本体ROMのアップデートをしようと思い、情報を集めてみたところ、
生真面目日記さんはプライベートモードになっていました。
Hirobee's Trail [Memorandum] さんにも詳しく書かれていたので、そちらを参考にして無事アップデートできました。
http://hirobee.jp/archives/2005/02/zaurus-sl-c3000-rom-update/
/root/etc/rc.d/rc.rofilesys 以外にもいろいろいじっているところがあったので、それらの影響が心配でしたが、/etc/rc.d 以下はアップデートの影響はありませんでした。/lib にも、セルフ開発のために追加したシンボリックリンクがあったのですが、そちらは消えていたので、直しました。
SL-C3100でHDA3をフォーマットする際に検索時間短縮を狙ってdir_indexを有効にしてみました。
mke2fs -j -O dir_index,filetype,has_journal,sparse_super /dev/hda3
心持ち速い気が。詳しい効果のほどは不明。
標準のtune2fsでは設定出来ないぽい。
(海外でもtune2fsがext3に対応していないと話題になっていた模様。)
Reiniさん、情報ありがとうございます。
HDDの速さが気になる人には朗報ですね。
tune2fsでのext3チューニングですが、PCに接続して、tune2fsすればいいだけの話では。
私のところでは、問題なくできました。
サイン・インを確認しました、 さん。コメントしてください。 (サイン・アウト)
(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)