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烧写
## 最后
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。**
**因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/ef6046501fbcced429132d39aebb39fd.png)
![img](https://img-blog.csdnimg.cn/img_convert/ad227c6541e9e5edea887f04ea6c1ecb.jpeg)
![img](https://img-blog.csdnimg.cn/img_convert/927bdf1bbb3d151c749ba65264cf1ee7.png)
![img](https://img-blog.csdnimg.cn/img_convert/6f131f0be3841ac04e02b80bb92e37bb.png)
![img](https://img-blog.csdnimg.cn/img_convert/a2c9471d94470dbe2ed3a4081689b811.png)
![img](https://img-blog.csdnimg.cn/img_convert/7a6dd2aa41be6ce1899c4cc542b9185f.png)
![](https://img-blog.csdnimg.cn/img_convert/07ebb7e203856982c703b07248e8a682.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**
[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289)
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**!!
以上嵌入式&物联网开发知识点,真正体系化!**
[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289)
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**!!