カテゴリ:タブレット
A81-Eは、内蔵フラッシュメモリが256MBしかないため、現在、microSDにext3パーティションを作り、アプリをそちらにインストールしている。 ただ、それ以降、使い続けているうちに、数週間のうちに、必ずOSが起動しなくなり、再インストールする羽目になってしまう症状が解消できない。この解消策にずっと頭を悩ませていた。 状況から見ると、どうやら、アプリをインストールしたり、更新した後、リセット起動すると、大抵ブートできなくなるようだ。 ただ、この状態になった場合でも、大抵は、パソコンでGpartedを起動し、microSDのext3パーティションのチェックを実行し、エラーを修正して、A81-Eに挿すと、起動できることが分かった。 思い至ったのが、シャットダウン時に、ext3パーティションがumountされていないのかもしれないということ。 ・・・よく考えたら、標準ファームでは、起動時にext3パーティションがmountされないのだから、シャットダウン時にも、ext3パーティションがumountされる筈がない気がしてきた。(笑) こりゃだめだ、ということで、シャットダウン時にext3パーティションをumoutできないか、色々と試してみたのだが、なかなかいい手が見つからない。 それに、シャットダウン時を対策したとしても、不意のリブートが頻発する状況なので、それには何の役にも立たず、リブートを繰り返すうちに、ファイルシステムが再起不能になる事態は避けられない。根本対策にならないのだ。 そこで、発想を変えて、OS起動時に毎回、ext3パーティションをMountする前に、ファイルシステムのジャーナリング修復が実行できないかとも考えてみた。 まずは、adb shell上で、A81-Eのbusyboxに含まれるfsckコマンドを、下のように実行してみた。 adb shell # busybox fsck -t ext3 /dev/block/mmcblk0p2 すると、fsck.ext3ファイルがないというエラーが起きて実行されない。 実際、A81-Eには、fsck.ext3コマンドがインストールされていないようだ。 仕方ないので、手持ちのIS01をパソコンに繋いでadb shellで覗いてみたら、e2fsck(=fsck.ext3)を発見! これをIS01からPULLし、A81-Eの/systemm/bin/にコピーし、Permissionを変更。 そして、e2fsck -p /dev/block/mmcblk0p2を実行してみたのだが、"CANNOT LINK EXECUTABLE"エラーが発生し、実行できない。 このエラー原因をWebで探してみたところ、単にAndroidのバージョンが違うせいじゃないか?という意見が見つかるが、さらに英語圏も探すと、この情報に出会った。 Installing "e2fsck" on Froyo for use with ext partitions/scripts. (data2ext) この掲示板の情報によれば、e2fsckは、/system/lib/の下の6つのライブラリを呼んでいて、それがないとエラーになるらしい。 IS01から、それらのライブラリをPULLして、A81-Eにコピーしてもいいのだが、ここでは、上のサイトからリンクが張られていたmisc.zipをダウンロードし解凍し、PC上のホームディレクトリに置いて、下記のようにA81-Eにコピーしてみた。 adb push e2fsck /system/bin/ adb push libext2_blkid.so /system/lib/ adb push libext2_com_err.so /system/lib/ adb push libext2_e2p.so /system/lib/ adb push libext2_profile.so /system/lib/ adb push libext2_uuid.so /system/lib/ adb push libext2fs.so /system/lib/ 今度こそと気合を入れて、再び、e2fsck -n /dev/block/mmcblk0p2を実行してみると、ようやくe2fsckが動作することが確認できた。 ただ、マウント済みのドライブにe2fsckを実行すると、e2fsckがエラー終了する。これは、起動時のマウント前に実行すれば、問題ないはずだ。そこで、init.omap3.shに追加したext3パーティションのマウントの前に、このe2fsckを追加してやればよさそうだ。 すなわち、元のinit.omap3.shに対し、 e2fsck -pfc /dev/block/mmcblk0p2 mount -w -t ext3 /dev/block/mmcblk0p2 /system/sd を最初に追加して、/system/etc/に書き戻してみた。 これでリブートしてみたら、付け加えたe2fsckコマンドも問題なく通過したようで、しばらくしてデスクトップが立ち上がり、microSDカードも無事マウントされ、正常に起動した。 e2fsckの効果の程は、しばらく使ってみないと分からないが、起動失敗が大幅に減れば、効果があったことになるだろう。しばらく、このまま使ってみて状態を見たい。 サクサク軽快に動く7インチタッチパネル。Android OSは2.2のためFlashコンテンツが閲覧可能!モバゲーもプレイ可能です。iPhone3Gと同じCortex-A8を搭載AndroidタブレットA81-E+G お気に入りの記事を「いいね!」で応援しよう
最終更新日
2011年05月22日 00時50分23秒
[タブレット] カテゴリの最新記事
|
|