• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root I want to root but there's too many choices!

hortstu

Android Enthusiast
Jun 29, 2010
548
32
So I started a thread a week ago about rooting my 2.1 evo. I use exclusively linux ubuntu 10.04. I was told in that thread to wait a day for unrevoked 3 to come back but that was like a week ago. I've been reading about root nonstop for a week now and feel like I'm understanding the different aspects a little better but still have no idea where to start.

I want a full root, I think I want to unlock nand, I want to be able to try custom ROMs and kernels. I want to root sooner than later.

Can anyone show me where to start? Please note, linux user and still running 2.1
 
first step is to get adb working. Download and install the Android SDK for linux. the adb executable comes bundled with the SDK and it's the only part you will need. it's in the [android sdk home]/tools folder.

Once the SDK is installed, go to that tools folder and try to run adb:

./adb devices

and see if it can find your phone. Make sure your phone is plugged in via USB, debug is enabled, and the SD card is mounted as charge only.

-edit-
I only work with linux at work. I have no interest running it for home use. As hated as Microsoft is, the fact remains that most software is written for windows, and I'm not willing to give up that convenience. Case in point: Simpleroot :)

I love linux though. sturdy as hell. exactly what you want for the base of an enterprise-level server.
 
  • Like
Reactions: hortstu
Upvote 0
Novox, thanks for showing up. I've seen how helpful you are in other threads and I have to say you've already helped me a lot.

first step is to get adb working. Download and install the Android SDK for linux. the adb executable comes bundled with the SDK and it's the only part you will need. it's in the [android sdk home]/tools folder.

I downloaded and extracted the files to my home folder. Was having trouble getting anywhere from there.

Once the SDK is installed, go to that tools folder and try to run adb:

I don't have a run option. I have an open option and my OS doesn't know what program to open it with. Are you suggesting that I open a terminal and enter this command? I'm gonna try it before you respond.

./adb devices

and see if it can find your phone. Make sure your phone is plugged in via USB, debug is enabled, and the SD card is mounted as charge only.

Not sure how to mount the sd as charge only, assume that's the screen that pops up giving me 4 options? I'll try that. Didn't realize it was referring to the sd card.

-edit-
I only work with linux at work. I have no interest running it for home use. As hated as Microsoft is, the fact remains that most software is written for windows, and I'm not willing to give up that convenience. Case in point: Simpleroot :)

As much as I wish I could simple root just to get it done I really want some understanding of what I'm doing and what's going on. Thanks for your help.

I love linux though. sturdy as hell. exactly what you want for the base of an enterprise-level server.

Yeah I just can't bring myself to pay so much for an OS when this is so good, and if I really need something there is wine, I wonder if that would work with simpleroot?
 
Upvote 0
if I try this without the "./" here's what I get

mike@mike-laptop:~$ adb shell rm /data/local/rights/mid.txt
No command 'adb' found, did you mean:
Command 'cdb' from package 'tinycdb' (main)
Command 'gdb' from package 'gdb' (main)
Command 'aub' from package 'aub' (universe)
Command 'dab' from package 'bsdgames' (universe)
Command 'zdb' from package 'zfs-fuse' (universe)
Command 'mdb' from package 'mono-debugger' (universe)
Command 'tdb' from package 'tads2-dev' (multiverse)
Command 'pdb' from package 'python' (main)
Command 'jdb' from package 'openjdk-6-jdk' (main)
Command 'ab' from package 'apache2-utils' (main)
adb: command not found
mike@mike-laptop:~$
 
Upvote 0
Charge only, usb plugged in, I made a "my backup" and then copied it to desktop and switched to charge only afterwards so I know I'm connected. debugging is on.

mike@mike-laptop:~$ ./adb devices
bash: ./adb: No such file or directory
mike@mike-laptop:~$

Did you make sure you were in the SDK's /tools directory before you ran ./adb devices?
 
Upvote 0
Not sure how to navigate there via terminal, I'm very new to the terminal novox.

lol, ok, here's a quick primer. but i have to go to bed. way too late for me.

cd changes a directory
ls -al will list all files in a directory.
./ in front of a filename will attempt to execute it. will only work with executable files. So ./adb means to run adb.
pwd shows you where you currently are

Looks like you got adb to run, but it didn't find your evo. I'm not sure what to do at this point TBH. It appears to be a driver issue, but I don't know how/where to get it for linux.
 
Upvote 0
I think I'm getting there!

Code:
mike@mike-laptop:~$ AndroidSDK/tools/adb
Android Debug Bridge version 1.0.26

 -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 ocmmand 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 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 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.

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 priority over this if given.
  ANDROID_LOG_TAGS             - When used with the logcat option, only these debug tags are printed.
mike@mike-laptop:~$
 
Upvote 0
Looks like you got adb to run, but it didn't find your evo. I'm not sure what to do at this point TBH. It appears to be a driver issue, but I don't know how/where to get it for linux.

From what I understand no drivers are required with sdk or adb with linux. I think I'm just stumbling through the dark here. I appreciate your help. Check in on me again when you have time.

Thanks
 
Upvote 0
OK so here's where I'm at. Entered this code from the thread suggested by Gabbott

Code:
mike@mike-laptop:~$ AndroidSDK/tools/adb shell rm /data/local/rights/mid.txt
mike@mike-laptop:~$ AndroidSDK/tools/adb shell ln -s /dev/mtd/mtd1 /data/local/rights/mid.txt
mike@mike-laptop:~$ AndroidSDK/tools/adb reboot

The EVO rebooted! I don't know what I did but I did something.
 
Upvote 0
Allright after this I'm really going to sleep.

I tried getting root with toasts method, started here

Code:
mike@mike-laptop:~$ AndroidSDK/tools/adb push PC36IMG.zip /sdcard
cannot stat 'PC36IMG.zip': No such file or directory
mike@mike-laptop:~$

Apparently I'm doing something wrong.

First if anyone can tell me what to do so that I don't have to enter "AndroidSDK/tools/" before every command I would appreciate it.

2nd I'm lost. I think maybe the zip file isn't in the right location but I don't know where to put it. I open all downloads to me desktop so I tried the command first with it there. Then I moved it to my the androidSDK folder in my home folder. I actually put it in the same folder as adb, tools. I never extracted it because I figure I'm just pushing it to the SD card and that would make the process take longer.

I hope to see some suggestions here tomorrow. Thanks again.
 
Upvote 0
Well after dragging the zip file to my sdcard I shutdown and restarted, for some reason I needed to pop the battery out and in to get it to restart while holding power down. Then I ended up at that boot screen. It asked me the questions just like this link said it would and I answered them just like this link told me to.

[TUTORIAL] How To Root The HTC EVO ~ Part-1 \0/ - xda-developers

Dragging worked... I'd still like to know what I was doing wrong with my terminal commands.
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones