android recovery 升級之USB設備掛載


  Recovery升級過程,通常會從兩個地方獲取升級包update.zip升級,一般在線升級,會把升級包下載到cache分區,本地升級會從usb或者tf卡中升級。本文討論下,本地USB升級時,無法掛載USB設備的問題。

    無法掛載USB設備的時候,可以按照以下流程分析:

 

4.1 手動掛載

    我們先確定是否能夠手動掛載USB設備

    busybox mount -t vfat /dev/block/sda1 /udisk

        -t vfat  U盤的格式,根據U盤具體格式加參數

        /dev/block/sda1U盤的邏輯分區,可能是/dev/blcok/sd**

         /udisk  是掛載點

 

    如果是可以手動掛載可以,那么說明USB驅動是好的,升級的時候掛載太早,可能/dev/block/sd**節點還未生成導致,可在掛載之前增加延時,保證掛載時候USB設備節點已經生成。

 

4.2 查看內核是否支持格式

    輸入命令:cat  /proc/filesystems

              

 

    確認kernel已經支持U盤對應的文件系統,從上圖可知,是不支持ntfs格式的U盤的,那么NTFS格式的USB可能是不識別的。

 

 

4.3 確認驅動是否存在

    common\fs下面是否有對應的驅動:

       

 

    如果沒有對應的驅動代碼,需要驅動上增加支持

 

4.4 如果驅動有了,查看是否配置文件已經打開:

    common\arch\arm64\configs\meson64_defconfig

       

 

    或者通過menuconfig配置打開對USB設備文件系統的支持。

 

4.5 確認ko是否插入

    如果USB的驅動是以ko的形式存在,則需要在內核起來之后,在init.rcinsmod usb.ko,這樣才能保證識別USB設備

4.6 總結

    當無法識別USB設備的時候,我們需要從上而下分析,從邏輯分析到驅動實現,逐級排查,是哪里導致的USB無法掛載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM