(四)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

              (四)android recovery 升级之USB设备挂载_第1张图片

    确认kernel已经支持U盘对应的文件系统,从上图可知,是不支持ntfs格式的U盘的,那么NTFS格式的USB可能是不识别的。


4.3 确认驱动是否存在

    common\fs下面是否有对应的驱动:

       (四)android recovery 升级之USB设备挂载_第2张图片

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


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

    common\arch\arm64\configs\meson64_defconfig

        (四)android recovery 升级之USB设备挂载_第3张图片

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

4.5 确认ko是否插入

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


4.6 总结

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




你可能感兴趣的:(android,recovery)