[REF] efrant's "Android for Galaxy Nexus" 101 & FAQs - Samsung Galaxy Nexus

The popularity of Nexus devices has increased significantly since the launch of the Nexus One in January 2010. Along with this popularity, forums such as xda-developers have also had an influx of new users, most of which are not developers, and are not well versed in the intricacies of Android.
After much thought (and some discussion on this thread), I’ve decided to create this thread as a compilation of FAQs, 101s, and “How-To’s” in the hopes that those coming to Android who want to learn will have another resource to help them learn. With that in mind, this thread is NOT meant to explain the quickest way to do things (you will NOT see toolkits or shortcuts discussed in this thread), nor is it meant to be a “fix-my-device” thread. It is created with for a purpose of learning, in order to expand users’ knowledge of Nexus devices and Android in general. See this post by kyphur for the general philosophy of this site, which I share.
I do not take myself to be an Android guru or developer. However, I do have a bit of knowledge to share. If you think things are missing or not accurate, I will be more than happy to add or revise anything. I will try to cover most of the basic topics related to Android, including drivers, ADB, fastboot, partitions, recoveries, bootloaders, root and reverting to stock. Again, I will not discuss toolkits, nor will I cover custom ROMs. Those have their own threads.
This will be an ongoing work-in-progress, as it takes considerable time to try and capture everything properly, and my time is limited. The order of the information will also change, as I haven't quite figured out the best way to present everything. (Currently there are some FAQs, including fastboot and ADB commands, followed by a list of reference and how-to threads.)
So, without further delay:
Frequently Asked Questions
What is Android?
Android is an open-source operating system for mobile devices. It is basically a java virtual machine running on a Linux-based kernel.
What is the Android SDK and do I need it?
SDK stands for "software development kit. Do you need it? If you are developing, then yes (but then you probably would be reading this thread now would you... ). If you are not developing, then no, you do NOT need to install it. It is just a waste of space. The only files you need (to interface with your PC) that comes from the SDK are the fastboot and adb files, and they can be found here for Windows, Linux, and MacOS.
Why do I need a driver for my Windows PC to recognize my device?
As with all hardware, Windows requires device drivers for it to be able to interface with the OS. Drivers are not required if you are using Linux or MacOS.
Where do I get the driver for my PC?
For previous Nexus devices (the Nexus One and Nexus S) the driver included in the Android SDK was the one needed. However, with the Galaxy Nexus, that driver no longer works. The driver is now provided by Samsung, and can be found from various locations. However, I recommend using this package by 1wayjonny. It works perfectly and, unlike most other packages, 1wayjonny’s repack does not install any crapware along with it. That said, it doesn’t include an .exe file, so it needs to be installed manually from the .inf file. If you do not now how to do that, see here for instructions. Note: If you are using Windows 8, you will need to do this before you can install the driver.
Why do I need to install the driver twice?
Nexus devices use two main interfaces (there are actually a few more, but I will cover them later) to communicate with a PC. These are ADB (Android debug bridge) and fastboot, both of which will be covered later. The fastboot interface requires the GNex to be booted in fastboot (i.e., bootloader) mode. Thus, in order to install the fastboot driver, you need to boot your GNex into the bootloader. The ADB interface requires an Android kernel to be booted, i.e., your device needs to be booted normally, or in recovery (covered later). Additionally, if your device is booted normally, you need to have USB Debugging set to enabled in settings (i.e., Settings->Developer options->USB debugging).
How do I boot my device into the bootloader (i.e., fastboot mode)?
Turn off your device, hold volume up and volume down, and press and hold the power button.
What is a command prompt?
A command prompt in Windows (or terminal in Linux/MacOS) is a command line window in which you can enter commands. To open a command prompt in Windows, you can hold the shift key and right click in the directory in which you want your command prompt open. Or, in a Windows Explorer window you can go to File-><name-of-window>->Open command window here.
What is a bootloader?
Without getting into too many technicalities, the bootloader is essentially the program that gets loaded first when starting your device, and it is responsible for booting the Android kernel. Think of the bootloader as the BIOS of a computer.
What does it mean if my bootloader is locked/unlocked?
Most (if not all) devices are shipped from the manufacturer with locked bootloaders. This is for security reasons. A locked bootloader does not allow easy flashing of images, which means that it is difficult to change or modify the operating system. Unlocking a bootloader (using fastboot) on a most Galaxy Nexus devices results in a complete loss of all personal data from the device. Having a locked or unlocked bootloader has no bearing on the functioning of the device. Unlocking it gives you more options to play around with the OS. Additionally, an unlocked bootloader means that you can easily root your device no matter what -- unlike most non-Nexus devices, if you lose root, it is trivial to get it back.
What is “root”?
Root essentially means that you have root (or superuser) access to the file system on Android. It is similar to being “administrator” on a Windows PC. It has nothing to do with your device or the bootloader, it has to do with the Android OS (i.e., you cannot “root” your device – you root the Andoid build that you are running). To have root, you need to be booted into the Android OS that you have rooted. If you are in fastboot mode, root is irrelevant.
How do I get “root”?
If you are booted into a custom recovery (recoveries will be covered later), root is enabled by default. If you want root while booted into Android, you will need to place two files on your system partition: an “su” binary which grants root access, and a superuser app that manages that access. The two that are available are ChainsDD’s Superuser and Chainfire’s SuperSU. Usually these files are packaged up in a zip file that is flashable using a custom recovery, but they can be flashed manually using ADB. Both of these methods will be described below.
If I unlock my bootloader, is that the same as root?
No, as was mentioned above, unlocking the bootloader allows you to (among a few other things) flash images easily to the device when not booted into the Android OS. Root allows you access to manipulate the files WITHIN the Android OS.
If I unlock my bootloader, does that mean that I have to root?
No.
If I unlock my bootloader, do I have to flash a custom ROM?
No.
Do I need to root to flash a ROM?
No.
What is a ROM?
A ROM is slang for an mobile OS build.
What are the different versions of Android, and is there a difference between say 4.2 and JOP40C?
Have a look at this link for an explanation of what (for example) JOP40C means, and what version of Android that is.
What is the difference between a stock ROM and a custom ROM?
A stock ROM is a ROM that is either built by Google (like any yakju/takju/mysid build) or built by Samsung (like all the yakju** variants and mysidpr) and is signed by Google’s (or Samsung’s) platform keys. Everything else is a custom ROM.
What is this AOSP I keep hearing about?
AOSP stands for Android Open Source Project, and is a repository for the source code for Android. You can build your own ROM from AOSP. Details can be found on http://source.android.com/ or here.
What is fastboot?
Fastboot can refer to three things: the actual interface between your PC and phone; the fastboot.exe file; or the “mode” of your device. For you to be able to use fastboot commands: your device has to be booted in fastboot mode, the fastboot driver for your PC needs to be installed, and the fastboot.exe file needs to be on your PC.
What are the fastboot commands?
The list of fastboot commands can be seen by typing “fastboot” (without the quotes) in a command prompt opened in the directory where you fastboot.exe file is located. See below.
Code:
fastboot
usage: fastboot [ <option> ] <command>
commands:
update <filename> reflash device from update.zip
flashall flash boot + recovery + system
flash <partition> [ <filename> ] write a file to a flash partition
erase <partition> erase a flash partition
format <partition> format a flash partition
getvar <variable> display a bootloader variable
boot <kernel> [ <ramdisk> ] download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it
devices list all connected devices
continue continue with autoboot
reboot reboot device normally
reboot-bootloader reboot device into bootloader
help show this help message
options:
-w erase userdata and cache
-s <serial number> specify device serial number
-p <product> specify product name
-c <cmdline> override kernel commandline
-i <vendor id> specify a custom USB vendor id
-b <base_addr> specify a custom kernel base address
-n <page size> specify the nand page size. default: 2048
Along with these commands, there is an additional one: oem. For now, I will only cover the following commands: devices, flash, boot, erase, reboot, reboot-bootloader and oem.
These commands will work in fastboot mode, whether your bootloader is lock or unlocked:
oem: with a shipping bootloader (like what most of us have on our devices) there are two “oem” commands: “oem unlock” and “oem lock”. These commands are used to unlock and lock your bootloader, e.g., “fastboot oem unlock” will unlock your bootloader.
devices: this command checks to see if your device is properly connected to your PC in fastboot mode, e.g., “fastboot devices”
reboot: this command will reboot your device, e.g., “fastboot reboot”
reboot-bootloader: this command will reboot your device into fastboot mode, e.g., “fastboot reboot-bootloader”
These commands will only work in fastboot mode IFF your bootloader is unlocked:
flash: this command is used to flash images to partitions (partitions will be covered later) on your device. It cannot be used to “flash” individual files or .zips. For example, to flash the system partition, the command would be “fastboot flash system system.img”
boot: this command boots a kernel without flashing it to your device. For example, to boot an insecure kernel called “test.img”, the command would be “fastboot boot test.img”
erase: this command erases a specified partition. For example, to erase the cache partition, the command would be “fastboot erase cache”
The above mentioned commands are the basics for flashing your device. You should get familiar with them.
What is ADB?
ADB can refer to two things: the actual interface between your PC and phone, or the adb files (the .exe and two .dll files for Windows). For you to be able to use adb commands: the adb driver needs to be installed on your PC, the adb files need to be on your PC, and your device has to be booted either in recovery mode or booted normally into Android. Additionally, USB debugging needs to be enabled if booted into Android.
What are the ADB commands?
The list of ADB commands can be seen by typing “adb” (without the quotes) in a command prompt opened in the directory where your adb.exe file is located. See below.
Code:
Android Debug Bridge version 1.0.29
-d - directs command to the only connected USB device
returns an error if more than one USB device is present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is running.
-s <serial number> - directs command to the USB device or emulator with
the given serial number. Overrides ANDROID_SERIAL
environment variable.
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
devices - list all connected devices
connect <host>[:<port>] - connect to a device via TCP/IP
Port 5555 is used by default if no port number is specified.
disconnect [<host>[:<port>]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number is specified.
Using this command with no additional arguments
will disconnect from all connected TCP/IP devices.
device commands:
adb push <local> <remote> - copy file/dir to device
adb pull <remote> [<local>] - copy file/dir from device
adb sync [ <directory> ] - copy host->device only if changed
(-l means list but don't copy)
(see 'adb help all')
adb shell - run remote shell interactively
adb shell <command> - run remote shell command
adb emu <command> - run emulator console command
adb logcat [ <filter-spec> ] - View device log
adb forward <local> <remote> - forward socket connections
forward specs are one of:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] <file> - push this package file to the device and install it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data)
('-s' means install on SD card instead of internal storage)
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories)
adb bugreport - return all information from the device
that should be included in a bug report.
adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|-nosystem] [<packages...>]
- write an archive of the device's data to <file>.
If no -f option is supplied then the data is written
to "backup.ab" in the current directory.
(-apk|-noapk enable/disable backup of the .apks themselves
in the archive; the default is noapk.)
(-shared|-noshared enable/disable backup of the device's
shared storage / SD card contents; the default is noshared.)
(-all means to back up all installed applications)
(-system|-nosystem toggles whether -all automatically includes
system applications; the default is to include system apps)
(<packages...> is the list of applications to be backed up. If
the -all or -shared flags are passed, then the package
list is optional. Applications explicitly given on the
command line will be included even if -nosystem would
ordinarily cause them to be omitted.)
adb restore <file> - restore device contents from the <file> backup archive
adb help - show this help message
adb version - show version num
scripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints: <serial-number>
adb status-window - continuously print device status for a specified device
adb remount - remounts the /system partition on the device read-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip <port> - restarts the adbd daemon listening on TCP on the specified port
networking:
adb ppp <tty> [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdns
adb sync notes: adb sync [ <directory> ]
<localdir> can be interpreted in several ways:
- If <directory> is not specified, both /system and /data partitions will be updated.
- If it is "system" or "data", only the corresponding partition
is updated.
copkay has written up a great guide on the use of the “backup” and “restore” commands in this thread, so I will not cover those commands here.
For now, I will only cover the following commands: devices, reboot, reboot bootloader, push, pull and shell.
devices: this command checks to see if your device is properly connected to your PC in ADB mode, e.g., “adb devices”
reboot: this command will reboot your device, e.g., “adb reboot”
reboot-bootloader: this command will reboot your device into fastboot mode, e.g., “adb reboot bootloader”
push: this command copies a file (or directory) to your device from your PC. For example, say you wanted to copy to your /sdcard folder on your device a file called junk.jpg, which is stored on your PC in c:\. The command would be “adb push c:\junk.jpg /sdcard/” (assuming the folder is mounted – to be covered later). Petrovski80 has added more details on copying files to your device in his thread here.
pull: this command copies a file (or directory) to your PC from your device. For example, say you wanted to copy to your c:\ directory on your PC a file called junk.jpg, which is stored in the /sdcard folder on your device. The command would be “adb pull /sdcard/junk.jpg c:\” (assuming the folder is mounted – to be covered later).
shell: this command opens a “shell” to your device so you can issue commands directly to the Android OS. The command is “adb shell”. Your prompt will change to “$” which means that you are now issuing commands to Android, not to your PC. (At some point, I will try to put together a list of commonly used commands, but for anyone that has used Linux, they are essentially the same.)
What are the partitions on a Galaxy Nexus?
A Galaxy Nexus has the following 13 partitions:
boot <-- this is where the kernel and ramdisk are stored
cache <-- this is, well, the cache, i.e., a temporary storage area
dgs <-- I have no idea what this is for
efs <-- this is where your IMEI number is stored, among other things
metadata <-- I have no idea what this is for
misc <-- I have no idea what this is for
param <-- this is where the lock state of the bootloader is stored
radio <-- this is where the radio (i.e., baseband) is stored
recovery <-- this is where the recovery is stored
sbl <-- this is part of the bootloader, and is loaded by the xloader. This is what provides the odin and fastboot interfaces.
system <-- this is where the Android OS resides
userdata <-- this is where your data, including /sdcard resides
xloader <-- this is part of the bootloader, and loads up first.
See this thread or this one for the offsets and sizes.
What does mounting mean?
In order for a device to have access to files, the partition on which those files reside needs to be “mounted”. If you are in recovery, you can easily do this by going to the mounts menu and mounting the appropriate partition. If you are booted in Android, you will need to mount the partition yourself. The /sdcard folder is already mounted by default, however.
How do I mount the system partition?
In recovery: go to the mount menu and mount /system
In Android, on your device: you need root, and a file explorer with root access
In Android, connected via ADB (root required): you need to type the following command in a command prompt:
adb shell
su
mount -o remount,rw -t ext4 /dev/block/mmcblk0p1 /system
To explain this a bit:
-o remount,rw <== this remounts a partition that is already mounted (as read-only), as read-write
-t ext4 <== this specifies to mount it as ext4
/dev/block/mmcblk0p1 <== this is the system partition
/system <== this is what you are mounting it as
What is recovery?
Recovery is like a mini OS, which allows you to perform various functions, usually related to flashing files to your device, or updating files, or backing things up, etc. The stock image has a recovery included, but its functionality is very limited. There are a number of custom recoveries available, but the two most popular for the Galaxy Nexus are CWM and TWRP. There are various versions of each. More details to come in this section.
I see an Android lying on its back when I boot into recovery. Why?
What you see is the main screen of the Galaxy Nexus stock recovery. To access the menu, you need to push and hold power and press volume up.
I just flashed CWM, but every time I try to boot into CWM, I keep seeing the stock recovery. Why?
If you updated your Android build using an OTA update file (either manually or over-the-air), the update placed two files on your device that re-flash the stock recovery every time you reboot your device. These two files are:
/system/etc/install-recovery.sh <== this is the script that installs the patch file
/system/recovery-from-boot.p <== this is the patch
You have to rename (or delete) one or both of them, then re-flash your custom recovery. Now it will stick.
What is an insecure boot image?
An insecure boot image is one that has root enabled for the shell user (i.e, ADB) by default on boot. This means that if you have booted or flashed an insecure image, when you connect your device to a computer, and open a shell via ADB, you will be userid 0 (or root) without having to "request" root access via the su binary. This makes somethings easier -- for example, you can now use the "remount" command in ADB to mount /system without having to type the full mount command in a shell. (More to add later.)
How do I root?
As was mentioned earlier, you need to place the su binary and the superuser app into the right spots on your device. In order to do this, you need to already have root access. There are two ways: flash a root package in recovery (instructions here), or manually place the files in the appropriate spots (I will add instructions on how to do this at a later time).

Useful Galaxy Nexus Guides and Reference Threads
Useful Galaxy Nexus Guides and Reference Threads
Galaxy Nexus drivers: http://forum.xda-developers.com/showthread.php?t=1379875
Jubakuba Galaxy Nexus guide: http://forum.xda-developers.com/showthread.php?t=1529058
Difference between yakju/takju and the other builds: http://forum.xda-developers.com/showthread.php?t=1728555
How to back up your device using ADB – no root needed: http://forum.xda-developers.com/showthread.php?t=1420351
How to copy files to/from your device using ADB: http://forum.xda-developers.com/showthread.php?t=1869380
How to return your device to Google’s stock images: http://forum.xda-developers.com/showthread.php?t=1626895
How to root: http://forum.xda-developers.com/showpost.php?p=26328017&postcount=123
How to unlock the bootloader WITHOUT root and WITHOUT wiping data: http://forum.xda-developers.com/showthread.php?t=2016628
List of all OTA update files and links, including instructions on how to update: http://forum.xda-developers.com/showthread.php?t=1419170
List of all GSM radios: http://forum.xda-developers.com/showpost.php?p=20569003
List of most GSM RILs: http://forum.xda-developers.com/showpost.php?p=27441945
List of all bootloaders: http://forum.xda-developers.com/showthread.php?t=1587498
List of all toro (i.e., Verizon) radios: http://forum.xda-developers.com/showthread.php?t=1890585
How to unlock your bootloader without wiping data and without being connected to a PC – root required: http://forum.xda-developers.com/showthread.php?t=1731993
How to root without unlocking your bootloader – for builds from 4.0.1 to 4.1.1, : http://forum.xda-developers.com/showthread.php?p=31751966
How to root without unlocking your bootloader – for 4.0.1 and 4.0.2 builds only: http://forum.xda-developers.com/showthread.php?t=1531865
CWM recovery (latest for maguro, toro, toroplus): http://www.clockworkmod.com/rommanager/
CWM recovery (5.5.0.2 for maguro): http://forum.xda-developers.com/showthread.php?t=1357642
CWM recovery (5.5.0.4 for toro): http://forum.xda-developers.com/showthread.php?t=1392336
TWRP recovery (latest for maguro, toro, toroplus): http://forum.xda-developers.com/showthread.php?t=1592689
Edify scripting: How to create recovery-flashable zips: http://forum.xda-developers.com/showthread.php?p=29735133
Odin: How to flash your device if you cannot get into fastboot mode: http://forum.xda-developers.com/showthread.php?t=1586807
OMAP_Flash: How to flash your device if you cannot get into fastboot mode and you cannot get into download mode: http://forum.xda-developers.com/showthread.php?t=1760787
How to compile your own ROM from source: http://forum.xda-developers.com/showthread.php?t=1386615
How to remove a carrier SIM lock (proper method): http://forum.xda-developers.com/showthread.php?t=1606982
How to remove a carrier SIM lock (easy but you will lose you IMEI): http://forum.xda-developers.com/showthread.php?t=1548210
Information on bootloader security: http://forum.xda-developers.com/showthread.php?t=1898664
How to recovery deleted files: http://forum.xda-developers.com/showthread.php?p=34185439
How to nandroid directly to your computer: http://forum.xda-developers.com/showthread.php?t=1818321

reserved 2

reserved 3

purely awesome thread.

Added to bookmarks!
Good!:good::good:

Thanks man, voted 5stars on this. I hope this gets sticky.
:good:

Bravo!
Sent from my Galaxy Nexus using xda premium

great stuff, wish i had such summary when jumped into android!
Sent from my Galaxy Nexus using xda app-developers app

Good work man! I was thinking about doing something similar this weekend but this is much better.
Edit: This needs to be stickied ASAP
Sent from my Galaxy Nexus using xda premium

El Daddy said:
Good work man! I was thinking about doing something similar this weekend but this is much better.
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
Thanks (to all).
It is far from complete though, and it will be an on-going work-in-progress. It's not as easy to write up general info as it is to write up a step-by-step guide...

Awesome post. This should see a few overwhelmed users right
Top work!
Sent from my Galaxy Nexus using xda app-developers app

Incredibly useful and much needed thread, really well done, efrant. Information desk and referral center for new users. Wish it was here when I came onboard. You should make a "N00b Lighthouse" graphic for it. I think this will help reduce and untangle a lot of the repetitive new-user threads.

Awesome source of information. This needs a sticky ASAP.
Sent from my Galaxy Nexus using xda premium

this is one of the best guides i've seen. great work efrant. i hope this would be stickied for all

toro partitions
Great thread, efrant. Thanks for the effort. I'd love to see this stickied.
You mentioned toro/toroplus having a "radio-cdma" partition. I can't find it; perhaps it is a virtual partition that recovery and the fastboot know about that does not exist separately in storage. Perhaps it's hidden inside another one.
I'd like to contribute the partition list from my "toro" (Verizon Galaxy Nexus) in case is is useful. In addition to the named partitions listed in the OP, there 5 more unnamed ones. I don't know yet what they are used for.
Code:
mtdblock0 - (don't know)
mmcblk0 - (don't know but it looks big; like the entire eMMC)
mmcblk0p1 - xloader
mmcblk0p2 - sbl
mmcblk0p3 - efs
mmcblk0p4 - param
mmcblk0p5 - misc
mmcblk0p6 - dgs
mmcblk0p7 - boot
mmcblk0p8 - recovery
mmcblk0p9 - radio
mmcblk0p10 - system
mmcblk0p11 - cache
mmcblk0p12 - userdata
mmcblk0p13 - metadata
mmcblk0boot1 - (don't know - blank on Galaxy Nexus, but other devices use this)
mmcblk0boot0 - (don't know - blank on Galaxy Nexus, but other devices use this)
I would love to learn more about the bootchain, as I'm sure several of our unknown partitions are involved.

Great job on this efrant, thread has been stickied.
We have too many stickies in general as is so I just added a redirect for it in Q&A.

Damn man. This is fantastic.
Thanks for taking the time!

segv11 said:
Great thread, efrant. Thanks for the effort. I'd love to see this stickied.
You mentioned toro/toroplus having a "radio-cdma" partition. I can't find it; perhaps it is a virtual partition that recovery and the fastboot know about that does not exist separately in storage. Perhaps it's hidden inside another one.
I'd like to contribute the partition list from my "toro" (Verizon Galaxy Nexus) in case is is useful. In addition to the named partitions listed in the OP, there 5 more unnamed ones. I don't know yet what they are used for.
Code:
mtdblock0 - (don't know)
mmcblk0 - (don't know but it looks big; like the entire eMMC)
mmcblk0p1 - xloader
mmcblk0p2 - sbl
mmcblk0p3 - efs
mmcblk0p4 - param
mmcblk0p5 - misc
mmcblk0p6 - dgs
mmcblk0p7 - boot
mmcblk0p8 - recovery
mmcblk0p9 - radio
mmcblk0p10 - system
mmcblk0p11 - cache
mmcblk0p12 - userdata
mmcblk0p13 - metadata
mmcblk0boot1 - (don't know - blank on Galaxy Nexus, but other devices use this)
mmcblk0boot0 - (don't know - blank on Galaxy Nexus, but other devices use this)
I would love to learn more about the bootchain, as I'm sure several of our unknown partitions are involved.
Click to expand...
Click to collapse
Thanks for the correction. Post edited. I wasn't entirely sure (as I don't have a toro or toroplus devices). Based on what I've read, I'm gathering that the LTE radio likely resides on the radio partition, along with the 3G radio.
And yes, I'm pretty sure you are correct: the mmcblk0 is just the entire NAND. Not sure what mmcblk0boot0, mmcblk0boot1 and mtdblock0 are.
I would also like to know more about the boot chain. I will try to do some research as time permits. From what I've read so far (and most of it is from AdamOutler -- see this thread), there is a chip that is not flashable which contains the intial boot program, which then loads the xloader, which in turn loads the sbl (which provides the odin and fastboot interfaces), which then loads the kernel.

..great work efrant, as always.
If I had a dollar for every time this thread gets a link reference in answering questions...
Sent from my Galaxy Nexus using xda premium

Related

[GUIDE] ADB and Fastboot

ADB
What is ADB?
Android Debug Bridge (ADB) is a command-line tool to control your device with a computer. ADB is part of google's free android sdk (android software developers kit). Once it's set up, you are able to modifiy the device's internal memory (what you usually cannot do if you are not s-off) and some other things.​
Installation
Windows:
The Installation for Windows is not difficult. Just download this file here and you will get ADB and fastboot (thx to _thalamus):
http://thalamus.ineige.org/misc/adb_fastboot_win32.zip​
You do not need the whole SDK any more. But in Cyanogenmod Wiki one can find a very good guide to install it (in case you need it):
Howto: Install the Android SDK​
Linux / Mac:
If you use ubuntu (or linux in general) or mac, you have to do some more work:
Set up ADB and Fastboot on Ubuntu
[GUIDE]Set up ADB and Fastboot on Mac​
How to use adb?​
Preparations:
Set up your phone for debugging (Settings > Applications > Development > check “USB Debugging”).
Now open terminal (for ubuntu/mac: change to platform-tools folder of android-sdk) and enter
Code:
adb shell
Getting logcat to work out problems
Code:
adb logcat
Copy & Save the output to a text file.​
Modify /system partition:
When you want to modify the /system partition from internal memory, it's recommend to boot into recovery, connect the phone to computer via usb connection and then start adb shell. There is a good guide about adding / removing apps from the /system partition:
[GUIDE]Add/remove system apps​
A complete list of commands for adb shell would blast this guide, so I feel free to refer to the android developers site:
List of adb commands​
There also exists a software for adb: QtADB. Never used it, so I cannot recommend it personally.​
Fastboot
Fastboot is command-line tool to control the filesystem and the firmware (also called radio) of android devices. You access it, when and turn off your phone, and then press and hold first the back and afterwards the power button.​
WARNING:
Flashing filesystems and firmwares is a dangerous thing. When you do not know what you are doing, you can brick your phone. To make sure this doesn't happen, there is a security barrier. This barrier is better known as S-ON, which means “Security on”. If you are in this state, you cannot use fastboot. You have to get S-OFF (Security off) before:
http://alpharev.nl
http://revolutionary.io
To find out wether you are S-ON or S-OFF, boot into fastboot (aka bootloader) and read the first line.
It is also very important to ensure the flashing is not interrupted by power loss or usb disconnections, to avoid your phones gets bricked.​
How do I use fastboot?
Boot into fastboot as guided above, connect your phone to your computer over usb and open terminal, (and change to folder as with ADB). Now you can flash what you want.
Code:
fastboot <command> <location of the file you want to flash>
Available commands
Typical partition layout​
Examples:
I assume one is using windows and the stored file is on partition C:\.
Code:
fastboot flash hboot C:\hboot.img
fastboot reboot-bootloader
fastboot erase chache
Code:
fastboot flash radio C:\radio.img
Code:
fastboot flash recovery C:\recovery.img
If you want to flash bootanimation, hboot, radio, recovery or splash, you could use android flasher instead:
[UTILITY]Android Flasher(Rec,splash,Radio,HBOOT,bootanim)(USB-Brick FIX)(12/06/11)
Used it sometimes, never had any problems.​
Reason to flash new hboot
If you decided to use one of alpharev's partition tables, you flash it as a hboot to change the partition sizes of the internal memory.​
Reasons to flash radio via fastboot
First of all, you are s-off. So it's very probable you changed the hboot. When you flash a radio over a recovery, the recovery extracts the downloaded radio.zip into /cache partition. So the radio.img is stored there temporary. For this operation the /cache partition needs as many as 25 mb. If it hasn't, they might occur big problems.​
Furthermore, it's better to do it, because there isn't any software (e.g. recovery) which could go wrong.​
Credits:
Code:
rootSU
_thalamus
schiznik
Thanks for the credit. It means a lot

[Q] SERIOUS PROBLEM! Save Me...

Okay, here's what happened,
2 days ago, i installed ARHD ROM, works perfectly fine,
next day, i saw a kernel by franco. installed it, then after rebooting.... baamm! my unit is not working anymore, stuck in boot screen,
i tried different ways, followed different forums, like Tutorial Disaster. still to no avail,
the sad thing is, i forgot to back it up before doing the upgrades, i know its my fault..
i tried to erase everything via recovery, still not working,
Just today, went to HTC service center, i'm from the Philippines, but i bought my unit from online selling. as per HTC service center its from indonesia, they tried to re-flash something but they said its not working, so they said that they will need to change the mother board, and it will cost me 14,000 pesos or $350.. i don't want to spend that much, feels like i bought a new one..
can someone please enlighten me?
?!
You can erase everything in recovery, but you have to flash something afterwards, maybe like ARHD.
There's nothing wrong with your device, don't panic. Just do a wipe, then flash the ROM as the directions are given.
if you can still get into recovery
relock it
flash stock recovery
flash stock RUU
done
Download ARHD and CWM Recovery
Rename ARHD to update.zip and CWM to recovery.img
Place update.zip and recovery.img into a folder with fastboot and adb
Extract boot.img from update.zip and place in your fastboot folder
Put your phone into fastboot mode with unlocked bootloader
Flash boot with command 'fastboot flash boot boot.img'
Boot recovery using 'fastboot boot recovery.img' command
Use command 'adb push update.zip /sdcard/update.zip' to send ARHD to phone
Then install rom from update.zip in recovery
It's nothing serious with your phone. It is easily can be recovered. Just don't run here and there so the XDA community can assist you.
There are two ways to recover your phone.
1) flash RUU
2) push xxx_rom.zip to your device.
Already tell you about flashing RUU in the disaster thread.
well, i would like to give thanks to all of you, who answered my questions, helped a lot. trying to read more here before doing another run in fixing my device.
where can i get stock RUU? my device is from indonesia. and one more thing, how to flash RUU?
djpoe said:
Download ARHD and CWM Recovery
Rename ARHD to update.zip and CWM to recovery.img
Place update.zip and recovery.img into a folder with fastboot and adb
Extract boot.img from update.zip and place in your fastboot folder
Put your phone into fastboot mode with unlocked bootloader
Flash boot with command 'fastboot flash boot boot.img'
Boot recovery using 'fastboot boot recovery.img' command
Use command 'adb push update.zip /sdcard/update.zip' to send ARHD to phone
Then install rom from update.zip in recovery
Click to expand...
Click to collapse
very detailed instruction here
where can i get adb BTW?
wintermute000 said:
if you can still get into recovery
relock it
flash stock recovery
flash stock RUU
done
Click to expand...
Click to collapse
This and finish with: fastboot erase cache
Sent from my HTC One X using XDA
wolfraim said:
This and finish with: fastboot erase cache
Sent from my HTC One X using XDA
Click to expand...
Click to collapse
thanks man.. where can i get the stock RUU and stock recovery? and also why do we have to re lock the device?
EDIT: i almost forgot, because this problem started after installing a new kernel by franco, so i guess i need to install a stock kernel? where can i get it?
mikey0105 said:
thanks man.. where can i get the stock RUU and stock recovery? and also why do we have to re lock the device?
EDIT: i almost forgot, because this problem started after installing a new kernel by franco, so i guess i need to install a stock kernel? where can i get it?
Click to expand...
Click to collapse
I had the same problem with franco's kernel, what I did was, go to recovery and re-flash my xx_rom.zip, then it boots ok. You should try the same, provided you still have the ARHD.zip in your sdcard.
Your device from Indonesia ? I believe this is the RUU for you (same for me too):http://hoxroms.serveftp.com/RUU_END...Radio_1.1204.103.14_release_257076_signed.exe
ckpv5 said:
I had the same problem with franco's kernel, what I did was, go to recovery and re-flash my xx_rom.zip, then it boots ok. You should try the same, provided you still have the ARHD.zip in your sdcard.
Your device from Indonesia ? I believe this is the RUU for you (same for me too):http://hoxroms.serveftp.com/RUU_END...Radio_1.1204.103.14_release_257076_signed.exe
Click to expand...
Click to collapse
thanks ill try it later.. i don't have it on my sdcard, as i've said i erased everything already..
but i guess i'll try the step on top provided by "djpoe" to put the ARHD inside my SD card. hope everything will work..
1 Download ARHD and CWM Recovery
2 Rename ARHD to update.zip and CWM to recovery.img
3 Place update.zip and recovery.img into a folder with fastboot and adb
4 Extract boot.img from update.zip and place in your fastboot folder
5 Put your phone into fastboot mode with unlocked bootloader
6 Flash boot with command 'fastboot flash boot boot.img'
7 Boot recovery using 'fastboot boot recovery.img' command
8 Use command 'adb push update.zip /sdcard/update.zip' to send ARHD to phone
9 Then install rom from update.zip in recovery
For item 7 & 8, maybe you like a safe-proof guide that I posted here
Just replace "D:\HTC\One X\HTC Dev.com unlock\android-sdk\platform-tools>" to your own fastboot/adb folder path
and "recovery-clockwork-touch-5.8.3.1-endeavoru.img" to "recovery.img" if you renamed it.
and "xxx.zip" to "update.zip"
thanks, i'm downloading the files now...
quick question, if i erased all data/cache, the kernel that i installed? will it be deleted as well? because i need to have a stock kernel and i can't see one?
erase all data/system/cache will not delete the installed kernel.
As you said you will follow djpoe's guide, see no. 4 & no. 6 regarding kernel flashing.
Remember the ROM.zip that you have earlier (see Disaster thread), inside the ROM.zip there is a boot_signed.img, that is the stock kernel. But you don't really need the stock kernel, what you need is the AHRD's kernel (see. no.4).
ohhh i see! now that good to know thanks... waiting for the files to be downloaded.. will give you feedback later... fingers cross...
additional question, just wondering, why is it important to re-lock the device before flashing ruu?
i tried to copy the update.zip by doing this
adb push update.zip/sdcard/update.zip
then there are lots of command on the CMD.. see below
C:\fastboot>adb push update.zip/sdcard/update.zip
Android Debug Bridge version 1.0.29
-d - directs command to the only connected USB devic
e
returns an error if more than one USB device is
present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is r
unning.
-s <serial number> - directs command to the USB device or emulator w
ith
the given serial number. Overrides ANDROID_SERI
AL
environment variable.
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
devices - list all connected devices
connect <host>[:<port>] - connect to a device via TCP/IP
Port 5555 is used by default if no port number
is specified.
disconnect [<host>[:<port>]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number
is specified.
Using this command with no additional arguments
will disconnect from all connected TCP/IP devic
es.
device commands:
adb push <local> <remote> - copy file/dir to device
adb pull <remote> [<local>] - copy file/dir from device
adb sync [ <directory> ] - copy host->device only if changed
(-l means list but don't copy)
(see 'adb help all')
adb shell - run remote shell interactively
adb shell <command> - run remote shell command
adb emu <command> - run emulator console command
adb logcat [ <filter-spec> ] - View device log
adb forward <local> <remote> - forward socket connections
forward specs are one of:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] <file> - push this package file to the device and i
nstall it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data
)
('-s' means install on SD card instead of inter
nal storage)
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories
)
adb bugreport - return all information from the device
that should be included in a bug report.
adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|-nosy
stem] [<packages...>]
- write an archive of the device's data to <file>
.
If no -f option is supplied then the data is wr
itten
to "backup.ab" in the current directory.
(-apk|-noapk enable/disable backup of the .apks
themselves
in the archive; the default is noapk.)
(-shared|-noshared enable/disable backup of the
device's
shared storage / SD card contents; the defau
lt is noshared.)
(-all means to back up all installed applicatio
ns)
(-system|-nosystem toggles whether -all automat
ically includes
system applications; the default is to inclu
de system apps)
(<packages...> is the list of applications to b
e backed up. If
the -all or -shared flags are passed, then t
he package
list is optional. Applications explicitly g
iven on the
command line will be included even if -nosys
tem would
ordinarily cause them to be omitted.)
adb restore <file> - restore device contents from the <file> backup
archive
adb help - show this help message
adb version - show version num
scripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints: <serial-number>
adb status-window - continuously print device status for a specifie
d device
adb remount - remounts the /system partition on the device re
ad-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the boo
tloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip <port> - restarts the adbd daemon listening on TCP on th
e specified port
networking:
adb ppp <tty> [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdns
adb sync notes: adb sync [ <directory> ]
<localdir> can be interpreted in several ways:
- If <directory> is not specified, both /system and /data partitions will be u
pdated.
- If it is "system" or "data", only the corresponding partition
is updated.
environmental variables:
ADB_TRACE - Print debug information. A comma separated list
of the following values
1 or all, adb, sockets, packets, rwx, usb, sync
, sysdeps, transport, jdwp
ANDROID_SERIAL - The serial number to connect to. -s takes prior
ity over this if given.
ANDROID_LOG_TAGS - When used with the logcat option, only these de
bug tags are printed.
-------------------------------
then tried to install it via CWM, apply /sdcard/update.zip
it says
finding update
opening update
E: Can't open sdcard/update.zip
(No such file or directory)
Installation aborted
It should be C:\fastboot>adb push update.zip /sdcard not C:\fastboot>adb push update.zip/sdcard/update.zip
where is your adb files ? In the fastboot folder too ? If yes, try this:
1. C:\fastboot>fastboot boot recovery-clockwork-touch-5.8.3.1-endeavoru.img
2. C:\fastboot>adb devices
enter
C:\fastboot>adb shell
enter then type after ~ # mount sdcard
3. don't close anything, open another cmd prompt
C:\fastboot>adb push update.zip /sdcard
then enter
once completed, choose install from sdcard - choose zip from sdcard, the update.zip should be there
here whats happening. see attachment
mikey0105 said:
here whats happening. see attachment
Click to expand...
Click to collapse
There is no AdbWinUsb.dll in your folder ?
GUYS!!! AT LAST!!!! I'm so happy!!! its all okay now! oh man! this is crazy! hahaha! thank you so much to all!. the feeling is really great! WOOOOOWWWWW!!!!

[Q] How could i transfer files in CWM?

How could i transfer files in CWM?
Both my sdcard and internal partition was accidentally wiped out when trying to fix a bootloop earlier.
Currently, my phone could only access fastboot and recovery mode. I wanted to transfer *.img on my sd partition so i could flash a ROM to fix this problem.
I already tried to mount the usb storage from CWM recovery. but it would give me an error "E: unable to open ums lunfile"
is there any way to push a *.img file to my sdcard? or is there any way that i could flash TWRP?
Update to latest CWM
Check to see if you have the latest CWM. If not then flash the new one. Once your connected you can just drag & drop from your pc.
Sent from my HTC One X using xda app-developers app
BenPope said:
Update to latest CWM
Click to expand...
Click to collapse
Thanks for that Ben, but is it possible to update to the latest CWM, i could not boot my phone, I could only access recovery/fastboot mode. Im sorry being so stupid, im just new to this stuff :crying:
EDIT: my bad. thanks for the advice. trying to update now
Banzai761 said:
Thanks for that Ben, but is it possible to update to the latest CWM, i could not boot my phone, I could only access recovery/fastboot mode. Im sorry being so stupid, im just new to this stuff :crying:
EDIT: my bad. thanks for the advice. trying to update now
Click to expand...
Click to collapse
yeah, you can send files to sdcard at cwm, by using adb.
1. Open your cmd and navigate to the folder with the adb files(the folder where you flashed your roms, kernels, or recovery).
2. Access the cwm at your phone and connect an usb cable to the computer.
3. Put the files that you wanted to send to your phone at that particular folder
4. Type "adb push (filename) /sdcard/(filename)". Example, "adb push rom.zip /sdcard/rom.zip"
4.1. Depending on your OS, you may want to add "./" at the front of the command if you're using unix based os(this is an oversimplified version)
5. Wait until it finishes its transfer(a message will appear saying the filename, file size and the speed of the transfer per sec when it finishes)
6. Wait for a while or reboot your cwm so that the filename will appear and just reflash the file.
7. Voila!
not working
I unlocked the boot loader after following all the steps on htcdev.com..
it was successful.
then i installed CWM v5.8.4.0
then i tried to install Viper X custom rom from the recovery.
but even with the aroma installer, i has to select next,etc with with vol+,vol- button and then power button to click.
what is wrong with my phone..please help me..
wcypierre said:
yeah, you can send files to sdcard at cwm, by using adb.
1. Open your cmd and navigate to the folder with the adb files(the folder where you flashed your roms, kernels, or recovery).
2. Access the cwm at your phone and connect an usb cable to the computer.
3. Put the files that you wanted to send to your phone at that particular folder
4. Type "adb push (filename) /sdcard/(filename)". Example, "adb push rom.zip /sdcard/rom.zip"
4.1. Depending on your OS, you may want to add "./" at the front of the command if you're using unix based os(this is an oversimplified version)
5. Wait until it finishes its transfer(a message will appear saying the filename, file size and the speed of the transfer per sec when it finishes)
6. Wait for a while or reboot your cwm so that the filename will appear and just reflash the file.
7. Voila!
Click to expand...
Click to collapse
Thanks for your help
George_Orever said:
Thanks for your help
Click to expand...
Click to collapse
thank you very much
---------- Post added at 02:02 AM ---------- Previous post was at 01:54 AM ----------
wcypierre said:
yeah, you can send files to sdcard at cwm, by using adb.
1. Open your cmd and navigate to the folder with the adb files(the folder where you flashed your roms, kernels, or recovery).
2. Access the cwm at your phone and connect an usb cable to the computer.
3. Put the files that you wanted to send to your phone at that particular folder
4. Type "adb push (filename) /sdcard/(filename)". Example, "adb push rom.zip /sdcard/rom.zip"
4.1. Depending on your OS, you may want to add "./" at the front of the command if you're using unix based os(this is an oversimplified version)
5. Wait until it finishes its transfer(a message will appear saying the filename, file size and the speed of the transfer per sec when it finishes)
6. Wait for a while or reboot your cwm so that the filename will appear and just reflash the file.
7. Voila!
Click to expand...
Click to collapse
every time i try to push a file i get this
C:\adbfastboot>adb push cm-10.1-20130411-EXPERIMENTAL-endeavoru-M3.zip/sdcard
Android Debug Bridge version 1.0.26
-d - directs command to the only connected USB devic
e
returns an error if more than one USB device is
present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is r
unning.
-s <serial number> - directs command to the USB device or emulator w
ith
the given serial number. Overrides ANDROID_SERI
AL
environment variable.
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
devices - list all connected devices
connect <host>:<port> - connect to a device via TCP/IP
disconnect <host>:<port> - disconnect from a TCP/IP device
device commands:
adb push <local> <remote> - copy file/dir to device
adb pull <remote> [<local>] - copy file/dir from device
adb sync [ <directory> ] - copy host->device only if changed
(see 'adb help all')
adb shell - run remote shell interactively
adb shell <command> - run remote shell command
adb emu <command> - run emulator console command
adb logcat [ <filter-spec> ] - View device log
adb forward <local> <remote> - forward socket connections
forward specs are one of:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] <file> - push this package file to the device and i
nstall it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data
)
('-s' means install on SD card instead of inter
nal storage)
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories
)
adb bugreport - return all information from the device
that should be included in a bug report.
adb help - show this help message
adb version - show version num
DATAOPTS:
(no option) - don't touch the data partition
-w - wipe the data partition
-d - flash the data partition
scripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints: <serial-number>
adb status-window - continuously print device status for a specifie
d device
adb remount - remounts the /system partition on the device re
ad-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the boo
tloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip <port> - restarts the adbd daemon listening on TCP on th
e specified port
networking:
adb ppp <tty> [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdns
adb sync notes: adb sync [ <directory> ]
<localdir> can be interpreted in several ways:
- If <directory> is not specified, both /system and /data partitions will be u
pdated.
- If it is "system" or "data", only the corresponding partition
is updated.
What do i do?
I think that you wanted to push adb push cm-10.1-20130411-EXPERIMENTAL-endeavoru-M3.zip to /sdcard.
If yes, then, you need an additional space for it to separate the source and the destination
adb push cm-10.1-20130411-EXPERIMENTAL-endeavoru-M3.zip /sdcard
mikkygwaz24 said:
thank you very much
---------- Post added at 02:02 AM ---------- Previous post was at 01:54 AM ----------
every time i try to push a file i get this
C:\adbfastboot>adb push cm-10.1-20130411-EXPERIMENTAL-endeavoru-M3.zip/sdcard
Android Debug Bridge version 1.0.26
-d - directs command to the only connected USB devic
e
returns an error if more than one USB device is
present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is r
unning.
-s <serial number> - directs command to the USB device or emulator w
ith
the given serial number. Overrides ANDROID_SERI
AL
environment variable.
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
devices - list all connected devices
connect <host>:<port> - connect to a device via TCP/IP
disconnect <host>:<port> - disconnect from a TCP/IP device
device commands:
adb push <local> <remote> - copy file/dir to device
adb pull <remote> [<local>] - copy file/dir from device
adb sync [ <directory> ] - copy host->device only if changed
(see 'adb help all')
adb shell - run remote shell interactively
adb shell <command> - run remote shell command
adb emu <command> - run emulator console command
adb logcat [ <filter-spec> ] - View device log
adb forward <local> <remote> - forward socket connections
forward specs are one of:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] <file> - push this package file to the device and i
nstall it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data
)
('-s' means install on SD card instead of inter
nal storage)
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories
)
adb bugreport - return all information from the device
that should be included in a bug report.
adb help - show this help message
adb version - show version num
DATAOPTS:
(no option) - don't touch the data partition
-w - wipe the data partition
-d - flash the data partition
scripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints: <serial-number>
adb status-window - continuously print device status for a specifie
d device
adb remount - remounts the /system partition on the device re
ad-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the boo
tloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip <port> - restarts the adbd daemon listening on TCP on th
e specified port
networking:
adb ppp <tty> [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdns
adb sync notes: adb sync [ <directory> ]
<localdir> can be interpreted in several ways:
- If <directory> is not specified, both /system and /data partitions will be u
pdated.
- If it is "system" or "data", only the corresponding partition
is updated.
What do i do?
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Why dont you enter the recovery and mount the sdcard as a usb diskdrive and copy to it what you need ?
wcypierre said:
yeah, you can send files to sdcard at cwm, by using adb.
1. Open your cmd and navigate to the folder with the adb files(the folder where you flashed your roms, kernels, or recovery).
2. Access the cwm at your phone and connect an usb cable to the computer.
3. Put the files that you wanted to send to your phone at that particular folder
4. Type "adb push (filename) /sdcard/(filename)". Example, "adb push rom.zip /sdcard/rom.zip"
4.1. Depending on your OS, you may want to add "./" at the front of the command if you're using unix based os(this is an oversimplified version)
5. Wait until it finishes its transfer(a message will appear saying the filename, file size and the speed of the transfer per sec when it finishes)
6. Wait for a while or reboot your cwm so that the filename will appear and just reflash the file.
7. Voila!
Click to expand...
Click to collapse
This!
Just saved my life.
- I had a pandroid LG G2 but locked.
- To unlock, I had to restore to stock (3+ hours mainly download times) and first time setup.
- It was working perfect as stock. But Wanted CWM or TWRP. Installed CWM correctly.
- MAde nandroid backup
- Reboot - said yes to reapply Loki + Super.
- Destroyed everything in the phone. Download mode will not work. Only thing I could do is go in recovery!
- Been working all sort of fix but none worked. Can't put custom roms either (weired loki error)
- Finally thought I should try pushing this original backup on phone! worked and installed in 10 min!!
PrinceMS said:
This!
Just saved my life.
- I had a pandroid LG G2 but locked.
- To unlock, I had to restore to stock (3+ hours mainly download times) and first time setup.
- It was working perfect as stock. But Wanted CWM or TWRP. Installed CWM correctly.
- MAde nandroid backup
- Reboot - said yes to reapply Loki + Super.
- Destroyed everything in the phone. Download mode will not work. Only thing I could do is go in recovery!
- Been working all sort of fix but none worked. Can't put custom roms either (weired loki error)
- Finally thought I should try pushing this original backup on phone! worked and installed in 10 min!!
Click to expand...
Click to collapse
You're welcome. Glad that my solution worked well for you
PrinceMS said:
This!
Just saved my life.
- I had a pandroid LG G2 but locked.
- To unlock, I had to restore to stock (3+ hours mainly download times) and first time setup.
- It was working perfect as stock. But Wanted CWM or TWRP. Installed CWM correctly.
- MAde nandroid backup
- Reboot - said yes to reapply Loki + Super.
- Destroyed everything in the phone. Download mode will not work. Only thing I could do is go in recovery!
- Been working all sort of fix but none worked. Can't put custom roms either (weired loki error)
- Finally thought I should try pushing this original backup on phone! worked and installed in 10 min!!
Click to expand...
Click to collapse
Not trying to highjack this topic, but how did you push the file to the sd card when the LG G2 does not have an sd card, only storage. I ask as I have the LG G2 and have clockworkmod installed as my recovery, but my internal storage is blank and my nandroid backups are gone. I cant find a way to get a rom onto my internal storage so I can flash it.
Edit: After shedding a few tears (Just Kidding) thinking I was screwed since I only had internal storage. As long as you have adb setup correctly, do the following:
1. Enter clockworkmod recovery
2. go to mounts and storage
3. Mount /data
4. Type adb push filename.zip /data/media/0
5. After the file has copied over, unmount /data in the mounts and storage
6. probably not required, but I rebooted recovery.
7. Install your zip.
Thanks wcypierre for basically giving me the process. I just needed to rework it a bit.

[Q] How do you do a full erase of the phone, (eg: externalSD, etc)

Is there a way to do a full wipe of the phone? externalSD and all things in between. Im just curious.
aer0zer0 said:
Is there a way to do a full wipe of the phone? externalSD and all things in between. Im just curious.
Click to expand...
Click to collapse
I used the RUU in the development thread, but you have to be s-off.
I used these instructions:
http://forum.xda-developers.com/showthread.php?t=2251800
If you have a custom recovery installed you can go through and format each partition
Sent from my HTC6500LVW using Tapatalk
mlin said:
If you have a custom recovery installed you can go through and format each partition
Sent from my HTC6500LVW using Tapatalk
Click to expand...
Click to collapse
Reading some other posts since this thing came out, beware TWRP and wiping internal storage. That is will cause you to have to sideload a .zip to flash. Still prefer TWRP, just careful not to check that box.
chip.hughes said:
Reading some other posts since this thing came out, beware TWRP and wiping internal storage. That is will cause you to have to sideload a .zip to flash. Still prefer TWRP, just careful not to check that box.
Click to expand...
Click to collapse
Well I wiped internal like an idiot. Phone will go to the HTC screen with the red writing at the bottom but thats it. Any help getting things back together would be greatly appreciated.
unstab1e1199 said:
Well I wiped internal like an idiot. Phone will go to the HTC screen with the red writing at the bottom but thats it. Any help getting things back together would be greatly appreciated.
Click to expand...
Click to collapse
That's one way to do it. You'll have to side load a .zip (ROM) to flash. I have to go pick up pecans, so I can't answer a lot of questions if you are not familiar with ADB or command line. I promise it is not hard. Your not the first here to do this, I think Andybones helped someone not long back with this. I googled it for you, there are some youtube videos and here is a link.
http://www.oppoforums.com/threads/how-to-save-your-device-after-a-full-wipe.1907/
You'll need the drivers for this device and all that can be found here:
http://forum.xda-developers.com/showthread.php?t=2417043
look for "root files"
chip.hughes said:
That's one way to do it. You'll have to side load a .zip (ROM) to flash. I have to go pick up pecans, so I can't answer a lot of questions if you are not familiar with ADB or command line. I promise it is not hard. Your not the first here to do this, I think Andybones helped someone not long back with this. I googled it for you, there are some youtube videos and here is a link.
http://www.oppoforums.com/threads/how-to-save-your-device-after-a-full-wipe.1907/
You'll need the drivers for this device and all that can be found here:
http://forum.xda-developers.com/showthread.php?t=2417043
look for "root files"
Click to expand...
Click to collapse
My main problem at the moment is twrp just says starting sideload mode. It never actually enters it. I have Andy's Bonestock v1.1 and renamed it find5.zip, I've tried just running the command to see if would push but, that dosent seem to work either.
unstab1e1199 said:
My main problem at the moment is twrp just says starting sideload mode. It never actually enters it. I have Andy's Bonestock v1.1 and renamed it find5.zip, I've tried just running the command to see if would push but, that dosent seem to work either.
Click to expand...
Click to collapse
Quick guess is drivers. Never having done this myself, I'm thinking the twrp won't react until push starts. I have had to go to device manager (with device plugged in), uninstalled and reinstall the drivers. Sometimes I have had to just move to one of my other computers, that I never connected the phone to, to start fresh. Windows just wouldn't cooperate and let go of some old drivers. Try pm'ing andybones, if you still aren't having any luck by this evening, I'll remote you and look at it if you want me to.
chip.hughes said:
Quick guess is drivers. Never having done this myself, I'm thinking the twrp won't react until push starts. I have had to go to device manager (with device plugged in), uninstalled and reinstall the drivers. Sometimes I have had to just move to one of my other computers, that I never connected the phone to, to start fresh. Windows just wouldn't cooperate and let go of some old drivers. Try pm'ing andybones, if you still aren't having any luck by this evening, I'll remote you and look at it if you want me to.
Click to expand...
Click to collapse
I'm going to try a fresh download of everything and see if that works. adb devices is showing my phone in sideload but, adb sideload then the path to the zip isn't working. I'll figure it out eventually. Thank you for all the help it's really appreciated
unstab1e1199 said:
I'm going to try a fresh download of everything and see if that works. adb devices is showing my phone in sideload but, adb sideload then the path to the zip isn't working. I'll figure it out eventually. Thank you for all the help it's really appreciated
Click to expand...
Click to collapse
If you're using the push command you don't need/want to have the phone in sideload mode. Per TWRP's website normal adv commands don't work in sideload. I couldn't get sideload to work when I sis this but adb push to /data/media/0/ worked fine.
Sent from my HTC6500LVW using Tapatalk
mlin said:
If you're using the push command you don't need/want to have the phone in sideload mode. Per TWRP's website normal adv commands don't work in sideload. I couldn't get sideload to work when I sis this but adb push to /data/media/0/ worked fine.
Sent from my HTC6500LVW using Tapatalk
Click to expand...
Click to collapse
ok I have minimal adb and fastboot installed to c:. I have put my rom zip into the adb folder and opened my command from that folder. I have tried sideload to no avail so could u tell me what I need to type in command to push my zip? I have renamed it find5.zip. I have tried to push and sideload on three differnt computers usin different adb and drivers. Guess I have bricked it
unstab1e1199 said:
ok I have minimal adb and fastboot installed to c:. I have put my rom zip into the adb folder and opened my command from that folder. I have tried sideload to no avail so could u tell me what I need to type in command to push my zip? I have renamed it find5.zip. I have tried to push and sideload on three differnt computers usin different adb and drivers. Guess I have bricked it
Click to expand...
Click to collapse
Okay, do this.
1) Boot into recovery
2) Open command from your minimal fastboot/adb folder
3) type adb devices- you should see something like a serial number if your device is recognized, if not, you will need to install the htc drivers.
4) if your device is recognized, type the following command: adb push find5.zip /data/media/0/
5) Disconnect the phone from computer then in recovery go to install and to the location specified above. Your ROM should be there.
This is exactly what I did 2 days ago and it worked. If you can get to recovery, you're not bricked.
I'll be on my comp for a bit so I can help you trouble shoot through this.
mlin said:
Okay, do this.
1) Boot into recovery
2) Open command from your minimal fastboot/adb folder
3) type adb devices- you should see something like a serial number if your device is recognized, if not, you will need to install the htc drivers.
4) if your device is recognized, type the following command: adb push find5.zip /data/media/0/
5) Disconnect the phone from computer then in recovery go to install and to the location specified above. Your ROM should be there.
This is exactly what I did 2 days ago and it worked. If you can get to recovery, you're not bricked.
I'll be on my comp for a bit so I can help you trouble shoot through this.
Click to expand...
Click to collapse
just says no such file or directory in adb. Device is connected and in recovery
---------- Post added at 03:08 AM ---------- Previous post was at 03:00 AM ----------
unstab1e1199 said:
just says no such file or directory in adb. Device is connected and in recovery
Click to expand...
Click to collapse
This is what I get if I push the whole file path. Same when I try to sideload it
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Minimal ADB and Fastboot>adb push /C:/minimal adb and fastboot/find5.zip /dat
a/media
Android Debug Bridge version 1.0.31
-d - directs command to the only connected USB devic
e
returns an error if more than one USB device is
present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is r
unning.
-s <specific device> - directs command to the device or emulator with
the given
serial number or qualifier. Overrides ANDROID_S
ERIAL
environment variable.
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
devices [-l] - list all connected devices
('-l' will also list device qualifiers)
connect <host>[:<port>] - connect to a device via TCP/IP
Port 5555 is used by default if no port number
is specified.
disconnect [<host>[:<port>]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number
is specified.
Using this command with no additional arguments
will disconnect from all connected TCP/IP devic
es.
device commands:
adb push <local> <remote> - copy file/dir to device
adb pull <remote> [<local>] - copy file/dir from device
adb sync [ <directory> ] - copy host->device only if changed
(-l means list but don't copy)
(see 'adb help all')
adb shell - run remote shell interactively
adb shell <command> - run remote shell command
adb emu <command> - run emulator console command
adb logcat [ <filter-spec> ] - View device log
adb forward <local> <remote> - forward socket connections
forward specs are one of:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] [--algo <algorithm name> --key <hex-encoded key> --
iv <hex-encoded iv>] <file>
- push this package file to the device and instal
l it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data
)
('-s' means install on SD card instead of inter
nal storage)
('--algo', '--key', and '--iv' mean the file is
encrypted already)
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories
)
adb bugreport - return all information from the device
that should be included in a bug report.
adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|-nosy
stem] [<packages...>]
- write an archive of the device's data to <file>
.
If no -f option is supplied then the data is wr
itten
to "backup.ab" in the current directory.
(-apk|-noapk enable/disable backup of the .apks
themselves
in the archive; the default is noapk.)
(-shared|-noshared enable/disable backup of the
device's
shared storage / SD card contents; the defau
lt is noshared.)
(-all means to back up all installed applicatio
ns)
(-system|-nosystem toggles whether -all automat
ically includes
system applications; the default is to inclu
de system apps)
(<packages...> is the list of applications to b
e backed up. If
the -all or -shared flags are passed, then t
he package
list is optional. Applications explicitly g
iven on the
command line will be included even if -nosys
tem would
ordinarily cause them to be omitted.)
adb restore <file> - restore device contents from the <file> backup
archive
adb help - show this help message
adb version - show version num
scripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints: <serial-number>
adb get-devpath - prints: <device-path>
adb status-window - continuously print device status for a specifie
d device
adb remount - remounts the /system partition on the device re
ad-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the boo
tloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip <port> - restarts the adbd daemon listening on TCP on th
e specified port
networking:
adb ppp <tty> [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdns
adb sync notes: adb sync [ <directory> ]
<localdir> can be interpreted in several ways:
- If <directory> is not specified, both /system and /data partitions will be u
pdated.
- If it is "system" or "data", only the corresponding partition
is updated.
environmental variables:
ADB_TRACE - Print debug information. A comma separated list
of the following values
1 or all, adb, sockets, packets, rwx, usb, sync
, sysdeps, transport, jdwp
ANDROID_SERIAL - The serial number to connect to. -s takes prior
ity over this if given.
ANDROID_LOG_TAGS - When used with the logcat option, only these de
bug tags are printed.
C:\Minimal ADB and Fastboot>
unstab1e1199 said:
just says no such file or directory in adb. Device is connected and in recovery
---------- Post added at 03:08 AM ---------- Previous post was at 03:00 AM ----------
This is what I get if I push the whole file path. Same when I try to sideload it
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Minimal ADB and Fastboot>adb push /C:/minimal adb and fastboot/find5.zip /dat
a/media
Android Debug Bridge version 1.0.31
-d - directs command to the only connected USB devic
e
returns an error if more than one USB device is
present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is r
unning.
-s <specific device> - directs command to the device or emulator with
the given
serial number or qualifier. Overrides ANDROID_S
ERIAL
environment variable.
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
devices [-l] - list all connected devices
('-l' will also list device qualifiers)
connect <host>[:<port>] - connect to a device via TCP/IP
Port 5555 is used by default if no port number
is specified.
disconnect [<host>[:<port>]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number
is specified.
Using this command with no additional arguments
will disconnect from all connected TCP/IP devic
es.
device commands:
adb push <local> <remote> - copy file/dir to device
adb pull <remote> [<local>] - copy file/dir from device
adb sync [ <directory> ] - copy host->device only if changed
(-l means list but don't copy)
(see 'adb help all')
adb shell - run remote shell interactively
adb shell <command> - run remote shell command
adb emu <command> - run emulator console command
adb logcat [ <filter-spec> ] - View device log
adb forward <local> <remote> - forward socket connections
forward specs are one of:
tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
adb jdwp - list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] [--algo <algorithm name> --key <hex-encoded key> --
iv <hex-encoded iv>] <file>
- push this package file to the device and instal
l it
('-l' means forward-lock the app)
('-r' means reinstall the app, keeping its data
)
('-s' means install on SD card instead of inter
nal storage)
('--algo', '--key', and '--iv' mean the file is
encrypted already)
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories
)
adb bugreport - return all information from the device
that should be included in a bug report.
adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|-nosy
stem] [<packages...>]
- write an archive of the device's data to <file>
.
If no -f option is supplied then the data is wr
itten
to "backup.ab" in the current directory.
(-apk|-noapk enable/disable backup of the .apks
themselves
in the archive; the default is noapk.)
(-shared|-noshared enable/disable backup of the
device's
shared storage / SD card contents; the defau
lt is noshared.)
(-all means to back up all installed applicatio
ns)
(-system|-nosystem toggles whether -all automat
ically includes
system applications; the default is to inclu
de system apps)
(<packages...> is the list of applications to b
e backed up. If
the -all or -shared flags are passed, then t
he package
list is optional. Applications explicitly g
iven on the
command line will be included even if -nosys
tem would
ordinarily cause them to be omitted.)
adb restore <file> - restore device contents from the <file> backup
archive
adb help - show this help message
adb version - show version num
scripting:
adb wait-for-device - block until device is online
adb start-server - ensure that there is a server running
adb kill-server - kill the server if it is running
adb get-state - prints: offline | bootloader | device
adb get-serialno - prints: <serial-number>
adb get-devpath - prints: <device-path>
adb status-window - continuously print device status for a specifie
d device
adb remount - remounts the /system partition on the device re
ad-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the boo
tloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip <port> - restarts the adbd daemon listening on TCP on th
e specified port
networking:
adb ppp <tty> [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP connection.
<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] - Eg. defaultroute debug dump local notty usepeerdns
adb sync notes: adb sync [ <directory> ]
<localdir> can be interpreted in several ways:
- If <directory> is not specified, both /system and /data partitions will be u
pdated.
- If it is "system" or "data", only the corresponding partition
is updated.
environmental variables:
ADB_TRACE - Print debug information. A comma separated list
of the following values
1 or all, adb, sockets, packets, rwx, usb, sync
, sysdeps, transport, jdwp
ANDROID_SERIAL - The serial number to connect to. -s takes prior
ity over this if given.
ANDROID_LOG_TAGS - When used with the logcat option, only these de
bug tags are printed.
C:\Minimal ADB and Fastboot>
Click to expand...
Click to collapse
You don't need to enter the path if your ROM is in the same folder as adb abd this is where you are opening the command prompt.
Here is what I did.
Move my ROM, named rom.zip into "c:\programs (x86)\minimal adb and fastboot\" (or whatever its called exactly).
Then, using Windows explorer, while in that folder, in the address bar typed "cmd" without the quotes. This opens command prompt from the present directory.
Then, simply type adb push rom.zip /data/media/0/
***Also, I had to have the /0/ after media. Without it, I got a no such directory message even though I could see the directory was there.***
mlin said:
You don't need to enter the path if your ROM is in the same folder as adb abd this is where you are opening the command prompt.
Here is what I did.
Move my ROM, named rom.zip into "c:\programs (x86)\minimal adb and fastboot\" (or whatever its called exactly).
Then, using Windows explorer, while in that folder, in the address bar typed "cmd" without the quotes. This opens command prompt from the present directory.
Then, simply type adb push rom.zip /data/media/0/
***Also, I had to have the /0/ after media. Without it, I got a no such directory message even though I could see the directory was there.***
Click to expand...
Click to collapse
I stuck everything in C: for easy reference. Opening my command prompt in that window and just typing amd push find5.zip /data/media/0/says no such file. I've been at this all day have to say out of all he rooted devices I have had this is the worst problem I have came across
unstab1e1199 said:
I stuck everything in C: for easy reference. Opening my command prompt in that window and just typing amd push find5.zip /data/media/0/says no such file. I've been at this all day have to say out of all he rooted devices I have had this is the worst problem I have came across
Click to expand...
Click to collapse
Weird. The "no such file" message makes it sound like your ROM is not in the same folder or isn't named as you've indicated.
mlin said:
Weird. The "no such file" message makes it sound like your ROM is not in the same folder or isn't named as you've indicated.
Click to expand...
Click to collapse
Would it make a difference if I downloaded the rom on another pc and copied it to a external drive then copied it back onto this pc? I am in the process of a fresh download onto this pc to see if it helps. Seems all the files are in the zip I copied though.
unstab1e1199 said:
Would it make a difference if I downloaded the rom on another pc and copied it to a external drive then copied it back onto this pc? I am in the process of a fresh download onto this pc to see if it helps. Seems all the files are in the zip I copied though.
Click to expand...
Click to collapse
Just to be clear, you definitely have find5.zip in the same folder as adb.exe?
Try this:
adb push find5.zip /data/media/0/find5.zip
mlin said:
Just to be clear, you definitely have find5.zip in the same folder as adb.exe?
Try this:
adb push find5.zip /data/media/0/find5.zip
Click to expand...
Click to collapse
Yeah I copied the rom to the exact folder. I am gonna have to get in the bed I gotta be at work soon. I'll try this tomorrow with a fresh rom download. Do I need to be on any specific screen in twrp other than the home screen?
unstab1e1199 said:
Yeah I copied the rom to the exact folder. I am gonna have to get in the bed I gotta be at work soon. I'll try this tomorrow with a fresh rom download. Do I need to be on any specific screen in twrp other than the home screen?
Click to expand...
Click to collapse
I don't believe so but I'll try it on my phone to confirm. I'll post here when I find out. Good luck getting this figured out, sorry I wasn't able to help you get it fixed. Very bizarre.

