zoukankan      html  css  js  c++  java
  • 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 确认驱动是否存在

        commonfs下面是否有对应的驱动:

           

     

        如果没有对应的驱动代码,需要驱动上增加支持

    4.4 如果驱动有了,查看是否配置文件已经打开:

        commonarcharm64configsmeson64_defconfig

           

     

        或者通过menuconfig配置打开对USB设备文件系统的支持。

    4.5 确认ko是否插入

        如果USB的驱动是以ko的形式存在,则需要在内核起来之后,在init.rcinsmod usb.ko,这样才能保证识别USB设备

    4.6 总结

        当无法识别USB设备的时候,我们需要从上而下分析,从逻辑分析到驱动实现,逐级排查,是哪里导致的USB无法挂载。

  • 相关阅读:
    佛学的经典 —— 《妙色王求法偈》
    dom4j的用法
    Android真机网络adb联机调试初探
    CString的部分实现剖析
    文件下载:"Content-disposition","attachment; filename=中文名>>>解决方案
    内存块重叠的判断方法
    闭包
    Twenty Newsgroups Classification任务之二seq2sparse(5)
    IE 加速插件之 Google Chrome Frame
    [Android面试题-7] 写出一个Java的Singleton类(即单例类)
  • 原文地址:https://www.cnblogs.com/codeking100/p/10338295.html
Copyright © 2011-2022 走看看