[GUIDE] Setting up ADB and fastboot on ChromeOS using Crouton - Android Software/Hacking General [Developers Only]

**I TAKE NO RESPONSIBILITY FOR WHATEVER HAPPENS TO YOUR CHROMEBOOK.**
Follow this guide at your own risk
First, I would like to say that I have no built anything myself. All the work shown here has been compiled from the internet.
Second, I am no expert at this kind of thing but I have tried out everything myself and this is what has worked for me with Acer C7. ADB and fastboot work without any problems on my computer.
Third, this can actually go beyond just ADB and fastboot. You can develop with minimal restraints, but I will only be covering how to install ADB and fastboot.
Finally, I would appreciate if someone familiar with all of this would tell me what I can cut out/add as this was done by a trial and error process so I’m not entirely too sure what is necessary and what is not, or if there is an easier way of going about things.
This is a guide for anyone who wants to be able to run ADB and fastboot on their chromebook. Just note that it may take a lot of memory (it took around 4-5 GB for me), so you may want to install it on an SD card.
WARNING!
In order to run crouton and install Ubuntu you will have to go into developer mode which will wipe your device.
Instructions can be found here: http://www.chromium.org/chromium-os/poking-around-your-chrome-os-device
You can work with virtual terminal 2 or crosh shell. I recommend using a crosh shell because it’d be easier to look back here for info.
Files you’ll need (Choose according to 32 or 64 bit)
Crouton- http://goo.gl/fd3zc (Official site: https://github.com/dnschneid/crouton)
Android SDK- http://dl.google.com/android/adt/adt-bundle-linux-x86-20131030.zip OR http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20131030.zip (Official Site: https://developer.android.com/sdk/index.html?hl=sk )
JDK- http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.tar.gz or http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz
I will not go over the actual installation of crouton as that can be found here: https://github.com/dnschneid/crouton
I used precise and xfce:
Code:
-e ~/Downloads/crouton -t xfce
Okay now that you have crouton installed and running, let’s get to work. First comes the installation of JDK. Download the version of JDK for your bit version and extract it. Go over to Ubuntu (using the command:
Code:
sudo startxfce4
) and using terminal emulator move it over to /usr/lib/jvm with the code
Code:
sudo mv jdk1.7.0_51 /usr/lib/jvm/
Using the file manager go to /home/<USERNAME> and open the .bashrc file using gedit text editor and add this code at the end, DO NOT OVERWRITE ANYTHING
Code:
PATH=${PATH}:/usr/lib/jvm/jdk1.7.0_51/bin
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
Wit that, you are done with installing JDK.
Moving onto the actual Android SDK, first download it.
Extract it and move the SDK into /local/usr
Assuming that the file is in your Downloads directory, use the commands:
Code:
sudo mv adt-bundle-linux-x86-20130219 /usr/local/
Next you’ll make a symlink to make typing commands easier:
Code:
sudo ln -s /usr/local/adt-bundle-linux-x86-20130219/ /usr/local/adt
Then go back to the bashrc file and add this code at the end once again, DO NOT OVERWRITE ANYTHING:
Code:
PATH=/usr/local/adt/sdk/platform-tools:/usr/local/adt/sdk/tools:/usr/lib/jvm/jdk1.7.0_15/bin:/usr/local/gradle-1.4/bin:$PATH
ANDROID_HOME=/usr/local/adt/sdk
Save and close the file, and run the command “. ~/.profile” in terminal.
Run the code and answer with y:
Code:
sudo apt-get install ubuntu-standard
sudo apt-get install ubuntu-desktop
sudo apt-get install synaptic
sudo apt-get install ia32-libs
sudo apt-get update
This might take some time and when that finishes type in
android
If you get permission denied run the command:
Code:
chmod u+x android
This should launch the Android SDK Manager. Check the tools section and install. When this is done, you should have ADB up and running.
Check using the command:
Code:
adb version
or just by typing adb
if you get list of commands you can run, congratulations ADB has been installed successfully!
Now check fastboot by typing fastboot. Once again if you get a list of commands for fastboot, congratulations you're done!
You now have ADB and fastboot on your Chromebook!
You can PM me and I will try to help if you have questions, or reply to this post.
Enjoy! :good:

Excellent post. One quick question however. When I attempt to install ia32-libs I get this:
Code:
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
lib32z1 lib32ncurses5 lib32bz2-1.0
E: Package 'ia32-libs' has no installation candidate
My question is: Should I install all 3 replacement packages (lib32z1 lib32ncurses5 lib32bz2-1.0)? One of them?
This dude here says I can repackage it manually. Should I do that?
You rock for taking the time to post this!
Tanks so much!

I would install everything as it is replacement
This guide is a bit long and tedious so if you want here is an installer made by HeadFox that worked for me on Trusty Unity.
http://forum.xda-developers.com/showthread.php?t=2431956
cheers!

when i get to entering ~/.profile, I get a permission denied message. the only thing different that I know I did was use the android SDk from the Android studio currently available and not the zip you provided a link to and obviouslyh change the file paths accordingly. any thoughts

08BajaBoy said:
when i get to entering ~/.profile, I get a permission denied message. the only thing different that I know I did was use the android SDk from the Android studio currently available and not the zip you provided a link to and obviouslyh change the file paths accordingly. any thoughts
Click to expand...
Click to collapse
You basically want to run .profile again, which is run once you spawn your linux chroot/crouton. I think the easiest way is to just logout of your linux session and then run crouton again.
Yeah, that's sorta like a "just reboot it" fix but not actually a full reboot.

vanillaflavor said:
**I TAKE NO RESPONSIBILITY FOR WHATEVER HAPPENS TO YOUR CHROMEBOOK.**
Follow this guide at your own risk
First, I would like to say that I have no built anything myself. All the work shown here has been compiled from the internet.
Second, I am no expert at this kind of thing but I have tried out everything myself and this is what has worked for me with Acer C7. ADB and fastboot work without any problems on my computer.
Third, this can actually go beyond just ADB and fastboot. You can develop with minimal restraints, but I will only be covering how to install ADB and fastboot.
Finally, I would appreciate if someone familiar with all of this would tell me what I can cut out/add as this was done by a trial and error process so I’m not entirely too sure what is necessary and what is not, or if there is an easier way of going about things.
This is a guide for anyone who wants to be able to run ADB and fastboot on their chromebook. Just note that it may take a lot of memory (it took around 4-5 GB for me), so you may want to install it on an SD card.
WARNING!
In order to run crouton and install Ubuntu you will have to go into developer mode which will wipe your device.
Instructions can be found here: http://www.chromium.org/chromium-os/poking-around-your-chrome-os-device
You can work with virtual terminal 2 or crosh shell. I recommend using a crosh shell because it’d be easier to look back here for info.
Files you’ll need (Choose according to 32 or 64 bit)
Crouton- http://goo.gl/fd3zc (Official site: https://github.com/dnschneid/crouton)
Android SDK- http://dl.google.com/android/adt/adt-bundle-linux-x86-20131030.zip OR http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20131030.zip (Official Site: https://developer.android.com/sdk/index.html?hl=sk )
JDK- http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.tar.gz or http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz
I will not go over the actual installation of crouton as that can be found here: https://github.com/dnschneid/crouton
I used precise and xfce:
Code:
-e ~/Downloads/crouton -t xfce
Okay now that you have crouton installed and running, let’s get to work. First comes the installation of JDK. Download the version of JDK for your bit version and extract it. Go over to Ubuntu (using the command:
Code:
sudo startxfce4
) and using terminal emulator move it over to /usr/lib/jvm with the code
Code:
sudo mv jdk1.7.0_51 /usr/lib/jvm/
Using the file manager go to /home/<USERNAME> and open the .bashrc file using gedit text editor and add this code at the end, DO NOT OVERWRITE ANYTHING
Code:
PATH=${PATH}:/usr/lib/jvm/jdk1.7.0_51/bin
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
Wit that, you are done with installing JDK.
Moving onto the actual Android SDK, first download it.
Extract it and move the SDK into /local/usr
Assuming that the file is in your Downloads directory, use the commands:
Code:
sudo mv adt-bundle-linux-x86-20130219 /usr/local/
Next you’ll make a symlink to make typing commands easier:
Code:
sudo ln -s /usr/local/adt-bundle-linux-x86-20130219/ /usr/local/adt
Then go back to the bashrc file and add this code at the end once again, DO NOT OVERWRITE ANYTHING:
Code:
PATH=/usr/local/adt/sdk/platform-tools:/usr/local/adt/sdk/tools:/usr/lib/jvm/jdk1.7.0_15/bin:/usr/local/gradle-1.4/bin:$PATH
ANDROID_HOME=/usr/local/adt/sdk
Save and close the file, and run the command “. ~/.profile” in terminal.
Run the code and answer with y:
Code:
sudo apt-get install ubuntu-standard
sudo apt-get install ubuntu-desktop
sudo apt-get install synaptic
sudo apt-get install ia32-libs
sudo apt-get update
This might take some time and when that finishes type in
android
If you get permission denied run the command:
Code:
chmod u+x android
This should launch the Android SDK Manager. Check the tools section and install. When this is done, you should have ADB up and running.
Check using the command:
Code:
adb version
or just by typing adb
if you get list of commands you can run, congratulations ADB has been installed successfully!
Now check fastboot by typing fastboot. Once again if you get a list of commands for fastboot, congratulations you're done!
You now have ADB and fastboot on your Chromebook!
You can PM me and I will try to help if you have questions, or reply to this post.
Enjoy! :good:
Click to expand...
Click to collapse
Welldone mate!!

