Fix Android fastboot flash 'Could not open super partition'
'Could not open super partition'
when flashing a Pixel device using the flash-all.sh
script.Symptom
When flashing a Pixel device using the flash-all.sh
script, the process fails with the 'Could not open super partition'
error:
$ ./flash-all.sh
Warning: skip copying bootloader_a image avb footer (bootloader_a partition size: 0, bootloader_a image size: 8726312).
Sending 'bootloader_a' (8521 KB) OKAY [ 0.320s]
Writing 'bootloader_a' (bootloader) Flashing Pack version b1c1-0.4-7617406
(bootloader) Flashing partition table for Lun = 0
(bootloader) Flashing partition table for Lun = 1
(bootloader) Flashing partition table for Lun = 2
(bootloader) Flashing partition table for Lun = 4
(bootloader) Flashing partition table for Lun = 5
(bootloader) Flashing partition msadp_a
(bootloader) Flashing partition xbl_a
(bootloader) Flashing partition xbl_config_a
(bootloader) Flashing partition aop_a
(bootloader) Flashing partition tz_a
(bootloader) Flashing partition hyp_a
(bootloader) Flashing partition abl_a
(bootloader) Flashing partition keymaster_a
(bootloader) Flashing partition cmnlib_a
(bootloader) Flashing partition cmnlib64_a
(bootloader) Flashing partition devcfg_a
(bootloader) Flashing partition qupfw_a
(bootloader) Flashing partition storsec_a
(bootloader) Flashing partition logfs
OKAY [ 0.719s]
Finished. Total time: 1.489s
Rebooting into bootloader OKAY [ 0.079s]
Finished. Total time: 0.079s
Warning: skip copying radio_a image avb footer (radio_a partition size: 0, radio_a image size: 73183372).
Sending 'radio_a' (71468 KB) OKAY [ 3.080s]
Writing 'radio_a' (bootloader) Flashing Pack version SSD:...
(bootloader) Flashing partition modem_a
OKAY [ 0.507s]
Finished. Total time: 4.036s
Rebooting into bootloader OKAY [ 0.079s]
...
...
...
extracting boot.img (64 MB) to disk... took 0.786s
archive does not contain 'boot.sig'
extracting super_empty.img (0 MB) to RAM...
Sending 'boot_a' (65536 KB) OKAY [ 1.650s]
Writing 'boot_a' OKAY [ 0.401s]
extracting super_empty.img (0 MB) to RAM...
extracting dtbo.img (8 MB) to disk... took 0.035s
archive does not contain 'dtbo.sig'
extracting super_empty.img (0 MB) to RAM...
Sending 'dtbo_a' (8192 KB) OKAY [ 0.290s]
Writing 'dtbo_a' OKAY [ 0.106s]
extracting super_empty.img (0 MB) to RAM...
extracting vbmeta.img (0 MB) to disk... took 0.001s
archive does not contain 'vbmeta.sig'
extracting super_empty.img (0 MB) to RAM...
Sending 'vbmeta_a' (8 KB) OKAY [ 0.120s]
Writing 'vbmeta_a' OKAY [ 0.067s]
extracting super_empty.img (0 MB) to disk... took 0.000s
Rebooting into fastboot OKAY [ 0.060s]
< waiting for any device >
Sending 'system_a' (4 KB) OKAY [ 0.001s]
Updating super partition OKAY [ 0.007s]
Deleting 'system_b' FAILED (remote: 'Could not open super partition')
fastboot: error: Command failed
The error “Could not open super partition” during a fastboot flash operation typically indicates an issue with accessing or modifying the super partition on the device.
Reboot and redo flash-all.sh
get the same error again.
Solution
Since the Pixel devices use a dynamic partitioning scheme, and it have a b partition. If one failed. We can try to active the b partition and flash again.
- Reboot into fastboot mode:
$ adb reboot bootloader
- Check the current active slot:
$ fastboot getvar current-slot
If it returns a
, then we need to switch to slot b
.
Hint: use fastboot getvar all
to see all the variables if needed.
- Set the active slot to
b
:
$ fastboot set_active b
Setting current slot to 'b' OKAY [ 0.023s]
- Verify the active slot has been changed:
$ fastboot getvar current-slot
- Now, try running the
flash-all.sh
script again:
./flash-all.sh
or just flash images that failed before:
fastboot --set-active=b -w -v --skip-reboot update image.zip
This should allow the flashing process to proceed.
Full success flash log:
```sh
$ fastboot --set-active=b -w -v --skip-reboot update image-blueline-sp1a.210812.016.c2.zip
--------------------------------------------
Bootloader Version...: xxx
Baseband Version.....: xxx
Serial Number........: xxx
--------------------------------------------
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]
archive does not contain 'fastboot-info.txt'
extracting boot.img (64 MB) to disk... took 0.411s
fastboot: verbose: target reported max-download-size of 268435456 bytes
archive does not contain 'init_boot.img'
extracting dtbo.img (8 MB) to disk... took 0.067s
archive does not contain 'dt.img'
archive does not contain 'pvmfw.img'
archive does not contain 'recovery.img'
extracting vbmeta.img (0 MB) to disk... took 0.000s
archive does not contain 'vbmeta_system.img'
archive does not contain 'vbmeta_vendor.img'
archive does not contain 'vendor_boot.img'
archive does not contain 'vendor_kernel_boot.img'
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
archive does not contain 'boot_other.img'
archive does not contain 'odm.img'
archive does not contain 'odm_dlkm.img'
extracting product.img (2148 MB) to disk... took 19.844s
extracting system.img (845 MB) to disk... took 5.716s
archive does not contain 'system_dlkm.img'
extracting system_ext.img (236 MB) to disk... took 1.136s
extracting system_other.img (67 MB) to disk... took 0.257s
extracting vendor.img (442 MB) to disk... took 2.295s
archive does not contain 'vendor_dlkm.img'
archive does not contain 'vendor_other.img'
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
extracting super_empty.img (0 MB) to RAM...
fastboot: verbose: Do flash boot_b boot.img
extracting boot.img (64 MB) to disk... took 0.304s
archive does not contain 'boot.sig'
extracting super_empty.img (0 MB) to RAM...
Sending 'boot_b' (65536 KB) OKAY [ 1.549s]
Writing 'boot_b' OKAY [ 0.379s]
extracting super_empty.img (0 MB) to RAM...
fastboot: verbose: Do flash dtbo_b dtbo.img
extracting dtbo.img (8 MB) to disk... took 0.019s
archive does not contain 'dtbo.sig'
extracting super_empty.img (0 MB) to RAM...
Sending 'dtbo_b' (8192 KB) OKAY [ 0.192s]
Writing 'dtbo_b' OKAY [ 0.052s]
extracting super_empty.img (0 MB) to RAM...
fastboot: verbose: Do flash vbmeta_b vbmeta.img
extracting vbmeta.img (0 MB) to disk... took 0.008s
archive does not contain 'vbmeta.sig'
extracting super_empty.img (0 MB) to RAM...
Sending 'vbmeta_b' (8 KB) OKAY [ 0.001s]
Writing 'vbmeta_b' OKAY [ 0.003s]
extracting super_empty.img (0 MB) to disk... took 0.000s
Sending 'system_b' (4 KB) OKAY [ 0.000s]
Updating super partition OKAY [ 0.006s]
Deleting 'system_a' OKAY [ 0.005s]
Deleting 'vendor_a' OKAY [ 0.005s]
Resizing 'product_b' OKAY [ 0.005s]
Resizing 'system_b' OKAY [ 0.005s]
Resizing 'system_ext_b' OKAY [ 0.005s]
Resizing 'system_b' OKAY [ 0.006s]
Resizing 'vendor_b' OKAY [ 0.005s]
extracting super_empty.img (0 MB) to RAM...
fastboot: verbose: Do flash product_b product.img
extracting product.img (2148 MB) to disk... took 16.836s
archive does not contain 'product.sig'
Resizing 'product_b' OKAY [ 0.005s]
Sending sparse 'product_b' 1/9 (262140 KB) OKAY [ 7.237s]
Writing 'product_b' OKAY [ 1.615s]
Sending sparse 'product_b' 2/9 (262140 KB) OKAY [ 7.441s]
Writing 'product_b' OKAY [ 1.674s]
Sending sparse 'product_b' 3/9 (262140 KB) OKAY [ 7.399s]
Writing 'product_b' OKAY [ 1.651s]
Sending sparse 'product_b' 4/9 (262140 KB) OKAY [ 7.438s]
Writing 'product_b' OKAY [ 1.638s]
Sending sparse 'product_b' 5/9 (262140 KB) OKAY [ 7.446s]
Writing 'product_b' OKAY [ 1.607s]
Sending sparse 'product_b' 6/9 (262140 KB) OKAY [ 7.516s]
Writing 'product_b' OKAY [ 1.662s]
Sending sparse 'product_b' 7/9 (262140 KB) OKAY [ 7.509s]
Writing 'product_b' OKAY [ 1.643s]
Sending sparse 'product_b' 8/9 (262140 KB) OKAY [ 7.163s]
Writing 'product_b' OKAY [ 1.625s]
Sending sparse 'product_b' 9/9 (102612 KB) OKAY [ 2.961s]
Writing 'product_b' OKAY [ 0.675s]
extracting super_empty.img (0 MB) to RAM...
fastboot: verbose: Do flash system_b system.img
extracting system.img (845 MB) to disk... took 5.703s
archive does not contain 'system.sig'
Resizing 'system_b' OKAY [ 0.005s]
Sending sparse 'system_b' 1/4 (262140 KB) OKAY [ 6.218s]
Writing 'system_b' OKAY [ 1.663s]
Sending sparse 'system_b' 2/4 (262140 KB) OKAY [ 6.335s]
Writing 'system_b' OKAY [ 1.637s]
Sending sparse 'system_b' 3/4 (262140 KB) OKAY [ 6.338s]
Writing 'system_b' OKAY [ 1.662s]
Sending sparse 'system_b' 4/4 (79672 KB) OKAY [ 1.945s]
Writing 'system_b' OKAY [ 0.538s]
extracting super_empty.img (0 MB) to RAM...
fastboot: verbose: Do flash system_ext_b system_ext.img
extracting system_ext.img (236 MB) to disk... took 1.962s
archive does not contain 'system_ext.sig'
Resizing 'system_ext_b' OKAY [ 0.005s]
Sending 'system_ext_b' (242504 KB) OKAY [ 5.743s]
Writing 'system_ext_b' OKAY [ 1.523s]
extracting super_empty.img (0 MB) to RAM...
fastboot: verbose: Do flash system_a system_other.img
extracting system_other.img (67 MB) to disk... took 0.549s
archive does not contain 'system_other.sig'
extracting super_empty.img (0 MB) to RAM...
Sending 'system_a' (69440 KB) OKAY [ 1.633s]
Writing 'system_a' OKAY [ 0.420s]
extracting super_empty.img (0 MB) to RAM...
fastboot: verbose: Do flash vendor_b vendor.img
extracting vendor.img (442 MB) to disk... took 4.884s
archive does not contain 'vendor.sig'
Resizing 'vendor_b' OKAY [ 0.005s]
Sending sparse 'vendor_b' 1/2 (262140 KB) OKAY [ 6.256s]
Writing 'vendor_b' OKAY [ 1.674s]
Sending sparse 'vendor_b' 2/2 (191236 KB) OKAY [ 4.651s]
Writing 'vendor_b' OKAY [ 1.185s]
Setting current slot to 'b' OKAY [ 0.023s]
Erasing 'userdata' OKAY [ 5.758s]
Erase successful, but not automatically formatting.
File system type raw not supported.
wipe task partition not found: cache
Erasing 'metadata' OKAY [ 0.107s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Finished. Total time: 193.796s
fastboot
usage quick reference
% fastboot help
usage: fastboot [OPTION...] COMMAND...
flashing:
update ZIP Flash all partitions from an update.zip package.
flashall Flash all partitions from $ANDROID_PRODUCT_OUT.
On A/B devices, flashed slot is set as active.
Secondary images may be flashed to inactive slot.
flash PARTITION [FILENAME] Flash given partition, using the image from
$ANDROID_PRODUCT_OUT if no filename is given.
basics:
devices [-l] List devices in bootloader (-l: with device paths).
getvar NAME Display given bootloader variable.
reboot [bootloader] Reboot device.
locking/unlocking:
flashing lock|unlock Lock/unlock partitions for flashing
flashing lock_critical|unlock_critical
Lock/unlock 'critical' bootloader partitions.
flashing get_unlock_ability
Check whether unlocking is allowed (1) or not(0).
advanced:
erase PARTITION Erase a flash partition.
format[:FS_TYPE[:SIZE]] PARTITION
Format a flash partition.
set_active SLOT Set the active slot.
oem [COMMAND...] Execute OEM-specific command.
gsi wipe|disable Wipe or disable a GSI installation (fastbootd only).
wipe-super [SUPER_EMPTY] Wipe the super partition. This will reset it to
contain an empty set of default dynamic partitions.
create-logical-partition NAME SIZE
Create a logical partition with the given name and
size, in the super partition.
delete-logical-partition NAME
Delete a logical partition with the given name.
resize-logical-partition NAME SIZE
Change the size of the named logical partition.
snapshot-update cancel On devices that support snapshot-based updates, cancel
an in-progress update. This may make the device
unbootable until it is reflashed.
snapshot-update merge On devices that support snapshot-based updates, finish
an in-progress update if it is in the "merging"
phase.
fetch PARTITION OUT_FILE Fetch a partition image from the device.
boot image:
boot KERNEL [RAMDISK [SECOND]]
Download and boot kernel from RAM.
flash:raw PARTITION KERNEL [RAMDISK [SECOND]]
Create boot image and flash it.
--dtb DTB Specify path to DTB for boot image header version 2.
--cmdline CMDLINE Override kernel command line.
--base ADDRESS Set kernel base address (default: 0x10000000).
--kernel-offset Set kernel offset (default: 0x00008000).
--ramdisk-offset Set ramdisk offset (default: 0x01000000).
--tags-offset Set tags offset (default: 0x00000100).
--dtb-offset Set dtb offset (default: 0x01100000).
--page-size BYTES Set flash page size (default: 2048).
--header-version VERSION Set boot image header version.
--os-version MAJOR[.MINOR[.PATCH]]
Set boot image OS version (default: 0.0.0).
--os-patch-level YYYY-MM-DD
Set boot image OS security patch level.
Android Things:
stage IN_FILE Sends given file to stage for the next command.
get_staged OUT_FILE Writes data staged by the last command to a file.
options:
-w Wipe userdata.
-s SERIAL Specify a USB device.
-s tcp|udp:HOST[:PORT] Specify a network device.
-S SIZE[K|M|G] Break into sparse files no larger than SIZE.
--force Force a flash operation that may be unsafe.
--slot SLOT Use SLOT; 'all' for both slots, 'other' for
non-current slot (default: current active slot).
--set-active[=SLOT] Sets the active slot before rebooting.
--skip-secondary Don't flash secondary slots in flashall/update.
--skip-reboot Don't reboot device after flashing.
--disable-verity Sets disable-verity when flashing vbmeta.
--disable-verification Sets disable-verification when flashing vbmeta.
--disable-super-optimization
Disables optimizations on flashing super partition.
--disable-fastboot-info Will collects tasks from image list rather than $OUT/fastboot-info.txt.
--fs-options=OPTION[,OPTION]
Enable filesystem features. OPTION supports casefold, projid, compress
--unbuffered Don't buffer input or output.
--verbose, -v Verbose output.
--version Display version.
--help, -h Show this message.

OmniLock - Block / Hide App on iOS
Block distractive apps from appearing on the Home Screen and App Library, enhance your focus and reduce screen time.

DNS Firewall for iOS and Mac OS
Encrypted your DNS to protect your privacy and firewall to block phishing, malicious domains, block ads in all browsers and apps