2011年8月4日 星期四

Ext3 support for Froyo in recovery

某個案子把 nand flash 改成 eMMC,同時檔案系統也改採用 ext3 取代原本的 ext2

本來一切都很美好,直到發現在 Recovery mode 裡選用 --wipe_data 清空 /data 和 /cache 後

系統無法正常開機,或者應該說無法順利的 mount /data 及 /cache

奇怪的是,Froyo 的 recovery 本就支援 ext3,畢竟 ext3 只比 ext2 多了 journaling

但是,問題就是存在,花了一些時間去追,發現如果手動將 /cache 以 ext2 掛上是沒問題的

所以,問題應該是出在建 journal 時發生錯誤,為了證明這個想法,把 e2fsprogs 移植到系統上

接著利用 dumpe2fs 檢查被 recovery 過後的 device,結果跟猜想的一樣,現在比較麻煩的是

Recovery 在格式化的過程中完全沒有錯誤訊息,也找不到建 journal 的文件

最後,直接從 e2fsprogs 裡面去挖 code,把相關的程式碼弄成函式庫,再讓 Recovery 去連結

Done



沒有留言:

張貼留言