Related

Installing Debian + Gnome, KDE, IceWM or LXDE Desktop on your rooted G1!

Found an easy way to install Debian, resize the debian.img, and run a desktop on your rooted G1!
1. Installing Debain - has an installer.
For step 6. Do this instead:
Code:
# su
# ./installer.sh
OR
# su ./installer.sh
2. Resize debain.img
3. Installing Desktop
For those who run into problems or errors while installing/downloading tightvncserver and/or LXDE follow these modifications:
1. type:
Code:
cd /etc/apt
nano sources.list
2. add after the first one:
Code:
deb http://ftp.debian.org/debian lenny main contrib non-free
deb-src http://ftp.debian.org/debian lenny main contrib non-free
3. Hold down the trackball and hit o
4. Hit return (to save the new sources.list)
5. Hold the trackball and hit x (to exit nano)
6. Type (enter after each one):
Code:
apt-get update
apt-get install tightvncserver
apt-get install lxde
For Haykuro's builds [Thanks to buttkicker!]:
The procedure is same for 5.0.2H versions as well.
However, some files need to be modified.
I am attaching two sets of files.
Use as needed.
1: debian_v21-sdcard.zip
extract to /sdcard/debian
2: debian_v21-system-sd.zip
extract to /system/sd/debian (ext2 partition)
Replace the files in the original downloaded package with the ones in this post.
If you chose option 2, remember to type
Code:
cd /system/sd/debian
in step 4
Mirrors of Installer & debian.img:
Code:
http://mindsofwisemen.com/fileso/other/debian_v21.zip
http://www.filedropper.com/debianv21
Mirrors of Attached:
Code:
http://www.filedropper.com/debianv21-sdcard
http://www.filedropper.com/debianv21-system-sd
Thanks for this info, I'd also like to know if anyone hs tried it using the H build roms .... as apposed to JF's rom ... as stated in the instructions!
Thanks will try this on my G1 verry nice.
does this make a dual boot option? or how does it work?
no it doesn't. you run debian via the terminal emulator, then you run the Desktop app through a VNC viewer (i think, something like that anyway)
also this has been around for ages and doesn't have much use as all of them run stupidly slowly. (that being said, now we can get the processor running faster it might be better)
n1 on the guides though, much more helpful than trawling through countless threads
joeydsmith said:
does this make a dual boot option? or how does it work?
Click to expand...
Click to collapse
This is not dual boot. This runs Debian "like" an app running in the android Shell. Calls and everything will still work while in the debian.
Meltus said:
no it doesn't. you run debian via the terminal emulator, then you run the Desktop app through a VNC viewer (i think, something like that anyway)
also this has been around for ages and doesn't have much use as all of them run stupidly slowly. (that being said, now we can get the processor running faster it might be better)
n1 on the guides though, much more helpful than trawling through countless threads
Click to expand...
Click to collapse
Actually it isnt that "laggy" nor slow. Practical for developing code on the go. (you can have the gcc on here )
SatanR1 said:
Thanks for this info, I'd also like to know if anyone hs tried it using the H build roms .... as apposed to JF's rom ... as stated in the instructions!
Click to expand...
Click to collapse
I just finished installing on 5.0.2Gr3
The procedure is same for 5.0.2H versions as well.
However, some files need to be modified.
I am attaching two sets of files.
Use as needed.
1: debian_v21-sdcard.zip
extract to /sdcard/debian
2: debian_v21-system-sd.zip
extract to /system/sd/debian (ext2 partition)
Replace the files in the original downloaded package with the ones in this post.
If you chose option 2, remember to type
Code:
cd /system/sd/debian
in step 4.
buttkicker said:
I just finished installing on 5.0.2Gr3
The procedure is same for 5.0.2H versions as well.
However, some files need to be modified.
I am attaching two sets of files.
Use as needed.
1: debian_v21-sdcard.zip
extract to /sdcard/debian
2: debian_v21-system-sd.zip
extract to /system/sd/debian (ext2 partition)
Replace the files in the original downloaded package with the ones in this post.
If you chose option 2, remember to type
Code:
cd /system/sd/debian
in step 4.
Click to expand...
Click to collapse
Awesome...now everyone has instruction on how to acheive this
Everytime i do this when it comes to the bit of typing
su (hit return)
chmod 4755 *
UPDATED! 6.as root (or su) run the installer like this:
installer.sh
It says unable to chmod bootdeb: operation not permited when i do the 1st
then that means i cant install the last one
Anyhelp guys? i would really appreciate it please im not sure whether i should Downgraid back to JF? Ill miss the pros of Haykuros H build but if i can get debian workn then its worth it
Does anyone have a youtube video running debian with kde or gnome on their g1?
Oh my...zeezee, you are a girl and you know more about computer stuffs more than i do, it's a shame for me, so embarrassing, but anyways i'm stuck at installing LXDE, could you help me out? I have debian and vncserver installed but when i run this command, i got an error msg
localhost:/# vncserver -geometry 480x320
vncserver -geometry 480x320
bash: vncserver: command not found
Do you have idea how to solve this problem? i've been hours try to figure it out but i'm totally clueless.
phuthanvinh said:
Oh my...zeezee, you are a girl and you know more about computer stuffs more than i do, it's a shame for me, so embarrassing, but anyways i'm stuck at installing LXDE, could you help me out? I have debian and vncserver installed but when i run this command, i got an error msg
localhost:/# vncserver -geometry 480x320
vncserver -geometry 480x320
bash: vncserver: command not found
Do you have idea how to solve this problem? i've been hours try to figure it out but i'm totally clueless.
Click to expand...
Click to collapse
Did you install vnc server by running this?
Code:
apt-get install tightvncserver
and, did the installation finish without errors.
buttkicker said:
Did you install vnc server by running this?
Code:
apt-get install tightvncserver
and, did the installation finish without errors.
Click to expand...
Click to collapse
yes i did, but everytime i run a command to install something, there were always errors that the links are not valid (404). However I run get update fix missing file command afterward.
Still no reply then? hmmmm...
ben29pickett said:
Everytime i do this when it comes to the bit of typing
su (hit return)
chmod 4755 *
UPDATED! 6.as root (or su) run the installer like this:
installer.sh
It says unable to chmod bootdeb: operation not permited when i do the 1st
then that means i cant install the last one
Click to expand...
Click to collapse
can you try
Code:
su ./installer.sh
For those (like me) who get errors when apt-get'ing thightvncserver and/or lxde:
(from the thread at androidfanatic.com)
instructions
cd /etc/apt
nano sources.list
now add
deb http://ftp.debian.org/debian lenny main contrib non-free
deb-src http://ftp.debian.org/debian lenny main contrib non-free
after the first one
then hold down the trackball and hit o
then hit return (to save the new sources.list)
then hold the trackball and hit x (to exit nano)
then type
apt-get update
apt-get install tightvncserver
apt-get install lxde
That did the trick for me at least.
/Mats
its actually the seccond part i get an error on chmod 4755 * saying something not permited bla bla bla lol
Hay there. ok i have debian setup and lxde but when i got to the vnc and connect all i get is a gray screen can any body help?
i know this has already been adressed but i cant find the thread again.
Nice howto. Cheers

