0

I was trying to do flash factory image on angler on my Nexus 6P. There is some No space left on device error:

./flash-all.sh # added set -x to script
+ fastboot flash bootloader bootloader-angler-angler-03.68.img
target reported max download size of 494927872 bytes
sending 'bootloader' (3544 KB)...
OKAY [  0.127s]
writing 'bootloader'...
OKAY [  0.208s]
finished. total time: 0.335s
+ fastboot reboot-bootloader
rebooting into bootloader...
OKAY [  0.022s]
finished. total time: 0.073s
+ sleep 5
+ fastboot flash radio radio-angler-angler-03.81.img
< waiting for any device >
target reported max download size of 494927872 bytes
sending 'radio' (48728 KB)...
OKAY [  1.283s]
writing 'radio'...
OKAY [  2.174s]
finished. total time: 3.457s
+ fastboot reboot-bootloader
rebooting into bootloader...
OKAY [  0.022s]
finished. total time: 0.072s
+ sleep 5
+ fastboot -w update image-angler-n2g48c.zip
extracting android-info.txt (0 MB)...
extracting boot.img (12 MB)...
target reported max download size of 494927872 bytes
archive does not contain 'boot.sig'
archive does not contain 'dtbo.img'
archive does not contain 'dt.img'
extracting recovery.img (17 MB)...
archive does not contain 'recovery.sig'
extracting system.img (2727 MB)...
W/ziparchive(66399): Zip: unable to allocate  2860210996 bytes at offset 0 : \
   No space left on device
failed to extract 'system.img': I/O error

(space inserted by myself for better readability)

I suppose this is lacking space on the phone.

shell@angler: $ df -h                                                  
Filesystem                Size      Used Available Use% Mounted on
tmpfs                     1.4G    484.0K      1.4G   0% /dev
tmpfs                     1.4G         0      1.4G   0% /mnt
/dev/block/dm-0           3.0G      1.8G      1.1G  62% /system
/dev/block/dm-1         196.6M    184.7M      8.0M  96% /vendor
/dev/block/platform/soc.0/f9824900.sdhci/by-name/cache
                         92.9M      1.8M     88.0M   2% /cache
/dev/block/platform/soc.0/f9824900.sdhci/by-name/persist
                          3.9M    740.0K      3.0M  20% /persist
/dev/block/platform/soc.0/f9824900.sdhci/by-name/modem
                         80.0M     47.5M     32.4M  59% /firmware
tmpfs                     1.4G         0      1.4G   0% /storage
/dev/block/dm-2          53.5G    132.9M     52.9G   0% /data
df: /mnt/runtime/default/emulated: Permission denied
/data/media              53.5G    132.9M     52.9G   0% /storage/emulated

Using fastboot version 1:8.1.0+r23-5 from Debian, Android is angler:8.1.0.

Any idea what could be the problem?

Searching in the sources, it fails in static void* unzip_file(ZipArchiveHandle zip, const char* entry_name, int64_t* sz)

int error = ExtractToMemory(zip, &zip_entry, data, zip_entry.uncompressed_length);
if (error != 0) {
    fprintf(stderr, "failed to extract '%s': %s\n", entry_name, ErrorCodeString(error));
    free(data);
    return 0;
}

https://android.googlesource.com/platform/system/core/+/android-8.1.0_r73/fastboot/fastboot.cpp#505

or in static int unzip_to_file(ZipArchiveHandle zip, const char* entry_name)

int error = ExtractEntryToFile(zip, &zip_entry, fd);
if (error != 0) {
    fprintf(stderr, "failed to extract '%s': %s\n", entry_name, ErrorCodeString(error));
    return -1;
}

https://android.googlesource.com/platform/system/core/+/android-8.1.0_r73/fastboot/fastboot.cpp#628

UPDATE: it looks like it's really lack of space on the laptop. Previously I had about 8GB, which I considered enough. After clear to have 17GB and trying to update different image image-angler-nmf26f.zip I got different error (probably related /tmp being tmpfs):

strace -o strace.log fastboot -w update image-angler-nmf26f.zip
extracting android-info.txt (0 MB)...
extracting boot.img (12 MB)...
target reported max download size of 494927872 bytes
archive does not contain 'boot.sig'
archive does not contain 'dtbo.img'
archive does not contain 'dt.img'
extracting recovery.img (17 MB)...
archive does not contain 'recovery.sig'
extracting system.img (2691 MB)...
archive does not contain 'system.sig'
archive does not contain 'vbmeta.img'
extracting vendor.img (194 MB)...
W/ziparchive(109113): Zip: unable to allocate  204079852 bytes at offset 0 : No space left on device
failed to extract 'vendor.img': I/O error
wiping userdata...
Couldn't parse erase-block-size '0x'.
Couldn't parse logical-block-size '0x'.
mke2fs 1.45.5 (07-Jan-2020)
/tmp/TemporaryFile-xaoMGH: Unimplemented ext2 library function while setting up superblock
/usr/lib/android-sdk/platform-tools/mke2fs failed with status 1
mke2fs failed: 1
error: Cannot generate image for userdata
| improve this question | | | | |
0

According to the others is -w option is somehow broken and should be replaced with fastboot erase <partition>, e.g.:

fastboot oem unlock
fastboot erase boot
fastboot erase cache
fastboot erase recovery
fastboot erase system
fastboot erase userdata
fastboot flash bootloader bootloader-angler-angler-03.68.img
fastboot reboot-bootloader
sleep 5
fastboot flash radio radio-angler-angler-03.81.img

I the end I followed Firelord suggestion to unpack image-angler-nmf26f.zip (instead of flashing it) and flash all partitions manually:

fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash system system.img
fastboot flash vendor vendor.img

NOTE: running commands fastboot erase <partition> is not needed as fastboot flash erase system.

| improve this answer | | | | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.