fstabでfsckが実行されない
先日、(ネットワーク関連のドライバに引きずられて?)Zaurus(SL-C3000)が突然再起動した。
スペシャルカーネルに入れ替えていたので、起動時のメッセージを見ることができたのだが、その際にfsck(ファイルシステムをチェック)することを奨める旨のメッセージが表示された。
一般的にUNIX系OSでは、/etc/fstabの6番目のフィールドに1または2を設定すると、OSの起動時にfsckを行うことができる。
しかし、独自の起動プロセスを実行するZaurus(/var/log/dmesgを参照)では、内蔵ドライブのパーティションに対してfsckを実行することができないようだ。
そこで、rcスクリプトの仕組みを使ってOS起動時にfsckを実行するシェルスクリプトを作成し、これをパッケージ化した。
download:boot-fsck_0.1-1_arm.ipk
OS起動時にfsckを実行するためには、以下の例のように/etc/fstabの6番目のフィールドに3を設定する。
/dev/hda2 /hdd2 ext3 rw,noatime 0 3
6番目のフィールド以外は/etc/mtabを参考にすると良い。