[HOWTO] Guide to running ADB under Fedora 11 (and equivalent distros)

Ok, I have fedora 11 installed on most of my computers, since i love this distro to death. My big thing was trying to get adb to work. This is my guide to get it to work, for now.
First things first. Navigate to /etc/udev/rules.d as root. Create a rules file called 50-android.rules (touch 50-android.rules). NOTE: You are better off looking at the contents and picking a rules number set other than what is listed. Sometimes udev is picky. For the newbies, so if any rules start with '50', then change the number by one or two, like 51 or 52. Paste this into the file:
Code:
SUBSYSTEM=="usb",ATTRS{idVendor}=="0bb4",SYMLINK+="android_adb",MODE="0666"
Make sure you use ATTRS, not ATTR or SYSFS, since this is a newer updated udev system.
After that, run udevadm control --reload-rules to reload your rules files. Now just run ./adb devices as root to make sure it recognized your HTC dream. I am working on this fix right now so you don't need to be root, keep patient. Now you can adb shell into your device either as root OR normal user, just as long as you start the server as root. This is a permissions problem, and hopefully I can fix this and/or find a fix soon.
I wrote this because i searched high and low through google, and only found a few good parts as far as a fix. Hopefully this helps a few people out there.
Just wondering if this has helped anyone. If not, delete this thread or do whatever with it....
I have adb on my eeepc 900 with f11 I believe this method works too as well. although it says it has been tested with ubuntu, it works pretty well with f11.
http://www.talkandroid.com/android-sdk-install-guide/
Installing The Android SDK
First you will need to download the Android SDK pack .zip archive, once downloaded find a suitable installation location on your machine and extract the zipped files.
Please note: This installation location will be referred to as $SDK_ROOT from now on through this tutorial
Alternatively you can add /tools to your root path which will prevent the need to specify the full path to the tools directory along with enabling you to run Android Debug Bridge (adb) along with other command line tools.
To add /tools:
Linux
1. Edit the ~/.bash_profile or ~/.bashrc files looking for a line that sets the PATH variable.
2. Add the full path location to your $SDK_ROOT/tools location for the PATH variable.
3. If no PATH line exists you can add the line by typing the following:
4. export PATH=${PATH}:<path to your $SDK_ROOT/tools>
Click to expand...
Click to collapse
It helped me, since the creation of the file my OpenSuSE 11.0 recognizes the phone perfectly
Thanks a lot for your hint.
thanks it helped me. ill be looking forward to getting it to work without root
just use sudo instead
Just a heads up for user's using Ubuntu 9.10, this isn't needed. I connected my G1 to it and ran ADB with no adjustments to udev or anything else.
Pretty much it works out of the box.
Here is my version
download the .tgz file from googlecode
http://developer.android.com/sdk/index.html
sudo tar -xzvf android-sdk_r3-linux.tgz
Click to expand...
Click to collapse
Code:
sudo gedit ~/.bash_profile
heres my bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH=$PATH:/android-sdk-linux/tools
Click to expand...
Click to collapse
logout
login
connect android g1 device via usb to pc
open a terminal
Code:
adb devices
if you cant get a device try it with superuser.
Don't you think that this is all just a little bit excessive?
To make it work in F11, just do this;
Download SDK, extract.
To use, type:
/path/to/sdk/tools/adb
Another option is to edit the /etc/profile and add
PATH=$PATH:/<Path to android-sdk>/tools
This option will allow any user to use the adb tools when logged in or if you
su -
into another user
I wrote a short guide as well for Windows and Ubuntu. Might help others.
Unfortunately, as anyone with a passing acquaintence with ADB knows, the scrolling issue can be a killer. I swear the other day I pressed "up" twice and it composed "rm /sdcard/rootfs.img /sdcard/system.ext2" and executed it. We run Android on our SD's btw.. Was not cool. Instead, I use ADB via telnet and it works beautifully. Here's how:
Code:
adb shell telnetd &
adb forward tcp:9999 tcp:23
Now type this: "telnet localhost 9999"
Enter "root" and hit enter
Finally update PATH: "export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/system/sbin:/system/bin:/system/xbin:/system/xbin/bb:/data/local/bin"
Okay, so 4 lines to enter and you have a "regular, sane" shell connection to the phone and you can actually scroll through history and text without it jumbling the text and executing random code. Enjoy.
lbcoder said:
Don't you think that this is all just a little bit excessive?
To make it work in F11, just do this;
Download SDK, extract.
To use, type:
/path/to/sdk/tools/adb
Click to expand...
Click to collapse
that works too as well but i would rather open up a terminal and type
sudo adb devices
sensimila said:
that works too as well but i would rather open up a terminal and type
sudo adb devices
Click to expand...
Click to collapse
WHY would you want to make it *MORE COMPLICATED*??
There is NO NEED for root.
/path/to/adb ...
THATS ALL.
This is kind of funny... i wrote this because i had trouble with it, so i am just sharing my fix...
In case this is interesting to someone:
The fix mentioned in the first post has to be applied to open SuSE x86 and x64 edition to make the G1 work. The external device works without it, but not the adb device.
Thanks again!
Just wanted to come and post that this does work with OpenSUSE 11.2 x86. Did this hoping to get adb to work with my LG Ally and it does. Thanks!
(Still) works for me on 64bit SUSE 11.4.
Before adding this file, I could not access my device with adb, received permissions errors.
Added this file, and I can shell into my device.
Permissions on adb itself was not the problem, it was access to the device when udev found it.
[edit]Actually used the lines from http://developer.android.com/guide/developing/device.html[/edit]

[Tutorial] Building CyanogenMod for G2x

