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无法挂载。

  • 相关阅读:
    [Tips] 树莓派VNC登录
    [Tips] 联通宽带+华为路由器,如何进行NAT
    [Tips] 树莓派4B 风扇安装
    [Tips] 家庭树莓派,如何外网访问
    [Tips] 命令行获取设备的外网IP
    MySQL 如何让自增id设置为从1开始
    MySQL报错:Packet for query is too large (2,588 > 2,048).
    Java 实现 Timstamp 和 String 互相转换
    MySQL修改 mysql-bin 日志保存天数以及文件大小限制
    Linux Shell 中的年月日 时分秒
  • 原文地址:https://www.cnblogs.com/codeking100/p/10338295.html
Copyright © 2011-2022 走看看