展锐Android remount and fastboot

本文详细介绍了如何通过展锐提供的方法解锁和重置手机bootloader,包括获取手机id、生成和烧录certificate.bin、使用自动化脚本进行解锁操作以及查看分区信息的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文网址(转载请注明出处):

http://t.csdnimg.cn/3r8PZ

源码基于:Android Q

1.展锐解锁

1.1进入bootloader

adb reboot bootloader

1.2.获取当前手机的id

fastboot oem get_identifier_token
30313233343536373839414243444546

1.3.生成认证文件certificate.bin

./vendor/sprd/proprietories-source/packimage_scripts/signidentifier_unlockbootloader.sh 30313233343536373839414243444546 vendor/sprd/proprietories-source/packimage_scripts/signimage/sprd/config/rsa4096_vbmeta.pem certificate.bin

1.4.烧录certificate.bin

(这里的fastboot要用源码编译出来的(out目录),系统自带的不支持),会提示按音量-键,然后等待,会提示成功。

./out/host/linux-x86/bin/fastboot flashing unlock_bootloader certificate.bin

1.5.开机,关掉认证,再重启,这时就可以remount了。

fastboot reboot
adb root
adb disable-verity
adb reboot

1.6.如果需要重新上锁,运行如下的命令

adb reboot bootloader
fastboot flashing lock

2.自动化脚本

sprd_remount.sh

project_path=/home/liwl/zhanrui/M1910U/sl8541e_1h10wifi5g_32b_Natv

# 1 cmd
# 2 需要返回的字符串    绝对匹配 -w
# 3 等待时间S
# 成功返回1  失败返回0
wait_cmd_resp() {
    count=$3
    val=0
    while (($count)); do
        # echo $count
        str=$($1)
        # str="runoob is a great sites"
        ret=$(echo $str | grep -w "$2") #匹配子串
        if [[ $ret != "" ]]; then
            echo "检测到设备"
            val=1
            break
        else
            if [ $count == $3 ]; then #只输出一次
                echo "检测设备中..."
            fi
            sleep 1
            val=0
        fi

        let "count--" #变量递减

    done
    return $val
}

create_certificate() {
    adb reboot bootloader                          #进入bootloader
    wait_cmd_resp "fastboot devices" "fastboot" 60 #确认存在fastboot设备
    if [[ $? == 1 ]]; then
        id=$(fastboot oem get_identifier_token) #获取当前手机的id
        #30313233343536373839414243444546    #当前手机的id
        #生成认证文件certificate.bin
        echo "----------手动输入下面命令,替换bootloader id,生成bin----------"
        echo "cd $project_path"
        echo "./vendor/sprd/proprietories-source/packimage_scripts/signidentifier_unlockbootloader.sh ID vendor/sprd/proprietories-source/packimage_scripts/signimage/sprd/config/rsa4096_vbmeta.pem certificate.bin"
        return 1
    fi
    return 0
}

if [[ $1 == "create" ]]; then   # 生成认证
    cd $project_path
    echo "cd "$(pwd)
    create_certificate
elif [[ $1 == "unlock" ]]; then # 使用认证,进行解锁
    wait_cmd_resp "adb remount" "succeeded" 2
    if [[ $? == 1 ]]; then
        echo "设备已remount"
    else
        cd $project_path
        if test -e ./certificate.bin; then
            echo "开始解锁"
            adb reboot bootloader                          #进入bootloader
            wait_cmd_resp "fastboot devices" "fastboot" 60 #确认存在fastboot设备
            if [[ $? == 1 ]]; then
                #必须使用源码编译出的fastboot,会提示按音量-键,然后等待,会提示成功。
                ./out/host/linux-x86/bin/fastboot flashing unlock_bootloader certificate.bin
                fastboot reboot
                wait_cmd_resp "adb devices" "device" 60
                if [[ $? == 1 ]]; then
                    adb root
                    wait_cmd_resp "adb disable-verity" "already disabled" 5
                    if [[ $? == 0 ]]; then
                        adb reboot
                    fi
                fi

                wait_cmd_resp "adb remount" "succeeded" 60
                if [[ $? == 1 ]]; then
                    echo "remount 成功"
                fi
            fi
        else
            echo "请先生成认证文件"
        fi
    fi
fi

使用方法:

./sprd_remount.sh create   生成认证
./sprd_remount.sh unlock  解锁+remount(需要先生成认证)

fastboot烧写

fastboot -S 100M  flash system system.img

文件太大,可以增加-S参数,比如-S 100M

3.查看分区信息有2种方法

通过adb查看,比如ls -l dev/block/by-name/可以查看分区信息;
在这里插入图片描述
版本里查看,比如pac包里解出分区表或者直接查看分区表

out/target/product/$(board_name)/$(board_name).xml

4.展锐提供方法:

按照以下步骤进行unlock操作:
1.user版本首先root,userdebug版本直接进行第2步;
2. 在开发者选项里,打开oem unlock选项;
3. 执行adb命令进入fastboot模式:adb reboot bootloader;
4. cmd进入到本目录下面,执行以下命令进行解锁,之后按下键确认:fastboot.exe flashing unlock_bootloader signature_file cmd进入到本目录下面,执行以下命令进行解除解锁,之后按下键确认:fastboot.exe flashing lock_bootloader
5. cmd界面提示操作成功后,执行fastboot reboot命令重启手机。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lion_heart001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值