My other tutorial for building CM for Nexus One
Last tested on 8/8/2011
This tutorial is basically my Nexus One tutorial altered to support the G2x. This tutorial requires a basic to intermediate knowledge of linux terminal commands. First you will need to be running the latest CM nightly. Then you will need to install Ubuntu 11.04. This tutorial will work for if you are running Ubuntu in a virtual machine and if you installed it to your hard drive. I have tested this by installing it to my hard drive and in a virtual machine, but I have not tried it in Wubi but it should work. You need 11.04 64 bit.
How to install Ubuntu: https://help.ubuntu.com/community/Installation
After you have installed Ububtu, make sure that your OS is up to date. You can do that by running the Update Manager from the System>Administration menu. Once that is completed, go to Applications>Accessories and open Terminal.
Now you will be setting up your build environment.
Next lets open a terminal. Copy and paste the following into terminal.
(Copy from this tutorial with control+c and paste in terminal with control+shift+v)
Code:
sudo apt-get update && sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev gitg qt3-dev-tools libqt3-mt-dev eclipse valgrind pngcrush schedtool
Code:
sudo add-apt-repository ppa:ferramroberto/java && sudo apt-get update && sudo apt-get install sun-java6-jdk && sudo update-java-alternatives -s java-6-sun
Now you will be installing ADB
Download the sdk from the android website (use the Linux download) http://developer.android.com/sdk/index.html
extract the sdk to your ~/ directory (home directory). So you should be able to go to a terminal and cd ~/AndroidSDK/platform-tools to access your platform-tools folder in your sdk. After that, update your android sdk by opening terminal and run:
Code:
~/AndroidSDK/tools/./android
Open the terminal, and type gedit .bashrc and at the top of the file, paste this (replacing user with your username)
Code:
#AndroidDev PATH
export PATH=${PATH}:/home/user/AndroidSDK/platform-tools
export PATH=${PATH}:/home/user/AndroidSDK/tools
This will make ADB, Fastboot and DDMS available from the terminal on next login.
Now, to make the device available to normal users, open a terminal and type
Code:
sudo gedit /etc/udev/rules.d/51-android.rules
Then paste
Code:
SUBSYSTEMS == "usb", ATTRS {idVendor} == "18d1", ATTRS {idProduct} == "4E11", MODE = "0666"
SUBSYSTEMS == "usb", ATTRS {idVendor} == "18d1", ATTRS {idProduct} == "4e12", MODE = "0666"
SUBSYSTEMS == "usb", ATTRS {idVendor} == "0bb4", ATTRS {idProduct} == "0FFF", MODE = "0666"
SUBSYSTEM=="usb",ATTRS(idVendor)=="18d1",SYMLINK+="android_adb",MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"
Save and exit.
Ensure that the rules are executable:
Code:
sudo chmod a+rx /etc/udev/rules.d/*
Then type
Code:
sudo restart udev
You should restart your computer (or virtual machine) right now to ensure that everything is running properly.
Note: idVendor may vary. Use lsusb from the terminal, look for your Android device and replace “0bb4″ with the first 4 characters after “ID”.
If ADB is still not working, read http://forum.xda-developers.com/showthread.php?t=533 and http://alan.lamielle.net/2010/01/22/nexus-one-usb-in-ubuntu-9-10
You should now have a fully working android build environment.
Now before you begin getting and building the source, make sure that you are on the latest CM7 nightly and have the latest gapps from Rom Manager.
Now to setup the CyanogenMod build environment and to build it
Enter the following lines in terminal:
Code:
cd ~/
mkdir -p ~/bin
mkdir -p ~/cm7
cd ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
cd ~/
chmod a+x ~/bin/repo
PATH="$HOME/bin:$PATH"
PATH="$HOME/AndroidSDK/platform-tools:$PATH"
PATH="$HOME/AndroidSDK/tools:$PATH"
cd ~/cm7
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
Press enter and enter the information it asks for.
The next command will download all of the CM source. It will take at least a few hours or more depending on your internet speed.
Code:
repo sync -j16
After the sync, plug your phone in, and run adb devices and if your phone is listed, continue. Otherwise, go back and make sure you have properly installed adb and the drivers.
Plug your phone in, copy the following commands into terminal, and press enter.
Code:
cd ~/cm7/device/lge/p999/
./extract-files.sh
cd ~/cm7/vendor/cyanogen/
./get-rommanager
./get-google-files
now you your CM build environment is complete.
Warning: Building CM pushes your computer to the max your cpu can handle. Make sure that your computer can handle compiling CM. If It cannot, DO NOT DO THIS.
To build, just run(use this command every time you want to build CM):
**** Here is a new updated command to build CM****
Code:
cd ~/cm7 && make clean && repo sync -j6 && . build/envsetup.sh && brunch p999
If you come across any problems while syncing use repo sync -f -j6 -d and it will force sync and override any changes made to the source on your computer.
and it will make an update.zip in ~/cm7/out/target/product/p999/update-cm-7.1.0-RC1-G2x-signed.zip (or whatever the latest RC is)
Congratulations you have just compiled CyanogenMod for the G2x!
Possible causes if the build fails:
1. Make sure you followed the directions precisely.
2. Try all three of the build commands.
3. If you changed any of the code, make sure it has no errors. Open it up in eclipse and check for errors.
4. Search Google and XDA.
**If you are getting a problem with getting the gapps, it it because of the CM gapps mirror system.
1. download and install the latest gapps
2. plug your phone in and run:
Code:
~/cm7/vendor/cyanogen/./extract-google-files
Sources:
http://developer.android.com/sdk/index.html
http://wiki.cyanogenmod.com/index.php?title=Compile_CyanogenMod_for_passion
http://www.lineardroid.co.uk/2010/07/configure-build-environment/
http://www.lineardroid.co.uk/2010/04/how-to-set-up-adb-in-ubuntu/
http://forum.xda-developers.com/showthread.php?t=533090
http://alan.lamielle.net/2010/01/22/nexus-one-usb-in-ubuntu-9-10
http://forum.xda-developers.com/showthread.php?t=704561
Be sure to thank if this was helpful!
reserved...
reserved...
that's good. Thank you
Nice... Ive been always wondering how to do that... Time to start tonight
Any news if there is some kind of an online kitchen for the g2x that is not cm7 based?
Very nice. Thanks for updating your guide for the G2x.
OSError: [Errno 2] No such file or directory
Hey there. I'm going through your how to here and I came into an error pasted below. I'm very new to all this but am very eager learn. Can you shed some light on what is happening? Thanks a ton!
[email protected]:~/cm7$ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
Traceback (most recent call last):
File "/home/dubntz/bin/repo", line 603, in <module>
main(sys.argv[1:])
File "/home/dubntz/bin/repo", line 570, in main
_Init(args)
File "/home/dubntz/bin/repo", line 184, in _Init
_CheckGitVersion()
File "/home/dubntz/bin/repo", line 213, in _CheckGitVersion
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
File "/usr/lib/python2.7/subprocess.py", line 672, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1213, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
[email protected]:~/cm7$
Install git.
I followed all of your steps but am getting the adb not found or whatever error when trying to run adb devices, or any adb command for that matter. I tried as root, and as a normal user and nothing worked.
Anyone else have this issue?
*black*silva* said:
I followed all of your steps but am getting the adb not found or whatever error when trying to run adb devices, or any adb command for that matter. I tried as root, and as a normal user and nothing worked.
Anyone else have this issue?
Click to expand...
Click to collapse
First, make sure that you did downloaded and extracted the Linux version of the Android SDK. Second, verify that the path to the directory where the adb command is correct. Third, check if the adb command is indeed present in that directory. If it's not in platform-tools directory then you need to run the ./android command and update the SDK.
Sent from my LG-P999 using XDA App
joackie27 said:
First, make sure that you did downloaded and extracted the Linux version of the Android SDK. Second, verify that the path to the directory where the adb command is correct. Third, check if the adb command is indeed present in that directory. If it's not in platform-tools directory then you need to run the ./android command and update the SDK.
Sent from my LG-P999 using XDA App
Click to expand...
Click to collapse
I downloaded and extracted my SDK to my home folder, and when i checked to see if the adb command was there it was not, so i am now getting everything i think i need from running the android command. Could it be because im on 32 bit? And it says you need 64? Or is that only to compile? I'd like to compile but i really just want ADB working.
*black*silva* said:
I downloaded and extracted my SDK to my home folder, and when i checked to see if the adb command was there it was not, so i am now getting everything i think i need from running the android command. Could it be because im on 32 bit? And it says you need 64? Or is that only to compile? I'd like to compile but i really just want ADB working.
Click to expand...
Click to collapse
I don't think it had to do with you being on a 32 bit. I think it had to do with the archive file not really having the adb command. You have to update the SDK first to get it. I may be wrong but if you want, you can inspect the contents of the archive file that you've downloaded to verify if it's really there. I've experienced the same thing that's why I was able to addressed your issues earlier.
If you want to compile then you need the 64 bit version as stated by the OP.
Sent from my LG-P999 using XDA App
i updated and installed all the things i needed and now ADB works perfect. Now i might try compiling. Thanks joackie27 for the help.
*black*silva* said:
i updated and installed all the things i needed and now ADB works perfect. Now i might try compiling. Thanks joackie27 for the help.
Click to expand...
Click to collapse
You're welcome! That's what the XDA community (help one another) is all about.
I wouldn't even try compiling not unless you've got the 64 bit version. I think it became a requirement with Gingerbread.
Sent from my LG-P999 using XDA App
joackie27 said:
You're welcome! That's what the XDA community (help one another) is all about.
I wouldn't even try compiling not unless you've got the 64 bit version. I think it became a requirement with Gingerbread.
Sent from my LG-P999 using XDA App
Click to expand...
Click to collapse
alright. thanks. i have already ran everything and all i have let to do is run the last code to compile it, so im going to and just gunna see what happens. if it works great. if not, i will always have chris to do it for me lol.
O and BTW for the code,
Code:
cd ~/cm7/device/htc/p999/
you will need to change it to
Code:
cd ~/cm7/device/lge/p999/
because HTC did not make the p999, LG did. but other than that everything has gone smooth.
*black*silva* said:
alright. thanks. i have already ran everything and all i have let to do is run the last code to compile it, so im going to and just gunna see what happens. if it works great. if not, i will always have chris to do it for me lol.
O and BTW for the code,
Code:
cd ~/cm7/device/htc/p999/
you will need to change it to
Code:
cd ~/cm7/device/lge/p999/
because HTC did not make the p999, LG did. but other than that everything has gone smooth.
Click to expand...
Click to collapse
Yeah I caught that one too. And after cloning the git repository for CM7, you can definitely see that there's no p999 directory under htc. And lastly, as you've pointed out p999 was from lge (LG Electronics).
joackie27 said:
Yeah I caught that one too. And after cloning the git repository for CM7, you can definitely see that there's no p999 directory under htc. And lastly, as you've pointed out p999 was from lge (LG Electronics).
Click to expand...
Click to collapse
yeah that how i got it to. And i dont really recommend using 32 bit because the guide says to use 64 but i already had 32 installed and didnt want to wipe that partition and reinstall 64 bit so i tried compiling on 32 bit and it worked fine. had no problems at all with compiling it or flashing it. But im just giving that information out for anyone who wants to compile and already has 32.
*black*silva* said:
yeah that how i got it to. And i dont really recommend using 32 bit because the guide says to use 64 but i already had 32 installed and didnt want to wipe that partition and reinstall 64 bit so i tried compiling on 32 bit and it worked fine. had no problems at all with compiling it or flashing it. But im just giving that information out for anyone who wants to compile and already has 32.
Click to expand...
Click to collapse
It worked fine on 32 bit for you? When i was getting all the files for the build environment it couldn't find some of the files while I was using 32bit like lib32ncursers or whatever, there were 4 of them.
brian6685 said:
It worked fine on 32 bit for you? When i was getting all the files for the build environment it couldn't find some of the files while I was using 32bit like lib32ncursers or whatever, there were 4 of them.
Click to expand...
Click to collapse
yup. everything worked perfectly fine for me. Although when i got my build environment i got them here...
http://forum.xda-developers.com/showthread.php?t=915435
I did not get any errors. And my ROM is running great!
*black*silva* said:
alright. thanks. i have already ran everything and all i have let to do is run the last code to compile it, so im going to and just gunna see what happens. if it works great. if not, i will always have chris to do it for me lol.
O and BTW for the code,
Code:
cd ~/cm7/device/htc/p999/
you will need to change it to
Code:
cd ~/cm7/device/lge/p999/
because HTC did not make the p999, LG did. but other than that everything has gone smooth.
Click to expand...
Click to collapse
Thanks. Changed it.

[Recovery] CWM Recovery 4.0.0.8 for Compaq Airlife 100

Hi all,
Note: I'm still testing these files and they are not final. I'm not responsible if you brick your device with these files. Use it at your own risk and only if you know what you are doing!
If you want to make sure that you don't loose anything use romdump to perform a backup for your device.
Files
Boot: boot-insid3r-0.1.img
Recovery: recovery-insid3r-0.1.img
How to prepare your PC
===== On Windows (I tried on Windows 7): =====
1)Download the latest Android SDK from here.It's the installer_r12-windows.exe file.
2)Run the installer. It will start a download all the files needed. Note:You must have Java JDK installed.
3)Boot your Compaq Airlife 100 to Fastboot Mode (BACK + POWER). It will show a black(empty) screen thats normal!
4)Connect your Compaq Airlife 100 through the USB Cable to your PC
5)Open Windows Start Menu and type: cmd.exe
6)Navigate to your Android SDK folder like this:
cd /
cd "Program Files\Android\android-sdk\tools"
7)Run fastboot:
fastboot.exe devices
(it will show only an '?', its normal)
8) Jump to "How to Use"
===== On Ubuntu (I tried on Ubuntu 11.04): =====
1)Download the latest Android SDK from here. It's android-sdk_r12-linux_x86.tgz file.
2)Unpack it.
3)Open terminal and navigate to <android-sdk-linux_x86>/tools and execute "android" script. This will start the download of the needed files.
4)Navigate to your Android SDK folder like this:
cd android-sdk-linux_x86/platform-tools/
5)Run fastboot:
./fastboot devices
(it will show only an '???????', its normal)
6) Jump to "How to Use"
How to use
1)Root your device, using an app like Universal Androot
2)boot your device into fastboot mode (BACK+POWER)
3)flash both images on Ubuntu:
Code:
./fastboot flash boot boot-insid3r-0.1.img
./fastboot flash recovery recovery-insid3r-0.1.img
or on Windows
Code:
fastboot.exe flash boot boot-insid3r-0.1.img
fastboot.exe flash recovery recovery-insid3r-0.1.img
4)boot your device into recovery mode (HOME+POWER)
Demo
ClockworkMod Recovery for Compaq Airlife 100: http://www.youtube.com/watch?v=rh8DhuDt0FY
Images
ClockworkMod Info
This recovery was compiled with the 4.0.0.8 source code, and it still under tests before final github submission for aproval.
Any question, just ask.
If you are familiar with Cyanogen porting please send me a PM.
Best Regards
Hey INSID3R great work!!!!
I come from CHW forum.
I`ll try this now!
Hi,
I noticed that people already downloaded the files. Can you provide some feedback?
Note: adb is now working but only over wi-fi.
Better chance for newer Android ?
Hi,
I just got an idea which are the capabilities of ClockworkMod. Using this tool I am able to install a better Android than 1.6.
But is any newer Android for this device out there?
Regards
Svgt99
svgt99 said:
Hi,
I just got an idea which are the capabilities of ClockworkMod. Using this tool I am able to install a better Android than 1.6.
But is any newer Android for this device out there?
Regards
Svgt
Click to expand...
Click to collapse
I'm working on that too. It will take some time to have a ROM ready since I'm not working full-time on this.
Cheers
How do I enter commands paar after this in FastBoot?? how I do this in Windows? Please put clearer instructions in order to offer a feedback
cesargdmi said:
How do I enter commands paar after this in FastBoot?? how I do this in Windows? Please put clearer instructions in order to offer a feedback
Click to expand...
Click to collapse
hi cesargdmi,
Just updated the first post with more instructions on how to prepare your PC.
If you still have questions feel free to ask.
Best Regards
Up and running now, I'm trying to create a ROM for this device but I never did, so I'll have to read much to make, I am not relying on these links.
http://forum.xda-developers.com/showthread.php?t=633246
http://theunlockr.com/2010/03/26/ho...om-for-android-part-1-setting-up-the-kitchen/
but apparently, it is not easy, you've made ​​some progress in creating the ROM? to please me feedback.
cesargdmi said:
Up and running now, I'm trying to create a ROM for this device but I never did, so I'll have to read much to make, I am not relying on these links.
http://forum.xda-developers.com/showthread.php?t=633246
http://theunlockr.com/2010/03/26/ho...om-for-android-part-1-setting-up-the-kitchen/
but apparently, it is not easy, you've made ​​some progress in creating the ROM? to please me feedback.
Click to expand...
Click to collapse
In the next few days I'll give an update on my developments. But I'm still on an early stage, I still don't have a bootable ROM .
I'm trying to build a custom ROM from Cyanogen code. This is how to prepare the Cyanogen code for your PC:
Install the Build Packages
1)Install using the package manager of your choice:
For 32-bit & 64-bit systems:
Code:
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool
For 64-bit only systems:
Code:
sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib
NOTE: gcc-4.3-multilib g++-4.3-multilib is no longer available for Ubuntu 11.04 64-bit, but should still build without issue.
NOTE: On Ubuntu 10.10, and variants, you need to enable the parter repository to install sun-java6-jdk:
add-apt-repository "deb http://archive.canonical.com/ maverick partner"
Create the Directories
You will need to set up some directories in your build environment.
To create them:
Code:
mkdir -p ~/bin
mkdir -p ~/android/system
Install the Repository
Enter the following to download make executable the "repo" binary:
Code:
curl [url]http://android.git.kernel.org/repo[/url] > ~/bin/repo
chmod a+x ~/bin/repo
NOTE: You may need to reboot for these changes to take effect.
Now enter the following to initialize the repository:
Code:
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
repo sync -j16
This will take about two hours.
With this tutorial you will have the Cyanogen Android OS 2.3.5 code on your system.
To start a ROM for Compaq Airlife 100 you will need to create these under the device/ directory:
Code:
mkdir compaq
cd compaq
mkdir airlife
cd airlife
And paste these files there.
This is only a basic start, we will need to learn by your own from here. Try to see the other directories inside the device/ folder and learn from other devices settings.
hehe
I'm just installing Ubuntu 9.10 to start doing the procedure, although I was reading says that is only valid for HTC but do not lose anything by trying.
if you run into any progress let me know
Adb
Hi Insid3r can you try to modify this file "default.prop" in the root folder? Inside this is a command with this name "persist.service.adb.enable=0", try to put a 1.. My english is bad sorry.!
I'll post that later, already did that to make the ADB work via Wi-Fi. Even with that option enabled the ADB doesn't work via USB.
Best Regards.
Ok, I did not know, but at least I tried. I also managed to install Flash Player 10.1, but can not get it to work with the native browser and others like opera and dolphinn either. Could you help me?
Best regards
Pleace, I'll go creazy thinking about how to install flash player plugin.
The file I used is on various internet sites is called "flash for 21" and I change and put in the AndroidManifest.xml "minsdk = 4" to install in the airlife.! Can you help me with this?
Thank you!!!!
Greetings.
@insid3r
Hi! I'm going to try this... have you stoped trying to port it? Or is any limitation? Is the bootloader unlocked? I don't undertand if the reason that there's NO roms is that it's blocked somehow, or is it for there's not many poeopl souporting this kidn of projects =/
I WANT to follow with this, please contact me through PM
Greetings from Argentina.
Insid3r, thanks ever answer but I need ask you something about update the compaq airlife 100, after you make the fastboot (back+power) and connect the netbook to the USB computer.
What driver you'd use? because in my Hardware Administrator not show the device, just says Android 1.0 (and its unrecognized) and in cmd when call the function fastboot devices (in the help command says must show a list of devices and not appear the compaq)
Best and thanks for your time.

[GUIDE] Make your android device True Root! - by Napalm

[GUIDE] Make your android device True Root! - by Napalm​
I did this on my Nexus 7 but it should all still apply to most devices. You might need to follow different driver advice for other devices.
Pre-requirements:
Installation of the SDK platform-tools.
Have platform-tools directory of the SDK in your PATH environment variable (Google this if your unsure).
This was all done a Windows installation, but access to Linux will be required later on. Mac users might be able to get away with doing the Linux portions directly on there computer. Please let me know if your a Mac user and have had success with this and I will update the guide with details.
Step 1: Driver Installation (READ THIS, do not skip)
First I needed to update to the usb_driver from SDK and then modify the installation inf with the IDs for Nexus 7.
Browse to your SDK directory and futher into <SDK>\extras\google\usb_driver
Open android_winusb.inf in your favorite text editor.
Find the appropriate section Google.NTx86 if your on 32bit or Google.NTamd64 if your on 64bit (doesnt matter that your using intel chip). Now find the ";Google Nexus 7" line inside that section and you'll see a series of settings below. Add the following lines at the end of that block.
Code:
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_D001
These are the identifiers for the Nexus 7 recovery and bootloader usb connections.
Step 2: Standard Root
Next you'll need access to the bootloader and recovery mode so follow this guide to unlock and "root" your device. http://forum.xda-developers.com/showthread.php?t=1741395
Here I've laid out the steps I did instead of the above. Remember this wipes your device and its internal memory completely, so backup your data.
All local work is done from the desktop, so when you first open a command prompt or if you close it and reopen it enter the following.
Code:
cd Desktop
Download CWM recovery image to Desktop. http://goo.im/devs/birdman/CWM-grouper-recovery.img
Download SuperSU CWM update zip to Desktop. http://forum.xda-developers.com/showthread.php?t=1538053
Go to Start or Start>Run and type in: cmd
Code:
cd Desktop
fastboot oem unlock
fastboot flash recovery CWM-grouper-recovery.img
adb reboot recovery
Now the device will reboot into recovery mode. If windows asks for drivers for the "new" usb connection direct the wizard to your <SDK>\extras\google\usb_driver. And the earlier modifications made in Step 1 should mean it installs the device and adb link.
Once drivers are installed and every is good go back to the command prompt, and type
Code:
adb devices
It should list your device with the word "recovery" next to it. If it doesn't then your device is not in recovery mode. Now enter in the following commands into the command prompt and it will make your devices CWM installation permanent.
Code:
adb shell
mount /system
cd /system
mv recovery-from-boot.p recovery-from-boot.bak
umount /system
exit
Now to install SuperSU. Tap "reboot system now" on the screen (if you dont see CWM, press the power button to show/hide it). Wait for the reboot. And then enter the following into the command prompt.
Code:
adb push CWM-SuperSU-v0.94.zip /sdcard
adb reboot recovery
Wait for reboot. You should see an image in the center of the screen. You might have to press the power button to toggle the visibility of the CWM menu. If you miss-tap on the screen, the power button acts like a back button and will return you to the previous menu screen.
Tap "install zip from sdcard" and then "choose zip from sdcard". Then select the CWM-SuperSU-v0.94.zip file (You may have to use the vol-up/down keys to highlight this if the file is listed off the bottom of the screen)
Let that install and then go back on the menus and choose "reboot system now".
Now if all is well after the reboot, if you run the following commands in command prompt.
Code:
adb shell
su
SuperSU might now prompt you on your devices screen to accept the root access, and then hopefully your command prompt should end in a # (this means you are root user 0). Now type exit twice to get back to the windows command prompt.
Now if you were to type "adb root" you will notice it tells you adbd is not able to go "full root". This will be solved in the next step. This is going to get complicated. You have been warned.
Step 3: True Rooting!
Now your device is "rooted". This is true, you now have a "su" binary installed and a visible app in the OS to manage super user privileges, but as a developer I want to be able to use things like "hierarchy viewer" on my live device. And have the room to do what I need to debug complex situations. So this is where True Root comes in. This essentially turns the device into a debug device that you would get direct from the manufacturer.
You may be able to get away with doing the following in a different way and you may not need to compile anything since fastboot has a boot flash option, but since I've never used this I've done it this way. If you prefer you can explore things in that direction, but be warned I've not tried it and so I have no idea if it would work.
Now for this step you will need access to a Linux installation. If you've never used Linux before don't be too afraid. But I am going to have to gloss over a few things. If you need further help on this step you will need to post in the topic and allow the community to advise on best pratices.
If you dont have access to a Linux installation or your newb to Linux then go here and follow the steps. It will add Linux to your PCs boot options and then you can go in and out of Linux when you need it. http://www.ubuntu.com/download/help/install-ubuntu-with-windows
Remember if your working on this step from a fresh Linux install like the above then you will probably want to install the android sdk for linux, at least enough to use adb from linux. This topic might help with this: http://forum.xda-developers.com/showthread.php?t=537508
Ok now from Linux follow along. You'll need git installed for this "apt-get install git".
We now need to compile the apps needed to modify our boot image. Details can be found here https://gist.github.com/1087757 but you might just want to follow my specific instructions.
Open a console window and type.
Code:
git clone https://android.googlesource.com/platform/system/core
cd core/libmincrypt
gcc -c *.c -I../include
ar rcs libmincrypt.a *.o
cd ../mkbootimg
gcc mkbootimg.c -o mkbootimg -I../include ../libmincrypt/libmincrypt.a
cd ../cpio
gcc mkbootfs.c -o mkbootfs -I../include
cd ../..
git clone https://github.com/beide/Bootimg-scripts.git
cd Bootimg-scripts
cp ../core/mkbootimg/mkbootimg ./
cp ../core/cpio/mkbootfs ./
Ok that has prapared the a Bootimg-scripts directory with the perl scripts we need and compiled binaries they use. Now make sure you have perl installed "apt-get install perl".
This is where things are going to split and it becomes your best guess as to how to proceed. I will show you the method I used from Windows. But if you have a installation of the SDK in Linux then you should be able to just open a new console and continue from here and ignore the bits I used to transfer files between Linux and Windows.
Back to the command console on Windows. We use adb to identify our boot partition and extract it.
Code:
adb shell cat /proc/partitions
You will now be presented with a list of paritions on your Nexus 7. Each block here for my device is 1K. So I'm looking down the list and I see one thats 8192 blocks, called "mmcblk0p2". Thats 8MB and I'm taking a educated guess that this is the boot partition, and for my Nexus 7 it is. (Note: if anyone has a better way of determining the boot parition please let me know).
Now we need to take a image of the partition. From here on out replace my partition device name in the commands below with yours if it differs.
Code:
adb shell
cat /dev/block/mmcblk0p2 > /sdcard/boot.img
exit
adb pull /sdcard/boot.img
Now if you want to confirm that this is the boot partition you will need to open the image file in your favorite hex editor and confirm the first bytes of the file are "ANDROID!" in ascii.
Now I FTP'd this image file over to my Linux box and into the Bootimg-scripts directory we created previously. If your following these steps from Linux then you should be able to open up the file manager and move the file into the folder.
Now back to Linux. We'll need to modify repack-bootimg.pl with a text editor of your choice. I leave this up to the reader. We need to modify line 19 the system call so that it starts with "./mkbootimg" rather than "mkbootimg". This is so perl fines mkbootimg in the local directory rather than anywhere else.
Now type in the linux console we had open in the Bootimg-scripts directory the following command.
Code:
perl ./unpack-bootimg.pl boot.img
ls -l
You should see boot.img-kernel.gz and boot.img-ramdisk.cpio.gz and a directory boot.img-ramdisk.
Open boot.img-ramdisk/default.prop in your favorite text editor and make the following adjustments.
ro.secure=1 should be edited to ro.secure=0 and ro.debuggable=0 should be ro.debuggable=1 and if you want ro.allow.mock.location can also be changed to 1 if you like.
Now we've made the required changes to our initrd (initial ramdisk) files we need to repack them to put back on the device.
Code:
perl ./repack-bootimg.pl boot.img-kernel.gz boot.img-ramdisk boot-debug.img
You will now have a new file called boot-debug.img. This contains our modified initial ramdisk. It will probably be smaller than the original. This is no concern as the original we copied was an image of the entire disk including the unused areas, where as the new image is only the data we need.
I now FTP'd this file back to my Windows machine, but as before if your doing this from Linux then you can just carry on.
We now need to flash this image file back onto the Nexus 7 replacing our current boot image. To do this we need to put the device into bootloader mode.
Back to your console/command window, and enter in.
Code:
adb reboot bootloader
Windows might want to install drivers and as before direct the wizard to <SDK>\extras\google\usb_driver.
Once your device is in bootloader mode. Go back to the console/command and enter in.
Code:
fastboot flash boot boot-debug.img
fastboot reboot
Now cross your fingers and hopefully you will get the boot loading animation and your device will get back to the Android launcher.
Now finally from your console/command window type in:
Code:
adb root
Hopefully if all is well it should reply with "adbd is already running as root". Now if you type in:
Code:
adb shell getprop ro.debuggable
It should tell you that its set to 1, meaning it is switched on.
Congratulations!! You have now True Rooted your device!.
You can now debug even system level apps, see log messages from all processes and logcat will now resolve all app names. Use Hierarchy Viewer on a live device instead of the horrible emulator. Do absolutely everything with your device that you want.
Happy hacking,
Napalm :good:
better late than never.....a thorough quide
Thanks for this guide.
Sent from my Nexus 7
Thanks.
Napalm2 said:
[GUIDE] Make your android device True Root! - by Napalm​
I did this on my Nexus 7 but it should all still apply to most devices. You might need to follow different driver advice for other devices.
Pre-requirements:
Installation of the SDK platform-tools.
Have platform-tools directory of the SDK in your PATH environment variable (Google this if your unsure).
This was all done a Windows installation, but access to Linux will be required later on. Mac users might be able to get away with doing the Linux portions directly on there computer. Please let me know if your a Mac user and have had success with this and I will update the guide with details.
Step 1: Driver Installation (READ THIS, do not skip)
First I needed to update to the usb_driver from SDK and then modify the installation inf with the IDs for Nexus 7.
Browse to your SDK directory and futher into <SDK>\extras\google\usb_driver
Open android_winusb.inf in your favorite text editor.
Find the appropriate section Google.NTx86 if your on 32bit or Google.NTamd64 if your on 64bit (doesnt matter that your using intel chip). Now find the ";Google Nexus 7" line inside that section and you'll see a series of settings below. Add the following lines at the end of that block.
Code:
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_D001
These are the identifiers for the Nexus 7 recovery and bootloader usb connections.
Step 2: Standard Root
Next you'll need access to the bootloader and recovery mode so follow this guide to unlock and "root" your device. http://forum.xda-developers.com/showthread.php?t=1741395
Here I've laid out the steps I did instead of the above. Remember this wipes your device and its internal memory completely, so backup your data.
All local work is done from the desktop, so when you first open a command prompt or if you close it and reopen it enter the following.
Code:
cd Desktop
Download CWM recovery image to Desktop. http://goo.im/devs/birdman/CWM-grouper-recovery.img
Download SuperSU CWM update zip to Desktop. http://forum.xda-developers.com/showthread.php?t=1538053
Go to Start or Start>Run and type in: cmd
Code:
cd Desktop
fastboot oem unlock
fastboot flash recovery CWM-grouper-recovery.img
adb reboot recovery
Now the device will reboot into recovery mode. If windows asks for drivers for the "new" usb connection direct the wizard to your <SDK>\extras\google\usb_driver. And the earlier modifications made in Step 1 should mean it installs the device and adb link.
Once drivers are installed and every is good go back to the command prompt, and type
Code:
adb devices
It should list your device with the word "recovery" next to it. If it doesn't then your device is not in recovery mode. Now enter in the following commands into the command prompt and it will make your devices CWM installation permanent.
Code:
adb shell
mount /system
cd /system
mv recovery-from-boot.p recovery-from-boot.bak
umount /system
exit
Now to install SuperSU. Tap "reboot system now" on the screen (if you dont see CWM, press the power button to show/hide it). Wait for the reboot. And then enter the following into the command prompt.
Code:
adb push CWM-SuperSU-v0.94.zip /sdcard
adb reboot recovery
Wait for reboot. You should see an image in the center of the screen. You might have to press the power button to toggle the visibility of the CWM menu. If you miss-tap on the screen, the power button acts like a back button and will return you to the previous menu screen.
Tap "install zip from sdcard" and then "choose zip from sdcard". Then select the CWM-SuperSU-v0.94.zip file (You may have to use the vol-up/down keys to highlight this if the file is listed off the bottom of the screen)
Let that install and then go back on the menus and choose "reboot system now".
Now if all is well after the reboot, if you run the following commands in command prompt.
Code:
adb shell
su
SuperSU might now prompt you on your devices screen to accept the root access, and then hopefully your command prompt should end in a # (this means you are root user 0). Now type exit twice to get back to the windows command prompt.
Now if you were to type "adb root" you will notice it tells you adbd is not able to go "full root". This will be solved in the next step. This is going to get complicated. You have been warned.
Step 3: True Rooting!
Now your device is "rooted". This is true, you now have a "su" binary installed and a visible app in the OS to manage super user privileges, but as a developer I want to be able to use things like "hierarchy viewer" on my live device. And have the room to do what I need to debug complex situations. So this is where True Root comes in. This essentially turns the device into a debug device that you would get direct from the manufacturer.
You may be able to get away with doing the following in a different way and you may not need to compile anything since fastboot has a boot flash option, but since I've never used this I've done it this way. If you prefer you can explore things in that direction, but be warned I've not tried it and so I have no idea if it would work.
Now for this step you will need access to a Linux installation. If you've never used Linux before don't be too afraid. But I am going to have to gloss over a few things. If you need further help on this step you will need to post in the topic and allow the community to advise on best pratices.
If you dont have access to a Linux installation or your newb to Linux then go here and follow the steps. It will add Linux to your PCs boot options and then you can go in and out of Linux when you need it. http://www.ubuntu.com/download/help/install-ubuntu-with-windows
Remember if your working on this step from a fresh Linux install like the above then you will probably want to install the android sdk for linux, at least enough to use adb from linux. This topic might help with this: http://forum.xda-developers.com/showthread.php?t=537508
Ok now from Linux follow along. You'll need git installed for this "apt-get install git".
We now need to compile the apps needed to modify our boot image. Details can be found here https://gist.github.com/1087757 but you might just want to follow my specific instructions.
Open a console window and type.
Code:
git clone https://android.googlesource.com/platform/system/core
cd core/libmincrypt
gcc -c *.c -I../include
ar rcs libmincrypt.a *.o
cd ../mkbootimg
gcc mkbootimg.c -o mkbootimg -I../include ../libmincrypt/libmincrypt.a
cd ../cpio
gcc mkbootfs.c -o mkbootfs -I../include
cd ../..
git clone https://github.com/beide/Bootimg-scripts.git
cd Bootimg-scripts
cp ../core/mkbootimg/mkbootimg ./
cp ../core/cpio/mkbootfs ./
Ok that has prapared the a Bootimg-scripts directory with the perl scripts we need and compiled binaries they use. Now make sure you have perl installed "apt-get install perl".
This is where things are going to split and it becomes your best guess as to how to proceed. I will show you the method I used from Windows. But if you have a installation of the SDK in Linux then you should be able to just open a new console and continue from here and ignore the bits I used to transfer files between Linux and Windows.
Back to the command console on Windows. We use adb to identify our boot partition and extract it.
Code:
adb shell cat /proc/partitions
You will now be presented with a list of paritions on your Nexus 7. Each block here for my device is 1K. So I'm looking down the list and I see one thats 8192 blocks, called "mmcblk0p2". Thats 8MB and I'm taking a educated guess that this is the boot partition, and for my Nexus 7 it is. (Note: if anyone has a better way of determining the boot parition please let me know).
Now we need to take a image of the partition. From here on out replace my partition device name in the commands below with yours if it differs.
Code:
adb shell
cat /dev/block/mmcblk0p2 > /sdcard/boot.img
exit
adb pull /sdcard/boot.img
Now if you want to confirm that this is the boot partition you will need to open the image file in your favorite hex editor and confirm the first bytes of the file are "ANDROID!" in ascii.
Now I FTP'd this image file over to my Linux box and into the Bootimg-scripts directory we created previously. If your following these steps from Linux then you should be able to open up the file manager and move the file into the folder.
Now back to Linux. We'll need to modify repack-bootimg.pl with a text editor of your choice. I leave this up to the reader. We need to modify line 19 the system call so that it starts with "./mkbootimg" rather than "mkbootimg". This is so perl fines mkbootimg in the local directory rather than anywhere else.
Now type in the linux console we had open in the Bootimg-scripts directory the following command.
Code:
perl ./unpack-bootimg.pl boot.img
ls -l
You should see boot.img-kernel.gz and boot.img-ramdisk.cpio.gz and a directory boot.img-ramdisk.
Open boot.img-ramdisk/default.prop in your favorite text editor and make the following adjustments.
ro.secure=1 should be edited to ro.secure=0 and ro.debuggable=0 should be ro.debuggable=1 and if you want ro.allow.mock.location can also be changed to 1 if you like.
Now we've made the required changes to our initrd (initial ramdisk) files we need to repack them to put back on the device.
Code:
perl ./repack-bootimg.pl boot.img-kernel.gz boot.img-ramdisk boot-debug.img
You will now have a new file called boot-debug.img. This contains our modified initial ramdisk. It will probably be smaller than the original. This is no concern as the original we copied was an image of the entire disk including the unused areas, where as the new image is only the data we need.
I now FTP'd this file back to my Windows machine, but as before if your doing this from Linux then you can just carry on.
We now need to flash this image file back onto the Nexus 7 replacing our current boot image. To do this we need to put the device into bootloader mode.
Back to your console/command window, and enter in.
Code:
adb reboot bootloader
Windows might want to install drivers and as before direct the wizard to <SDK>\extras\google\usb_driver.
Once your device is in bootloader mode. Go back to the console/command and enter in.
Code:
fastboot flash boot boot-debug.img
fastboot reboot
Now cross your fingers and hopefully you will get the boot loading animation and your device will get back to the Android launcher.
Now finally from your console/command window type in:
Code:
adb root
Hopefully if all is well it should reply with "adbd is already running as root". Now if you type in:
Code:
adb shell getprop ro.debuggable
It should tell you that its set to 1, meaning it is switched on.
Congratulations!! You have now True Rooted your device!.
You can now debug even system level apps, see log messages from all processes and logcat will now resolve all app names. Use Hierarchy Viewer on a live device instead of the horrible emulator. Do absolutely everything with your device that you want.
Happy hacking,
Napalm :good:
Click to expand...
Click to collapse
can't find recovery-from-boot.p. Y?
5implelove said:
can't find recovery-from-boot.p. Y?
Click to expand...
Click to collapse
Try not to quote a post that big mate, makes navigation a pain
5implelove said:
can't find recovery-from-boot.p. Y?
Click to expand...
Click to collapse
That part is only for the Nexus 7, and if you are using a Nexus 7 with custom ROM then this file may not exist. If you are using stock on a Nexus 7 then the only other question is whether you have renamed/moved/deleted it before. Once you
Code:
cd /system
type
Code:
ls -l recovery*
and see if anything is listed.
Napalm
Where did you find the info for step one?
Sent from my Nexus 7 using Tapatalk 2
I worked it out. You can find your VID and PID from your unknown device in Device Manager. You have to right click the device > Properties > Details > Choose Hardware Ids from the list. Since the driver from Google supports the same interfaces for other devices we can assume it works with the Nexus 7. I made the modifications and it works. Below is a full list of IDs if anyone wants them.
Napalm
Code:
Nexus 7
USB\VID_18D1&PID_4E40 : fastboot
USB\VID_18D1&PID_D001 : adb-recovery
USB\VID_18D1&PID_4E42 : composite-adb-interface (with mtp)
USB\VID_18D1&PID_4E42&MI_00: mtp-composite
USB\VID_18D1&PID_4E42&MI_01: adb-composite
USB\VID_18D1&PID_4E44 : composite-adb-interface (with ptp)
USB\VID_18D1&PID_4E44&MI_00: mtp-composite
USB\VID_18D1&PID_4E44&MI_01: adb-composite
USB\VID_18D1&PID_4E41 : mtp-only
USB\VID_18D1&PID_4E43 : ptp-only
Galaxy Nexus
USB\VID_18D1&PID_4E30 : fastboot
USB\VID_18D1&PID_D001 : adb-recovery
USB\VID_04E8&PID_6860 : composite-adb-interface (with mtp)
USB\VID_04E8&PID_6860&MI_00: mtp-composite
USB\VID_04E8&PID_6860&MI_01: adb-composite
USB\VID_04E8&PID_6866 : composite-adb-interface (with ptp)
USB\VID_04E8&PID_6866&MI_00: ptp-composite
USB\VID_04E8&PID_6866&MI_01: adb-composite
USB\VID_04E8&PID_685C : mtp-only
USB\VID_04E8&PID_6865 : ptp-only
Great guide, but why not just post up the new initrd for people that don't want to do this? It looks as if its the same for all devices.
As requested. Attached are the compiled tools and modified scripts used and the original and modified boot partition image files for the Nexus 7 running Android 4.1.2.
Napalm
Update for Android 4.2
Attached is the original and modified boot partition image files for the Nexus 7 running Android 4.2.
You can update yours with the following:
Code:
adb reboot-bootloader
fastboot flash boot nakasi-jop40c-android42-boot-new.img
Napalm
Attached is the original and modified boot partition image files for the Nexus 7 GSM/HSPA+ running Android 4.2.1
You can update yours with the following:
Code:
adb reboot-bootloader
fastboot flash boot nakasig-jop40d-android421-boot-new.img
Napalm
Amazing !
Is it possible to post the same file for N7 4.2.1 Wifi version?
Thanks
JulienDev said:
Amazing !
Is it possible to post the same file for N7 4.2.1 Wifi version?
Thanks
Click to expand...
Click to collapse
If I'm not mistaken, they are the same for wifi and 3g versions?
Same as before.. just an update for Android 4.2.2... as per the previous posts.. no idea if the non-GSM variant has the same boot partition. If anyone can test please post.
Attached is the original and modified boot partition image files for the Nexus 7 GSM/HSPA+ running Android 4.2.2
You can update yours with the following:
Code:
adb reboot-bootloader
fastboot flash boot nakasig-jdq39-android422-boot-mod.img
Getting a No_Command error
Hi, I am trying to true root Android M on my Nexus 7 2012 Wifi edition. I followed the steps here and was able to create the boot.img with the ro.debuggable=1 and ro.secure=0. however if i flash this boot.img the device boots and gets stuck in a android bot with a Red ! (bang) triangle. and says No command.
Any idea how to get ro.debuggable on for Android M?

Categories

Resources