Android Q之后如何单独烧录system/vendor/odm/product img

1.unlock devices
方法1:
Flash user/eng/userdebug full load and bootup to home screen
Settings -> System -> Developer options -> OEM unlocking
“adb reboot bootloader” or “press volume up key + power key and select fastboot”
fastboot flashing unlock (press volumn up key)

方法2 rebuild lk to unlock devices
goto lk (vendor/mediatek/proprietary/bootable/bootloader/lk)
add config into “project”.mk (ex: project/k79v1_64_tee.mk)
MTK_BUILD_DEFAULT_UNLOCK = yes
rebuild lk
单独烧录lk (lk需同一codebase编译生成)
2. 进入fastbootd界面

方法1 通过fastboot mode 命令进fastbootd

adb reboot bootloader (will enter fastboot mode)
fastboot reboot fastboot(will enter fastbootd mode)

方法2 adb命令进fastbootd界面
adb reboot fastboot

这会使系统通过recovery mode这路来启动kernel,init会再启动fastbootd service
对应关键log:
lk:
[3335] lk boot mode = 2 //2->recovery mode
kernel:
[4.750413] <5>.(5)[1:init]init 3: starting service ‘fastbootd’…

fastbootd处理cmd log:
[ 881.401962] <0>.(0)[311:fastbootd]fastbootd: Fastboot command: reboot
[ 881.404127] <1>.(1)[1:init]init 3: Received sys.powerctl=‘reboot,from_fastboot’ from pid: 311 (/system/bin/fastbootd)
[ 881.405655] <1>.(1)[1:init]init 14: ReapLogF PropSet [sys.powerctl]=[reboot,from_fastboot]881.400581 Done

3.烧录system/vendor/odm/product.img

fastboot flash
ex:
fastboot flash system system.img

关键log:
[ 183.792283] <0>.(0)[317:fastbootd]fastbootd: Fastboot command: flash:system
[ 183.895364] <3>.(3)[317:fastbootd]fastbootd: [libfs_mgr]Created logical partition system on device /dev/block/dm-0

P.s.
fastbootd source code is in system/core/fastboot/device,

also you can refer to system/core/fastboot/README.md

猜你喜欢

转载自blog.csdn.net/zhangqi6627/article/details/107683904
IMG