Looking to hire tech $upport for Moto G7 Play --> /e/ Project Conversion

Money. $$$$$$$$$$$$$$$$$$$$$$
I need HELP in de-soft-bricking my Moto Play G7 and installing the /e/ project (or perhaps other Linux-based build), and I am willing to PAY for tech support to walk me through it (ideally via Skype or Zoom platform). Here are a few more specifics:
I bought a used Moto G7 Play that was updated by a developer from Android 9 to Android 10. I followed tutorials to unlock the phone and install TWRP via ADB but ran into problems, as far as I can tell, due to the Motorola A-B slot issue (it says "No bootable A/B slot, failed to boot Linux, falling back to fastboot" when I try to reboot). I can no longer recover the phone to Android or reset it to "factory" settings via the bare-bones Android and Motorola phone menus, but I remain able to issue commands via ADB / USB and also navigate to the G7's bootloader menus by using the buttons on the side of the phone. As for my PC platforms, I am running Win 10 (with ADB) but I also have Ubuntu running (so I could format SD cards to ext4 if that would help), and I have Android studio installed (not as if I know what to do with it), if that would be of any help. As far as I can tell, ADB and the Motorola USB drivers are working fine, and I USUALLY get positive indication when I type "adb devices", and I can always get the phone to acknowledge that the USB is connected/disconnected.
I don't know if this will help, but as I try to do the ADB sideload for copy-partitions.zip, this is where things don't work, as my Moto G7 play screen says:
Finding update package…
Opening update package…
Verifying update package…
E:footer is wrong
Update package verification too 0.2 s (result 1).
E: Signature verification failed
E: error:21
Installation aborted.
From there, it seems I can't go on to flash the TWRP image. Any ideas how I can work past these problems? Let me know how I can contact you via the forum and we can work $omething out. I'm guessing that this is a fast fix for someone who knows what they are doing. I'm sick of google and don't want to accept defeat! Thanks, -Andrew
Try the motorola rescue assistant
When it not workling download for your device the firmware
Instead of flashing TWRP, have you tried just booting TWRP w/o flashing?
fastboot boot twrp.img
I ran into some problems with my Moto G7 Play; I didn't softbrick it, but several things fought back, so I'll pass along what may get you back on track. First of all, I cannot use Linux to connect via fastboot, so I had to use a Mac, you can use your Windows box. Secondly, TWRP does not officially have a version for the G7 Play. I used an unofficial one from an XDA forum member HERE. It only offers a black screen unless you flash dtmo.img. I didn't want to flash dtmo.img, so I just used the black screen and used adb commands to install Lineage (and /e/) via TWRP command line.
The steps are pulled from another XDA posting showing how to use TWRP command line:
1. Connect the phone in fastboot mode to the PC, run fastboot devices to make sure it is connected.
2. Type: fastboot set_active b
Then: fastboot boot <your_recovery.img>, e.g. fastboot boot twrp.img
<phone will reboot, the screen will be black>
<wait to Windows new device sound>
3. Type: adb shell
twrp wipe cache << will not work on Moto G7 Play, but won't hurt anything.
twrp wipe dalvik
twrp wipe system
twrp wipe data <- NOW YOUR DATA WILL BE REMOVED, SO MAKE A BACKUP BEFORE!
twrp sideload
adb sideload <location_of_your_ROM.zip>, e.g. adb sideload C:\lineage-xyz.zip
IF THE TWRP commands do not work and hang saying something about "starting TWRP", I discovered by looking at the log in /tmp that /sdcard is encrypted. You will need to unencrypt /sdcard and I'm not sure how to do that without recovery; I'm sure there is way, though.
If I were you, I would see if you can flash LineageOS (or lineageOS + microG) with this method to get your phone back working, then you can move on to /e/. Note that if this works, you will have a recovery program available (the standard Lineage recovery), which has some basic tools. You CAN ONLY load Lineage-signed roms with this recovery. So if you want to switch from lineage to /e/ or to lineage+microG, you will need to use the twrp method above to switch to the other rom. Then you can use the lineage or /e/ recovery to install lineage or /e/ updates from the same publisher.
Also, if you install stock lineage, don't use a bleeding edge version. Pick one from mid-October so if you decide to switch to /e/ or Lineage+microG you will not be downgrading because they don't make nightly builds. It probably won't hurt since downgrading a week probably has few changes, but just in case.
Hope this helps.
maw1 said:
Try the motorola rescue assistant
When it not workling download for your device the firmware
Click to expand...
Click to collapse
I tried the Motorola Device Manager tool. Not sure if I made a good backup to begin with, and now I try to open the tool it doesn't seem to do anything.
xtermmin said:
Instead of flashing TWRP, have you tried just booting TWRP w/o flashing?
fastboot boot twrp.img
Click to expand...
Click to collapse
Tried that... It says it FAILED.
C:\adb>fastboot boot twrp.img
downloading 'boot.img'...
OKAY [ 0.427s]
booting...
FAILED (remote failure)
finished. total time: 1.054s
Exinu said:
I ran into some problems with my Moto G7 Play; I didn't softbrick it, but several things fought back, so I'll pass along what may get you back on track. First of all, I cannot use Linux to connect via fastboot, so I had to use a Mac, you can use your Windows box. Secondly, TWRP does not officially have a version for the G7 Play. I used an unofficial one from an XDA forum member HERE. It only offers a black screen unless you flash dtmo.img. I didn't want to flash dtmo.img, so I just used the black screen and used adb commands to install Lineage (and /e/) via TWRP command line.
The steps are pulled from another XDA posting showing how to use TWRP command line:
1. Connect the phone in fastboot mode to the PC, run fastboot devices to make sure it is connected.
2. Type: fastboot set_active b
Then: fastboot boot <your_recovery.img>, e.g. fastboot boot twrp.img
<phone will reboot, the screen will be black>
<wait to Windows new device sound>
3. Type: adb shell
twrp wipe cache << will not work on Moto G7 Play, but won't hurt anything.
twrp wipe dalvik
twrp wipe system
twrp wipe data <- NOW YOUR DATA WILL BE REMOVED, SO MAKE A BACKUP BEFORE!
twrp sideload
adb sideload <location_of_your_ROM.zip>, e.g. adb sideload C:\lineage-xyz.zip
IF THE TWRP commands do not work and hang saying something about "starting TWRP", I discovered by looking at the log in /tmp that /sdcard is encrypted. You will need to unencrypt /sdcard and I'm not sure how to do that without recovery; I'm sure there is way, though.
If I were you, I would see if you can flash LineageOS (or lineageOS + microG) with this method to get your phone back working, then you can move on to /e/. Note that if this works, you will have a recovery program available (the standard Lineage recovery), which has some basic tools. You CAN ONLY load Lineage-signed roms with this recovery. So if you want to switch from lineage to /e/ or to lineage+microG, you will need to use the twrp method above to switch to the other rom. Then you can use the lineage or /e/ recovery to install lineage or /e/ updates from the same publisher.
Also, if you install stock lineage, don't use a bleeding edge version. Pick one from mid-October so if you decide to switch to /e/ or Lineage+microG you will not be downgrading because they don't make nightly builds. It probably won't hurt since downgrading a week probably has few changes, but just in case.
Hope this helps.
Click to expand...
Click to collapse
Thanks for the effort, Exinu, but it seems to not fully recognize the command or is looking for another flag or operand. The "set_active b" command that you proposed just results in making a list like for a "help" or unspecified command. As you can see below, I tried other variations of the command after I tried searching out more details. I also tried "fastboot set_active=b" and it does the same thing with the listing. I'm assuming that it's not accepting this command. I did try the twrp-dirtyport image as well, but as you can see below, that created an error as well:
C:\adb>fastboot --set_active b
fastboot: unknown option -- set_active
C:\adb>fastboot --set-active=b
fastboot: unknown option -- set-active=b
C:\adb>fastboot set_active b
usage: fastboot [ <option> ] <command>
commands:
update <filename> reflash device from update.zip
flashall flash boot, system, vendor and if found,
recovery
flash <partition> [ <filename> ] write a file to a flash partition
flashing lock locks the device. Prevents flashing partitions
flashing unlock unlocks the device. Allows user to flash any partition except the ones that are related to bootloader
flashing lock_critical Prevents flashing bootloader related partitions
flashing unlock_critical Enables flashing bootloader related partitions
flashing get_unlock_ability Queries bootloader to see if the device is unlocked
erase <partition> erase a flash partition
format[:[<fs type>][:[<size>]] <partition> format a flash partition.
Can override the fs type and/or
size the bootloader reports.
getvar <variable> display a bootloader variable
boot <kernel> [ <ramdisk> ] download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it
devices list all connected devices
continue continue with autoboot
reboot [bootloader] reboot device, optionally into bootloader
reboot-bootloader reboot device into bootloader
help show this help message
options:
-w erase userdata and cache (and format
if supported by partition type)
-u do not first erase partition before
formatting
-s <specific device> specify device serial number
or path to device port
-l with "devices", lists device paths
-p <product> specify product name
-c <cmdline> override kernel commandline
-i <vendor id> specify a custom USB vendor id
-b <base_addr> specify a custom kernel base address.
default: 0x10000000
-n <page size> specify the nand page size.
default: 2048
-S <size>[K|M|G] automatically sparse files greater
than size. 0 to disable
C:\adb>​
I did try the next step with the dirtyboot but that seem to have failed as well.
C:\adb>fastboot boot twrp-dirtyport-g7play.img
downloading 'boot.img'...
OKAY [ 0.570s]
booting...
FAILED (status read failed (Too many links))
finished. total time: 1.566s​
On my phone on the "Bootloader logs" screen, it said (before I began)
Start Up Failed:​Your device didn't stat up successfully.
Use the Software Repair Assistant on computer to repair your device.
Connect your device to your computer to get
the Software Repair Assistant.
AP Fastboot Flash Mode (Secure)
No bootable A/B slot
Failed to boot Linux, falling back to fastboot
Fastboot Reason: Fall-through from normal boot mode
USB Connected​
I then typed fastboot devices from my windows C:\ADB prompt and it showed me it was connected.
After running the stuff mentioned above, it said:
cmd: download:01348000
cmd: boot
Incomplete boot image for booting.
I disconnected and reconnect the USB and then I tried the fastloading of the dirtyport image again. The screen went blank and said the same stuff again with no bootable A/B slot, which leaves me to believe this is where my problem starts.
Any other ideas?
Any ideas
I think you may have several issues that need to be fixed one step at a time. First, I think you have an old fastboot if it doesn't recognize the set_active command. Go to this link: https://developer.android.com/studio/ and scroll down to the section labeled "Command Line tools only" and download the command line tools. Make sure you are in that directory in Windows so you are running the newer version and not the old version installed. If you run "fastboot --help" you should see set_active as an option.
Next, where did you get the TWRP? Go to the link I provided, which has a (black screen) TWRP that I have used and it works. Start from there and see how things proceed.
Exinu said:
I think you may have several issues that need to be fixed one step at a time. First, I think you have an old fastboot if it doesn't recognize the set_active command. Go to this link: https://developer.android.com/studio/ and scroll down to the section labeled "Command Line tools only" and download the command line tools. Make sure you are in that directory in Windows so you are running the newer version and not the old version installed. If you run "fastboot --help" you should see set_active as an option.
Next, where did you get the TWRP? Go to the link I provided, which has a (black screen) TWRP that I have used and it works. Start from there and see how things proceed.
Click to expand...
Click to collapse
I got the TWRP from the link that you provided. As for running "fastboot --help", I did not see the "set_active" flag listed as an option (results pasted below). I also tried to download the command line tools as suggested, but not positive as to which directory they are to reside in, or which of the files I should launch. I unzipped the commandlinetools directory (in my adb directory) and tried running the sdkmanager.bat batch file which was nested in one of the subdirectories (it briefly opened and flashed a window but seemed to do nothing more). Not sure if this matters, but I also have android studio installed, although I am not sure how or where the "set_active" command comes from. I tried downloading windows latest PowerShell, and have also tried CMD as adminstrator. From my searching, I see people using "--set-active" with android commands as well, but I really don't know if this is a MS/DOS based command that is used for controlling drives and partitions on the Windows system, or if it's an adhock SDK - Linux add-on command of sorts. I can't seem to find much info on the command.
This is how it reads:
PS C:\adb> fastboot --help
usage: fastboot [ <option> ] <command>
commands:
update <filename> reflash device from update.zip
flashall flash boot, system, vendor and if found,
recovery
flash <partition> [ <filename> ] write a file to a flash partition
flashing lock locks the device. Prevents flashing
partitions
flashing unlock unlocks the device. Allows user to
flash any partition except the ones that are related to bootloader
flashing lock_critical Prevents flashing bootloader related
partitions
flashing unlock_critical Enables flashing bootloader related
partitions
flashing get_unlock_ability Queries bootloader to see if the device is unlocked
erase <partition> erase a flash partition
format[:[<fs type>][:[<size>]] <partition> format a flash partition.
Can override the fs type and/or
size the bootloader reports.
getvar <variable> display a bootloader variable
boot <kernel> [ <ramdisk> ] download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it
devices list all connected devices
continue continue with autoboot
reboot [bootloader] reboot device, optionally into bootloader
reboot-bootloader reboot device into bootloader
help show this help message
options:
-w erase userdata and cache (and format
if supported by partition type)
-u do not first erase partition before
formatting
-s <specific device> specify device serial number
or path to device port
-l with "devices", lists device paths
-p <product> specify product name
-c <cmdline> override kernel commandline
-i <vendor id> specify a custom USB vendor id
-b <base_addr> specify a custom kernel base address.
default: 0x10000000
-n <page size> specify the nand page size.
default: 2048
-S <size>[K|M|G] automatically sparse files greater
than size. 0 to disable
PS C:\adb>​
PS C:\adb> set_active
set_active : The term 'set_active' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ set_active
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (set_active:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Any other ideas?
The command-line tools download should not require any installation; at least, the Mac version did not. Unzip the file to your desktop. Then open a command prompt which should open in c:\Users\your_user . Enter "cd Desktop" to change to the Desktop folder, then cd <foldername> to change into the folder you unzipped the files into. Windows will sometimes unzip a folder into a second folder, so you may need to cd <foldername> once more. In any case, enter "dir" to make sure you see files like fastboot.exe, adb.exe, etc.
In Windows, when you type a command it will first look to your current directory and run the exe file that exists there, if it exists. If it does not, then it starts looking for the command in your %PATH% environment variable. That's why you need to "cd" to the tools directory: when you run "fastboot", you want it to run fastboot.exe in that directory, and not the old fastboot.exe that is installed somewhere on your system.
It sounds like you haven't worked with the command line much; I suggest you go through some tutorials on basic command line usage for both Windows and Linux; it will make tinkering with computers and phones much easier. And set_active is not a DOS/Windows command, it is parameter you are passing to fastboot.exe to tell it what action you want it to do; it just also calls these actions "commands". So when you typed c:>set_active, you told Windows to find a file called set_active.exe and run it. That file does does not exist, so it did not work.
Quick note: the Unix command line will not run a command from the current directory for multiuser security reasons; you need to specify the current directory (dot) and a slash on the command like this: ./fastboot
This will also work with DOS/Windows, but usually the backslash is used instead of the forward slash, for very old historical reasons.
Exinu said:
The command-line tools download should not require any installation; at least, the Mac version did not. Unzip the file to your desktop. Then open a command prompt which should open in c:\Users\your_user . Enter "cd Desktop" to change to the Desktop folder, then cd <foldername> to change into the folder you unzipped the files into. Windows will sometimes unzip a folder into a second folder, so you may need to cd <foldername> once more. In any case, enter "dir" to make sure you see files like fastboot.exe, adb.exe, etc.
In Windows, when you type a command it will first look to your current directory and run the exe file that exists there, if it exists. If it does not, then it starts looking for the command in your %PATH% environment variable. That's why you need to "cd" to the tools directory: when you run "fastboot", you want it to run fastboot.exe in that directory, and not the old fastboot.exe that is installed somewhere on your system.
It sounds like you haven't worked with the command line much; I suggest you go through some tutorials on basic command line usage for both Windows and Linux; it will make tinkering with computers and phones much easier. And set_active is not a DOS/Windows command, it is parameter you are passing to fastboot.exe to tell it what action you want it to do; it just also calls these actions "commands". So when you typed c:>set_active, you told Windows to find a file called set_active.exe and run it. That file does does not exist, so it did not work.
Quick note: the Unix command line will not run a command from the current directory for multiuser security reasons; you need to specify the current directory (dot) and a slash on the command like this: ./fastboot
This will also work with DOS/Windows, but usually the backslash is used instead of the forward slash, for very old historical reasons.
Click to expand...
Click to collapse
Exinu, thanks for your continued assistance. As it turns out the fastboot/adb version I was using didn't include the "set_active" command (I don't think it was a path problem as I was always typing commands from the in directory where the ADB software was downloaded). As I had tried to follow a number of different tutorials of the course of several weeks, some for the G7 play, and perhaps some for the G7 and others generic, I think the place on the web that I went for the original ADB package (or the ADB version) was the problem. I also found another copy of ADB on my drive (downloaded weeks ago) that was titled "Minimal ADB and Fastboot", and as it turns out, that version DID support the set_active operand (from the fastboot --help command). So, I was able to return to your initial directions to set the active partion to b as initially instructed (see below, but the phone also shows that the set_active:b command seemed to process without error). However, I was not able to do the next step of flashing the TWRP. I tried the TWRP version you suggested and linked to (the dirtyport version) and then also the "channel" version, which I understand to be designed for the G7 play, unlike the "river" version. In either case (dirtyport or channel) I get a new/different "usage: unknown command" error, as seen in text pasted below:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot set_active b
Setting current slot to 'b'...
OKAY [ 0.176s]
finished. total time: 0.178s
C:\Program Files (x86)\Minimal ADB and Fastboot>dir
Volume in drive C has no label.
Volume Serial Number is EC2B-BC54
Directory of C:\Program Files (x86)\Minimal ADB and Fastboot
2020-11-27 01:42 PM <DIR> .
2020-11-27 01:42 PM <DIR> ..
2018-01-11 06:53 PM 1,784,320 adb.exe
2018-01-11 06:53 PM 97,792 AdbWinApi.dll
2018-01-11 06:53 PM 62,976 AdbWinUsbApi.dll
2015-08-09 01:50 PM 29,882 cmd-here.exe
2018-01-11 06:53 PM 853,504 fastboot.exe
2020-08-17 02:31 AM 1,456,678 logo.bin
2020-08-15 11:25 PM 27,848,704 twrp
2020-09-03 02:52 AM 27,133,952 twrp-dirtyport-g7play.img
2020-08-16 01:12 AM 17,307,289 twrp-installer-3.4.0-0-river.zip
2020-11-17 04:21 AM 23,298,048 twrp-moto-g7-play-channel-android-10.img
2020-08-15 11:25 PM 27,848,704 twrp.img
2020-11-27 01:27 PM 5,004 unins000.dat
2020-11-27 01:26 PM 717,985 unins000.exe
13 File(s) 128,444,838 bytes
2 Dir(s) 28,010,246,144 bytes free
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot twrp-dirtyport-g7play.img
fastboot: usage: unknown command twrp-dirtyport-g7play.img
Granted, I'm not a command line expert, but I have been playing with computers since the TRS-80 and the C64 and Apple IIe, and 8086 DOS stuff, and used to do QBasic programming as a kid, so in most cases, I can usually navigate myself through some hairy computer instructions to do whatever I need to do, unless the instructions themselves are hairy. I find that the Android Dev forums are predicated upon some knowledge of those platforms and are a rude awakening for those unfamiliar with the development history and architecture. Obviously, I'm going to extremes to try to de-google an Android phone (frankly I would be happier if there was more stuff on the market that already was preinstalled), as this google censorship and proposed contract tracing stuff is just getting out of hand and going too far... so this is my way of fighting back. I'd rather know nothing about ADB, but here I am.
Is there any chance you know how or why I am getting the "fastboot: usage: unknown command twrp..." error above, or how I can resolve it?
You are getting close. Your fastboot entry is a little off. It should be >fastboot boot <filename.img>. If the twrp img file is not in the current directory, you will need to provide the full path.
Exinu said:
You are getting close. Your fastboot entry is a little off. It should be >fastboot boot <filename.img>. If the twrp img file is not in the current directory, you will need to provide the full path.
Click to expand...
Click to collapse
OK, so that was a head-slapping "duh" moment on my end (using fastboot filename.img instead of fastboot boot filename.img). However, now that I've entered the right command I'm still having problems. As you indicate in your post above, the "fastboot boot" command did initiate the sequence, and the screen did go black, however, one of the screens that it went to only said "bad key" at the upper left hand corner.
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot boot twrp-dirtyport-g7play.img
downloading 'boot.img'...
OKAY [ 0.575s]
booting...
FAILED (status read failed (Too many links))
finished. total time: 1.580s​
As for my phone screen, it goes black and cycles saying "bad key" a few times, and after a few attempts it reverts to the Bootload logs screen, giving the same message it did that I started with.
Start Up Failed​
Your device didn't start up successfully.
Use the Software Repair Assistant on computer
to repair your device.
Connect you device to your computer to get
the Software Repair Assistant. ​AP Fastboot Flash Mode (Secure)
No bootable A/B slot
Failed to boot Linux, falling back to fastboot
Fastboot Reason: Fall-through from normal boot mode
USB Connected​
Exinu said:
You are getting close. Your fastboot entry is a little off. It should be >fastboot boot <filename.img>. If the twrp img file is not in the current directory, you will need to provide the full path.
Click to expand...
Click to collapse
OK, I after the "dirtyport" image didn't work, I went out on a limb and tried to flash a different img file, (first doing the set_active b command), typing:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot boot twrp-moto-g7-play-channel-android-10.img
downloading 'boot.img'...
OKAY [ 0.496s]
booting...
OKAY [ 0.178s]
finished. total time: 0.679s​It briefly flashed the Moto screen and then went black. After this, with the black screen, it seemed like it was able to the "adb shell" command, although it seemed to not be able to take the TWRP commands:
C:\Program Files (x86)\Minimal ADB and Fastboot>adb shell
* daemon not running; starting now at tcp:5037
* daemon started successfully
channel:/ # twrp wipe cache
Unable to find partition for path '/cache'
Done processing script file
channel:/ # twrp wipe dalvik
Failed to mount '/data' (Invalid argument)
Done processing script file
channel:/ # twrp wipe system
E:Error with wipe command value: 'system'
Done processing script file
channel:/ # twrp wipe data
Failed to mount '/data' (Invalid argument)
Done processing script file
channel:/ # twrp sideload
C:\Program Files (x86)\Minimal ADB and Fastboot>adb sideload lineage-17.1-20201129-nightly-channel-signed.zip
Total xfer: 1.00x​
After this point it went back to the "bad key" and return to the Bootloger logs screen.
I'm assuming at this point if there is a failure in the TWRP command sequence (as suggested above) I shouldn't expect the latter commands to work. I also attempted to use the moto g7's built-in recovery menu that is available from pushing and holding the power and upper volume button. When I tried to "apply update from ADB" using the phone to initiate the effort, and then typed, C:\Program Files (x86)\Minimal ADB and Fastboot>adb sideload lineage-17.1-20201129-nightly-channel-signed.zip, the phone screen read as follows:
Supported APR: 3
Stopping adbd...
Now send the package you want to apply to the device with the "adb sideload ,filename"...
Finding update package...
Opening update package...
Verifying update package...
E: failed to verify whole-file signature Update package verification took 45.2 s (result 1).
E: Signature verification failed
E: error: 21
Installation aborted. ​
Exinu said:
You are getting close. Your fastboot entry is a little off. It should be >fastboot boot <filename.img>. If the twrp img file is not in the current directory, you will need to provide the full path.
Click to expand...
Click to collapse
Even though I was getting errors after the "WIPE" command, it seems like the adb shell is bringing about a linux-esque terminal of the channel image and I can see the files/directories. Using the LS command it seems that the folders you are mentioned are empty, with the exception that there is no "dalvik" directory:
C:\Program Files (x86)\Minimal ADB and Fastboot>adb shell
channel:/ # twrp
TWRP openrecoveryscript command line tool, TWRP version 3.3.1-0
Allows command line usage of TWRP via openrecoveryscript commands.
Some common commands include:
install /path/to/update.zip
backup <SDCRBAEM> [backupname]
restore <SDCRBAEM> [backupname]
wipe <partition name>
sideload
set <variable> [value]
decrypt <password>
remountrw
fixperms
mount <path>
unmount <path>
print <value>
mkdir <directory>
reboot [recovery|poweroff|bootloader|download|edl]
See more documentation at https://twrp.me/faq/openrecoveryscript.html
channel:/ # ls
acct config etc init.rc init.recovery.usb.rc persist plat_service_contexts res sideload tmp vendor_file_contexts vndservice_contexts
bin d external_sd init.recovery.hlthchrg.rc license plat_file_contexts postinstall root storage twres vendor_hwservice_contexts
bugreports data file_contexts.bin init.recovery.mksh.rc mnt plat_hwservice_contexts proc sbin sys ueventd.rc vendor_property_contexts
cache default.prop firmware init.recovery.qcom.rc odm plat_property_contexts product sdcard system usb_otg vendor_seapp_contexts
charger dev init init.recovery.service.rc oem plat_seapp_contexts prop.default sepolicy system_root vendor vendor_service_contexts​
Here are the directory contents:
channel:/ # cd data
channel:/data # ls
channel:/data # cd /
channel:/ # cd cache
channel:/cache # ls
channel:/cache # cd /
channel:/ # cd system
channel:/system # ls
channel:/system # cd /
channel:/ # cd dalvik
/sbin/sh: cd: /dalvik: No such file or directory​
When you went into recovery mode, was it Motorola's stock recovery or LineageOS's recovery (with the Lineage logo (the three circles))?
In any case, at least you have a working recovery. Error 21 simply means that the signature is on the firmware file is not what it was expecting. If you have a Motorola recovery, then it expects a Motorola-signed firmware. If it is the Lineage recovery, then it will only flash Lineage-signed firmware.
Your TWRP sideload command sure looks like it worked when it loaded the firmware, but if it had worked, you would have LineageOS recovery and it would say current slot: a. I don't remember if the stock Motorola recovery displays the current slot. When you tell fastboot to set_active b, it sets the current slot to b and then when you install the firmware it installs the firmware to slot a.
Exinu said:
When you went into recovery mode, was it Motorola's stock recovery or LineageOS's recovery (with the Lineage logo (the three circles))?
In any case, at least you have a working recovery. Error 21 simply means that the signature is on the firmware file is not what it was expecting. If you have a Motorola recovery, then it expects a Motorola-signed firmware. If it is the Lineage recovery, then it will only flash Lineage-signed firmware.
Your TWRP sideload command sure looks like it worked when it loaded the firmware, but if it had worked, you would have LineageOS recovery and it would say current slot: a. I don't remember if the stock Motorola recovery displays the current slot. When you tell fastboot to set_active b, it sets the current slot to b and then when you install the firmware it installs the firmware to slot a.
Click to expand...
Click to collapse
Exinu,
It looks like the fastboot set_active b command worked, in that my phone acknowledged it did, and the command prompt seemed to indicate the same. As for the phone screen, the Moto splash screen that flashed quickly (probably less than 1 second) did not have any hint of Lineage logo. I tried repeating the process and saw the logo a total of 3x. It was the C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot boot twrp-moto-g7-play-channel-android-10.img command that got me there (the "dirtyport" image you suggested didn't work) and it was before the attempt to flash the lineage image.
However, as for the ADB SHELL commands that you recommended, it didn't seem like they were doing what one might expect. Subsequent to the attempted TWRP commands in the shell, I tried to sideload the lineage system but it would not take, saying "bad key" on the upper LH side of the screen.
Is it possible that prior image flashing attempts have left some incompatible clutter on my phone (perhaps visible by means of exploring other folders or folder names via the ADB SHELL)? I've been working with Raspberry PI's and PC based OMV / Nextcloud servers in recent months and perceive that new installs seem inclined to revert to old files on occasion if not thoroughly formatted.
One thing I forgot to mention: since you are installing Lineage, you can use the Lineage recovery to install it. TWRP is only necessary for /e/ or other roms that do not have their own recovery. Try "fastboot boot" but specify the lineage recovery file.
Also, now that I review things again, I may have used this TWRP instead of the "dirty port" version. I don't know if it will make a difference, but it might be worth a try. Sorry, I guess I have too many irons in the fire right now and got it mixed up. Scroll down to abou t the third or forth comment and there is a google drive link. You just need the recovery.img. Do not flash the dtmo.img, just fastboot/boot the recovery image: https://forum.xda-developers.com/t/...y-custom-recovery-kernel-source-code.3933680/

Categories

Resources