测试Android Q新功能fastbootd

测试image:

Pixel 3 (blueline), Android Q preview

测试命令:

$ fastboot -w update image-blueline-qpp2.190228.023.zip --slot b

代码走向

FlashAllTool::Flash()
DumpInfo()
CheckRequirements()
set_active("a" or "b")
DetermineSecondarySlot()
CollectImages(): 有个大表,列出了所有android的image
FlashImages(boot_images_): 先刷boot相关的image, 可以用bootloader或者fastbootd来烧
UpdateSuperPartition(): 用fastbootd来烧super分区
fb->ResizePartition(partition, "0"): Resize any logical partition to 0
FlashImages(os_images_) : #Flash OS images, resizing logical partitions as needed

Console output

--------------------------------------------
Bootloader Version...: b1c1-0.2-5260815
Baseband Version.....: g845-00020-190222-B-5330671
Serial Number........: 89UX0GRHP
--------------------------------------------
extracting android-info.txt (0 MB) to RAM...
Checking 'product' OKAY [ 0.000s]
Checking 'version-bootloader' OKAY [ 0.000s]
Checking 'version-baseband' OKAY [ 0.000s]
Setting current slot to 'b' OKAY [ 0.037s]
extracting boot.img (64 MB) to disk... took 0.315s
archive does not contain 'boot.sig'
Sending 'boot_b' (65536 KB) OKAY [ 1.723s]
Writing 'boot_b' OKAY [ 0.344s]
extracting dtbo.img (8 MB) to disk... took 0.049s
archive does not contain 'dtbo.sig'
Sending 'dtbo_b' (8192 KB) OKAY [ 0.218s]
Writing 'dtbo_b' OKAY [ 0.065s]
archive does not contain 'dt.img'
archive does not contain 'recovery.img'
extracting vbmeta.img (0 MB) to disk... took 0.000s
archive does not contain 'vbmeta.sig'
Sending 'vbmeta_b' (4 KB) OKAY [ 0.001s]
Writing 'vbmeta_b' OKAY [ 0.002s]
archive does not contain 'vbmeta_system.img'
extracting super_empty.img (0 MB) to disk... took 0.000s
Sending 'system_b' (4 KB) OKAY [ 0.001s]
Updating super partition OKAY [ 0.005s]
Resizing 'product_b' OKAY [ 0.004s]
Resizing 'system_b' OKAY [ 0.004s]
Resizing 'vendor_b' OKAY [ 0.005s]
archive does not contain 'boot_other.img'
archive does not contain 'odm.img'
extracting product.img (1823 MB) to disk... took 8.553s
archive does not contain 'product.sig'
Resizing 'product_b' OKAY [ 0.005s]
Sending sparse 'product_b' 1/4 (524284 KB) OKAY [ 13.236s]
Writing 'product_b' OKAY [ 2.353s]
Sending sparse 'product_b' 2/4 (524284 KB) OKAY [ 13.815s]
Writing 'product_b' OKAY [ 2.375s]
Sending sparse 'product_b' 3/4 (524284 KB) OKAY [ 13.804s]
Writing 'product_b' OKAY [ 2.369s]
Sending sparse 'product_b' 4/4 (294892 KB) OKAY [ 7.773s]
Writing 'product_b' OKAY [ 1.441s]
archive does not contain 'product_services.img'
extracting system.img (866 MB) to disk... took 3.936s
archive does not contain 'system.sig'
Resizing 'system_b' OKAY [ 0.004s]
Sending sparse 'system_b' 1/2 (524284 KB) OKAY [ 13.523s]
Writing 'system_b' OKAY [ 2.353s]
Sending sparse 'system_b' 2/2 (362948 KB) OKAY [ 9.562s]
Writing 'system_b' OKAY [ 1.712s]
extracting system_other.img (151 MB) to disk... took 0.537s
archive does not contain 'system.sig'
Sending 'system_a' (154848 KB) OKAY [ 4.052s]
Writing 'system_a' OKAY [ 0.760s]
extracting vendor.img (430 MB) to disk... took 1.935s
archive does not contain 'vendor.sig'
Resizing 'vendor_b' OKAY [ 0.004s]
Sending 'vendor_b' (440364 KB) OKAY [ 11.548s]
Writing 'vendor_b' OKAY [ 2.024s]
archive does not contain 'vendor_other.img'
Erasing 'userdata' OKAY [ 3.760s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Erasing 'metadata' OKAY [ 0.005s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Rebooting OKAY [ 0.000s]
Finished. Total time: 124.375s