Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
"Your device is corrupt" on Nexus 5X #201
Comments
Rudd-O
changed the title from
"Your device is corrupt
to
"Your device is corrupt" on Nexus 5X
Mar 16, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
Rudd-O
commented
Mar 16, 2016
|
Flashed with android-tools-20141219git8393e50-4.fc23.x86_64 |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
Rudd-O
Mar 16, 2016
So, I figured out what my problem was.
I tried to flash CopperheadOS on my $600 phone using the android-tools package shipping with my Linux distribution.
Turns out, the tool I was using to flash my phone is too old. It's from 2014. The phone is effectively bricked now, because of that.
It's also not humanly possible for me to build an updated version. I tried. I spent two hours trying to build an up to date package, using the distribution build recipes and everything. It won't build. Effectively, I would have to use the Android build system, which is incompatible with the way my distribution builds packages.
I would try to get around this problem by running a temporary copy of a Google-provided and updated ADB aand fastboot. HAHAHA. If only. It's not possible to just download adb and fastboot anymore. Google STOPPED shipping their adb and fastboot on their downloadable SDK and studio. Now you have to run a Google-provided program, which you have no way of verifying what it does before you run, on your computer. This program is interactive. Effectively, it's not there for any computer program to use, automate or anything. If you wanted to build a system that automatically flashes Android phones with the latest software -- say, because you're a tester -- you would effectively not be able to build it unless you signed yourself up to build a Rube Goldberg machine that included Amazon Mechanical Turk elements.
To the people building this edifice of time-thieving software -- not the CopperheadOS folks, their work is fine -- it's not open source if the open source people can't actually use your crap in a manner consistent with open source principles.
FAQ:
- "Why can't he build a new Android tools version himself?"
I shouldn't have to. This would normally be taken care of by my distribution. But Google made that effectively impossible.
Google changed the source code of the base and extras repos necessary to compile ADB and fastboot for my distribution, in a way that makes the distribution package uncompilable, even if you update the source (I spent three hours of this day doing that). Google provides no source packages, no make-ready Makefiles, no nothing that can be used to compile their software without using their own incompatible system. Google doesn't care to support the work of Linux distributors, and therefore their work is extremely hostile to the work that distributors do. Google has not released, not in YEARS, any sort of new and proper open source release of these fundamental phone imaging and management tools in a way that distributions may compile easily. It truly seems they don't care for anything other than your computer running their compiled software. The same "dump on you some open source in name only, good luck trying to actually use it" story is evident with Chromium, but that's an entirely different circus show. Bottom line, you want to use or develop Google products, you have to run whatever they give you to run, end of story. If this is incompatible with how Linux distributions are brewed... well, now you know why they do not ship Google software.
- "Why doesn't he just install the Google-provided fastboot and adb binaries?"
- "So what's wrong with this dude, why won't he just get with the program and run whatever he's told on his computer?"
See "Reflections on trusting trust" and then consult any Linux distribution policy to understand why they compile from source instead of just shipping third party binaries.
Rudd-O
commented
Mar 16, 2016
|
So, I figured out what my problem was. I tried to flash CopperheadOS on my $600 phone using the android-tools package shipping with my Linux distribution. Turns out, the tool I was using to flash my phone is too old. It's from 2014. The phone is effectively bricked now, because of that. It's also not humanly possible for me to build an updated version. I tried. I spent two hours trying to build an up to date package, using the distribution build recipes and everything. It won't build. Effectively, I would have to use the Android build system, which is incompatible with the way my distribution builds packages. I would try to get around this problem by running a temporary copy of a Google-provided and updated ADB aand fastboot. HAHAHA. If only. It's not possible to just download adb and fastboot anymore. Google STOPPED shipping their adb and fastboot on their downloadable SDK and studio. Now you have to run a Google-provided program, which you have no way of verifying what it does before you run, on your computer. This program is interactive. Effectively, it's not there for any computer program to use, automate or anything. If you wanted to build a system that automatically flashes Android phones with the latest software -- say, because you're a tester -- you would effectively not be able to build it unless you signed yourself up to build a Rube Goldberg machine that included Amazon Mechanical Turk elements. To the people building this edifice of time-thieving software -- not the CopperheadOS folks, their work is fine -- it's not open source if the open source people can't actually use your crap in a manner consistent with open source principles. FAQ:
I shouldn't have to. This would normally be taken care of by my distribution. But Google made that effectively impossible. Google changed the source code of the base and extras repos necessary to compile ADB and fastboot for my distribution, in a way that makes the distribution package uncompilable, even if you update the source (I spent three hours of this day doing that). Google provides no source packages, no make-ready Makefiles, no nothing that can be used to compile their software without using their own incompatible system. Google doesn't care to support the work of Linux distributors, and therefore their work is extremely hostile to the work that distributors do. Google has not released, not in YEARS, any sort of new and proper open source release of these fundamental phone imaging and management tools in a way that distributions may compile easily. It truly seems they don't care for anything other than your computer running their compiled software. The same "dump on you some open source in name only, good luck trying to actually use it" story is evident with Chromium, but that's an entirely different circus show. Bottom line, you want to use or develop Google products, you have to run whatever they give you to run, end of story. If this is incompatible with how Linux distributions are brewed... well, now you know why they do not ship Google software.
See "Reflections on trusting trust" and then consult any Linux distribution policy to understand why they compile from source instead of just shipping third party binaries. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
Rudd-O
Mar 16, 2016
Note that the images you publish aren't in zip format, and old ADB does successfully flash them. They just never boot.
I do need help with that. It's why I opened the bug.
Rudd-O
commented
Mar 16, 2016
|
Note that the images you publish aren't in zip format, and old ADB does successfully flash them. They just never boot. I do need help with that. It's why I opened the bug. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
Rudd-O
Mar 16, 2016
Forgive me, I spoke too soon. The flashing process failed.
[root@usbdevvm bullhead-mmb29v]# ./flash-all.sh
target reported max download size of 536870912 bytes
sending 'bootloader' (4382 KB)...
OKAY [ 0.194s]
writing 'bootloader'...
OKAY [ 0.075s]
finished. total time: 0.270s
rebooting into bootloader...
OKAY [ 0.007s]
finished. total time: 0.058s
target reported max download size of 536870912 bytes
sending 'radio' (56614 KB)...
OKAY [ 1.479s]
writing 'radio'...
OKAY [ 0.339s]
finished. total time: 1.818s
rebooting into bootloader...
OKAY [ 0.004s]
finished. total time: 0.054s
target reported max download size of 536870912 bytes
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
Creating filesystem with parameters:
Size: 27283927040
Block size: 4096
Blocks per group: 32768
Inodes per group: 8176
Inode size: 256
Journal blocks: 32768
Label:
Blocks: 6661115
Block groups: 204
Reserved block group size: 1024
Created filesystem with 11/1667904 inodes and 148720/6661115 blocks
error: file_write: write: No space left on device
Creating filesystem with parameters:
Size: 100663296
Block size: 4096
Blocks per group: 32768
Inodes per group: 6144
Inode size: 256
Journal blocks: 1024
Label:
Blocks: 24576
Block groups: 1
Reserved block group size: 7
Created filesystem with 11/6144 inodes and 1422/24576 blocks
error: file_write: write: No space left on device
--------------------------------------------
Bootloader Version...: BHZ10k
Baseband Version.....: M8994F-2.6.30.0.68
Serial Number........: 00db742251e9b728
--------------------------------------------
checking product...
OKAY [ 0.020s]
sending 'boot' (11245 KB)...
OKAY [ 0.360s]
writing 'boot'...
OKAY [ 0.087s]
sending 'recovery' (12157 KB)...
OKAY [ 0.377s]
writing 'recovery'...
OKAY [ 0.083s]
erasing 'system'...
OKAY [ 0.279s]
sending sparse 'system' (515890 KB)...
OKAY [ 13.249s]
writing 'system'...
OKAY [ 3.225s]
sending sparse 'system' (458257 KB)...
OKAY [ 11.845s]
writing 'system'...
OKAY [ 3.099s]
erasing 'userdata'...
OKAY [ 0.472s]
sending 'userdata' (0 KB)...
FAILED ()
finished. total time: 33.177s
Rudd-O
commented
Mar 16, 2016
|
Forgive me, I spoke too soon. The flashing process failed.
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
Rudd-O
Mar 16, 2016
I would be immensely grateful for instructions on how to compile adb and fastboot from source, so I can fix this bricked piece of garbage sitting on my desk.
Rudd-O
commented
Mar 16, 2016
|
I would be immensely grateful for instructions on how to compile adb and fastboot from source, so I can fix this bricked piece of garbage sitting on my desk. |
thestinger
added
the
Type: question
label
Mar 16, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
thestinger
Mar 16, 2016
Contributor
It's part of the Android Open Source Project source tree so the build process is similar to building AOSP or CopperheadOS. Instead of make dist you need to do make adb fastboot. It would be a pain to build it outside of the AOSP source tree since you would need to write your own build system. It looks like that's the approach taken by the Arch Linux package:
https://www.archlinux.org/packages/community/x86_64/android-tools/
|
It's part of the Android Open Source Project source tree so the build process is similar to building AOSP or CopperheadOS. Instead of https://www.archlinux.org/packages/community/x86_64/android-tools/ |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
thestinger
Mar 16, 2016
Contributor
You could just copy what the Arch Linux package does if you really want to avoid using the AOSP source tree to build it.
|
You could just copy what the Arch Linux package does if you really want to avoid using the AOSP source tree to build it. |
thestinger
added
the
upstream
label
Mar 16, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
Rudd-O
commented
Mar 17, 2016
|
Arch Linux PKGBUILD has the same exact ancient version that bricked my phone. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
Rudd-O
Mar 17, 2016
https://github.com/Rudd-O/android-tools-fedora <- this builds a newer version of ADB for Fedora.
Rudd-O
commented
Mar 17, 2016
|
https://github.com/Rudd-O/android-tools-fedora <- this builds a newer version of ADB for Fedora. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment|
Did the newer version work for you? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
Rudd-O
Mar 18, 2016
Yup. I managed to find a program that generates a build file which successfully builds 6.0.1_r22 adb and fastboot. That is what I crystallized in the Github repo posted above.
With that, I have unbricked my phone and I am now running CopperheadOS.
Let's make this bug about warning in the install documents to use the latest stable ADB -- otherwise your users may brick their phones like I did. Feel free to point Fedora users to my package in the Github repo -- I know Fedora isn't updating their package anytime soon.
Rudd-O
commented
Mar 18, 2016
|
Yup. I managed to find a program that generates a build file which successfully builds 6.0.1_r22 adb and fastboot. That is what I crystallized in the Github repo posted above. With that, I have unbricked my phone and I am now running CopperheadOS. Let's make this bug about warning in the install documents to use the latest stable ADB -- otherwise your users may brick their phones like I did. Feel free to point Fedora users to my package in the Github repo -- I know Fedora isn't updating their package anytime soon. |
thestinger
added
the
Component: documentation
label
Mar 18, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
thestinger
Mar 18, 2016
Contributor
This is now covered in the installation documentation (the cached version will go away in a bit).
|
This is now covered in the installation documentation (the cached version will go away in a bit). |
Rudd-O commentedMar 16, 2016
Brand new Nexus 5X, never even booted to the OS, straight to bootloader. I write the latest, signature-checked image, and now when the phone boots, it says "Your device is corrupt" with the red warning sign, and then it hangs forever with the "Google" logo.
What is going on?
March 15 image.