How to Theme JFv1.51 CRB43-US using Ubuntu - G1 Themes and Wallpapers

One may think that it was nearly imposible to theme or modify a Us cupcake rom from JesusFreke because of his method of saving space on the system partition. In fact we have extra room for bigger sized themes. Here I will explain to you how to easily open and close the Cramfs files to modify /system/framework folder.
Cramfs can be opened and closed only through a Linux based shell.
To do this in windows, you should download Virtualbox.
After you finish installing it go and download Ubuntu.
Open Virtualbox and click on new. Follow directions to create your new Virtualbox Ubuntu OS.
Make sure you enable usb sharing. So that you can transfer files back and forth to both OS's.
Once you got Ubuntu running, open the terminal.
Type:
Code:
sudo -s
enter your password
apt-get install cramfsprogs
This command loads the Cramfs program files to your (Virtualbox Ubuntu OS).
Once the package installs, your ready to go.
-Opening Cramfs files:
Open terminal on your Virtualbox Ubuntu OS.
Type:
Code:
cramfsck -x /home/username/Desktop/opened 'framework.cramfs'
Cramfsck -x /home/username/Desktop/opened= Where the un cramfs-ed folder will be placed and what the folder is called.
Replace username above, with your user name.
framework.cramfs= the cramfs file you want to open.(Drag and drop in terminal)
The system will create a folder called "opened" on your desktop. (Feel free the change the name of folder from /opened to your liking)
That folder contains the /system/framework files un Cramfs-ed.
-Closing Cramfs files
You MUST be logged on to ROOT before closing Cramfs!!!
You MUST use the ORIGINAL files from the framework and app's folders of CRB43-US to prevent problems!!!
Open terminal on your Virtualbox Ubuntu OS.
Type:
Code:
sudo -s
enter password
mkcramfs '/home/username/Desktop/opened' framework.cramfs
mkcramfs '/home/username/Desktop/opened'= Location of the cramfs file.(Drag and drop in terminal)
Replace username above, with your user name.
framework.cramfs=The name of the cramfs file.
The system will create a cramfs file, located in the /home folder.(Click Places)
I have uploaded a CRB43-US Theme template to make it easier for you.
CRB43_US_Theme_Template.zip
Edit the template's framework and apps files to prevent forcloser!
I hope that you find this information useful in any way.
Here's some helpfull links:
How to manuals for creating themes
How to edit XML's
How to edit .9.png

Great technique. I've not tried it yet however I tried it with Cygwin. Unfortunately I don't think I was able to get it to work with it. Any thoughts?

From the other thread:
You need linux to do this! I mean come on, Android is not a Microsoft product, it's Linux based....Time to get your hands dirty.
Click to expand...
Click to collapse
I'm going to try it on SUSE Linux soon.

blackknightavalon said:
I'm going to try it on SUSE Linux soon.
Click to expand...
Click to collapse
Well ****. I did the sudo -s and password instructions and when I typed in the "apt-get install cramfsprogs" one I got "bash: apt-get: command not found" error message. HALP!!!1!
/SUSE Linux 10

blackknightavalon said:
Well ****. I did the sudo -s and password instructions and when I typed in the "apt-get install cramfsprogs" one I got "bash: apt-get: command not found" error message. HALP!!!1!
/SUSE Linux 10
Click to expand...
Click to collapse
apt-get is for Ubuntu and (i think) other Debian based Linux system. You'll need to use Redhat Package Manager (rpm) or some similar package manager.
http://en.opensuse.org/Libzypp/Package_Management
-Andy in Indy

Binary100100 said:
Great technique. I've not tried it yet however I tried it with Cygwin. Unfortunately I don't think I was able to get it to work with it. Any thoughts?
Click to expand...
Click to collapse
I tried it through Cygwin and I gave up because of the long process. I had to download a mirror site to download the cramfs program. Then I had to relocate most of the folders I wanted to modify because of that shell. Then I got more errors, so I said ...... that!!! And did it the way I posted it. I'll try to get it running on Cygwin and I'll let you know if I'm successful. FYI- you have alot more options on Ubuntu to Open ,see, and modify files on the Android packages, then you would on Cygwin.

So this maybe a newb question for some of you but I installed VirtualBox and Ubuntu 9.04 and followed the instructions. But I've hit a bump.
When I opened Terminal and entered sudo -s it will not let me enter my password. It just stays as a black box that doesn't move. I can type everywhere else... just not there for some reason. What am I missing?

Binary100100 said:
So this maybe a newb question for some of you but I installed VirtualBox and Ubuntu 9.04 and followed the instructions. But I've hit a bump.
When I opened Terminal and entered sudo -s it will not let me enter my password. It just stays as a black box that doesn't move. I can type everywhere else... just not there for some reason. What am I missing?
Click to expand...
Click to collapse
It doesn't show **** or anything, but its entering. Type password and press enter!

RichieDaze said:
It doesn't show **** or anything, but its entering. Type password and press enter!
Click to expand...
Click to collapse
Heh. I was hoping it was that easy. Thanks. I'm playing with it now.

Andy_in_Indy said:
apt-get is for Ubuntu and (i think) other Debian based Linux system. You'll need to use Redhat Package Manager (rpm) or some similar package manager.
http://en.opensuse.org/Libzypp/Package_Management
-Andy in Indy
Click to expand...
Click to collapse
Okay, I checked with my laptop's bin folder and I have rpm installed already. Today's n00b question is "now what?"

Wubi
Why don't you guys just use the wubi installer for ubuntu?
Its pretty mind numbingly easy to set up... and i haven't had any issues with it for the last month I've been using it.
http://wubi-installer.org/
then you can just use apt

jonnybueno said:
Why don't you guys just use the wubi installer for ubuntu?
Its pretty mind numbingly easy to set up... and i haven't had any issues with it for the last month I've been using it.
http://wubi-installer.org/
then you can just use apt
Click to expand...
Click to collapse
The only thing I didn't like about that installation was that I had to reboot to use either OS. With Virtual Box I can run my Os + 1,2, or 3 other OS's at the same time. That how I had it installed before I started using the Live cd to do the work. Thanks for giving us an other option. I guess its up to the users preference. I do recommend its use if you don't mind to reboot.

n00b question time: Would I be able to use the mkfs.cramfs program using SUSE? If so, what are the terminal codes?
/seriously stuck on this

its not working wat am i doing wrong
[email protected]:~$ sudo -s
[email protected]:~# ******
bash: ******: command not found
[email protected]:~# apt-get install cramfsprogs
Reading package lists... Done
Building dependency tree
Reading state information... Done
cramfsprogs is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[email protected]:~# cramfsck -x /home/ubuntu/Desktop/opened 'framework.cramfs'
cramfsck: stat failed: framework.cramfs: No such file or directory
[email protected]:~#
Click to expand...
Click to collapse
the ****** is the password.
i have the framework.cramfs
i also have the CRB43_US_Theme_Template.zip file on the ubuntu dektop
i tried this also
[email protected]:~# cramfsck -x C:\Documents and Settings\******\Desktop 'framework.cramfs'
usage: cramfsck [-hv] [-x dir] file
-h print this help
-x dir extract into dir
-v be more verbose
file file to test
[email protected]:~#
Click to expand...
Click to collapse
can someone help

bboy_201 said:
its not working wat am i doing wrong
can someone help
Click to expand...
Click to collapse
Did you pull the cramfs file from the zip onto your desktop before you dragged it onto the terminal?

yes i did..
its on my destop for my windows n my ubuntu desktop

Finally, progress!
Just to update you guys on one thing: After roughly 3 weeks of blindly thrashing about SUSE Linux Enterprise Desktop 10 and its buggy BIOS screen like a n00b, I FINALLY got installed Debian on my laptop! Next step: Figure out how to make a cramfs image and test-port my personal modded Moon Dust theme (with the Firefox logo on the browser and Carbon Black trashcan) before I actually start porting other devs (and them submitting the ports to the original devs for their approval).
Am I the only one actually working on this?

Progress Part The Second
blackknightavalon said:
Just to update you guys on one thing: After roughly 3 weeks of blindly thrashing about SUSE Linux Enterprise Desktop 10 and its buggy BIOS screen like a n00b, I FINALLY got installed Debian on my laptop! Next step: Figure out how to make a cramfs image and test-port my personal modded Moon Dust theme (with the Firefox logo on the browser and Carbon Black trashcan) before I actually start porting other devs (and them submitting the ports to the original devs for their approval).
Am I the only one actually working on this?
Click to expand...
Click to collapse
I had a few bugs to work out, but now Debian is working as good as I can hope to get it working on my laptop. Now I need to compare the differences between the CRB43 framework-res images and RC33's. After that, it'll simply be a matter of a one-for-one swap with the instructions courtesy of OP.
The main thing is that I got the "apt-get install cramfsprogs" part working!

Related

rom cooking - unyaffs

I'm not daily Linux user but I'm usually savvy enough to figure things out; however unyaffs is giving me quite some trouble.
I have downloaded unyaffs from Lox's Rom cooking thread and placed it in the /bin/ folder but when I type /bin/unyaffs system.img I get "cannot get execute binary file". Help please?
did you chmod +x it?
kendong2 said:
did you chmod +x it?
Click to expand...
Click to collapse
No, didn't know I needed to. So now I have am getting "syntax error: ")" unexpected.
I am brand new to Rom cooking; sorry if this seems simple or stupid.
It needs to be in your computer's /bin/, not your phone's. Actually, it can be anywhere as long as it's on your $PATH. It's usually suggested that you create a /bin/ directory at your home folder (~) and then run all your personal binaries from there, then you can include that /bin/ in your .bashrc so that it gets loaded on every new terminal.
Open up a terminal window and do either
Code:
~$ gedit ~/.bashrc
or
Code:
~$ nano ~/.bashrc
depending on which editor you're comfortable with. Add the following to the end of your .bashrc
Code:
PATH=$PATH:/path-to-home/bin/
export PATH
where path-to-home is, ofcourse, the path to your home folder (usually /home/username), you can't use the ~ wildcard in the .bashrc script.
After you have your ~/bin set up, restart the terminal then move the unyaffs binary to ~/bin/ and then chmod a+x it, that way you can run the tool from any location.
To run the tool, just pass an image file as a parameter, note that the contents will be output to the directory where the image file is stored, so say I have a hero system file on my Desktop:
Code:
~$ cd ~/Desktop
~/Desktop$ mkdir HeroSystem
~/Desktop$ mv system.img HeroSystem
~/Desktop$ cd HeroSystem
~/Desktop/HeroSystem$ unyaffs system.img
end of file.
~/Desktop/Herosystem$_
The contents, along with the system.img will be in ~/Desktop/HeroSystem
Okay so added the following to bottom of my bashrc:
PATH=$PATH:/home/tito/bin/
export PATH
New terminal:
Code:
cd ~/bin
chmod a+x unyaffs
cd ~/Desktop/HeroSystem
unyaffs system.img
bash /home/tito/bin/unyaffs: cannot execute binary file
Followed all directions but still getting this error.
Found this site: hotrobots.blogspot.com/2009/07/useful-tool-unyaffs.html
Managed to unyaff my system.img; thanks for the help.
Hi, I am getting the "cannot execute binary file" error aswell..
I copied unyaffs in /bin and it is executable for everyone.
Yet and still it won't work. Any ideas?
Or do I really have to put unyaffs in a seperate bin folder and then edit bashrc?
Oh, and I'm running Mac OS X, if that's of any importance.. Bash is bash I think, or are there any differences I'm not aware of?
royalmitkaese said:
Hi, I am getting the "cannot execute binary file" error aswell..
I copied unyaffs in /bin and it is executable for everyone.
Yet and still it won't work. Any ideas?
Or do I really have to put unyaffs in a seperate bin folder and then edit bashrc?
Oh, and I'm running Mac OS X, if that's of any importance.. Bash is bash I think, or are there any differences I'm not aware of?
Click to expand...
Click to collapse
in this case you need the binary for osx, but the rest of the instructions should apply AFAIK (i have never used macos myself).
Thanks, but where can I get a binary for OSX?
The code.google.com page only offers one version of the binary..
royalmitkaese said:
Thanks, but where can I get a binary for OSX?
The code.google.com page only offers one version of the binary..
Click to expand...
Click to collapse
it is probably easier to compile it yourself...
download xcode from apple developer site for free
download source unyaffs from google site
and run gcc -o unyaffs unyaffs.c.
thats it ur done
Thanks for everyone's help. Almost done with my rom.
royalmitkaese said:
Thanks, but where can I get a binary for OSX?
The code.google.com page only offers one version of the binary..
Click to expand...
Click to collapse
I've attached version i compiled for OSX 10.6
jabbslad said:
I've attached version i compiled for OSX 10.6
Click to expand...
Click to collapse
sorry for reviving a dead thread but i was getting the "cannot execute binary file" so i used your attached compiled unyaffs and now i'm getting "Bad CPU type in executable"
I'm not registered on apple as a developer and can't download xcode :/
i'm getting "Bad CPU type in executable"
Click to expand...
Click to collapse
Are you running a 32 or 64 bit kernel on osx. You need a compile binary that is correct for your cpu. Let me know I will attach the right one in a reply. Check under apple menu >> about this mac >> more info >> software >> 64 bit kernel and extensions, yes or no.
anika200 said:
Are you running a 32 or 64 bit kernel on osx. You need a compile binary that is correct for your cpu. Let me know I will attach the right one in a reply. Check under apple menu >> about this mac >> more info >> software >> 64 bit kernel and extensions, yes or no.
Click to expand...
Click to collapse
@anika200 I'm also getting "Bad CPU type in executable". Mine is a 32bit one...
64-bit Kernel and Extensions: No
Could you please build one for 32bit kernel?
I got a hold of xcode (i love torrents ) and compiled it myself.
Heres the attached compiled OSX 32 bit unyaffs
Extract it and place it wherever you want, and to use it in another directory make sure you append it to your .bash_profile
Hey alright. You got it done before I could even check the thread again. I figured it was a 64 bit. Now we have both on here, nice.
Anyone familiar with doing this on windows?
I tried a couple of binaries, but i get errors.
Microsoft Windows XP [Version 5.1.2600]
C:\g2orgsys>unyaffs systemg2.img
28852 [main] unyaffs 3212 _cygtls::handle_exceptions: Exception: STATUS_ACCESS
_VIOLATION
30677 [main] unyaffs 3212 open_stackdumpfile: Dumping stack trace to unyaffs.e
xe.stackdump
348883 [main] unyaffs 3212 _cygtls::handle_exceptions: Exception: STATUS_ACCESS
_VIOLATION
375003 [main] unyaffs 3212 _cygtls::handle_exceptions: Error while dumping stat
e (probably corrupted stack)
Perhaps windows just sucks with this. I've never really used bash, but I got some LiveCDs around. :/
I use the attached file, works fine on windows. I think you need cygwin installed but not sure.

Using Linux Mint instead of Windows...(SOLVED!!)

SOLVED! Followed the Guide in Post #5, than kept getting an error saying libncurse.so.5 cannot be found. I than opened the Package Manager and downloaded everything in the sun-java6-sdk and anything related to it. Than searched for anything of libncurse and installed those. than got a libc++ (or similar) missing than went back to Package Manager and download anything with libc++ in it. Afterwards, ran fine.
One quirk, as I'm sure this will be general knowledge to any Linux user but I am still a newbie at it. In root # i had to do ./adb to run the command, running just # abd gave me errors, exiting root back to $ alowed me to just use $ adb and not have to do ./adb
I know it's pretty shoddy, I think i downloaded 250MB of stuff I'm not sure I need. lol. I searched for the libncurse.so.5 file and had a lot of em, i think the package that actually did the trick was a ncurse32bit package, as I am on a 64 bit system. So take that into consideration
downloaded the android sdk, extracted it, however, when i use terminal and goto the tools folder and use adb
i get...
[email protected] /usr/bin/android-sdk/tools $ adb
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
Click to expand...
Click to collapse
I read something about adding it to path, and i went into my .profile and added in the :/usr/bin/android-sdk/tools after the $PATH yaddayadda but it still didn't work.
Any help is appreciated. This is really the only thing keeping me from wiping the 120gb partition for Win7 and using Linux only(which only has a 21gb partition)
Nrre said:
downloaded the android sdk, extracted it, however, when i use terminal and goto the tools folder and use adb
i get...
I read something about adding it to path, and i went into my .profile and added in the :/usr/bin/android-sdk/tools after the $PATH yaddayadda but it still didn't work.
Any help is appreciated. This is really the only thing keeping me from wiping the 120gb partition for Win7 and using Linux only(which only has a 21gb partition)
Click to expand...
Click to collapse
Since the android sdk doesn't actually install on your computer but placed there by you, you must make sure everything is in place for it to work properly. I am relatively new to linux myself, but this is what i've done to get it working properly:
create /etc/init.d/adbd
you will need to do this as root.
Code:
gksu gedit /etc/init.d/adbd
paste this into the file
Code:
#!/bin/sh
#
# For ADB deamon (Android Device Bridge)
#
case "$1" in
start)
/usr/bin/android-sdk/tools/adb start-server
;;
stop)
/usr/bin/android-sdk/tools/adb kill-server
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
now run this:
Code:
sudo ln -s /etc/init.d/adbd /etc/rc2.d/S10adbd
What you just did there was make sure adb daemon started as root whenever you booted (if you don't start it as root you will get errors later on down the road)
I'm not sure about mint, but on ubuntu its easier to just add the tools folder to your /etc/environment file.
Code:
gksu gedit /etc/environment
the file should look something like this:
Code:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin/android-sdk/tools"
go ahead and reboot just to make sure everything sticks. You should be good from then on.
You could add the path to your profile, but then if you have to run something as sudo, or if you have another user trying to do something similar, it could be a headache. If you don't have a /etc/environment, or if the above still doesn't work, go ahead and see if you have a ~/.bashrc.
edit that:
Code:
gksu gedit ~/.bashrc
add this to the bottom:
Code:
export PATH=${PATH}:/usr/bin/android-sdk/tools
let me know if this works, and if there are any more experienced linux users out there who notice any mistakes of mine, or have better advice please chip in. I just know I went through a huge amount of frustration to get adb to work properly, through much trial and error. this is the culmination of what i went through that was easiest for me. BTW i stole that code for the daemon to startup as root from somewhere else.
EDIT: I just realized my daemon is still not starting on boot? although, with the above script i can start it via:
Code:
sudo service adbd start
someone smarter than me, chip in and tell me what i'm doing wrong?
OP, you can always start the daemon yourself as root by typing
Code:
sudo /usr/bin/android-sdk/tools/adb start-server
EDIT: woops. I fixed the code above, as well as fixed my problem. on creating a link to rc2.d i typed "s10adbd" originally and it should be "S10adbd".
OP, this is a great example why paying attention to capital/lower case letters are super important when learning linux.
i changed my link and everything works on my system.
think i'm still doing it wrong. i didn't have a .bashrc file but i did have a bash.bashrc file.
i know linux mint is based off ubuntu.
here is my command line after doing everything above
richard-laptop richard # /usr/bin/android-sdk/tools/adb start-server
/usr/bin/android-sdk/tools/adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
richard-laptop richard # sudo service adbd start
adbd: unrecognized service
richard-laptop richard # adb shell
adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
Click to expand...
Click to collapse
think i'll take the laptop into work and mess with it tonight.
If you don't setup a your bash file, you can issue adb commands by using standard terminal commands from the /tools directory:
user:~$ ./adb start-server
Click to expand...
Click to collapse
To setup your .bash file, right from Google:
# On Linux, edit your ~/.bash_profile or ~/.bashrc file. Look for a line that sets the PATH environment variable and add the full path to the tools/ directory to it. If you don't see a line setting the path, you can add one:
export PATH=${PATH}:<your_sdk_dir>/tools
Click to expand...
Click to collapse
From terminal, you can run
user:~$ gedit ~/.bashrc
Click to expand...
Click to collapse
Nrre said:
think i'll take the laptop into work and mess with it tonight.
Click to expand...
Click to collapse
Please follow these instructions (source = wiki.cyanogenmod.com):
Ubuntu: Android SDK, ADB, Fastboot.
There are various great tutorials online to help you set these options up for Windows, but the process of setting this up in Ubuntu Linux is rather fragmented across various different forums, and can be rather confusing! This is a tutorial I have put together after having real trouble setting it up myself, after trawling through numerous forums, and getting help from many very helpful folks on various forums including this one!
Tutorial: This will show you how to complete the basic set up of the Android sdk, and then how to enable the 'adb' and 'fastboot' connections so as to allow you to issue commands from the terminal directly to your phone.
Disclaimer: As always, you follow this tutorial at your own risk, nobody is forcing you to! I take absolutely no responsibility for damage to your computer / mobile phone etc. This is the process I have followed, and it is working fine!
Basic Android sdk installation and set-up:
You will need to download the following files before you start:
android_sdk_r05-linux_86.tgz [1]
Fastboot [2]
1. Extract the 'android_sdk_r05-linux_86.tgz' file to your 'Home' folder and rename it to 'sdk' to make things easier later on.
2. Move the fastboot file in to the 'Tools' folder inside the 'sdk' folder.
3. Now right click on both the 'fastboot' and 'adb' files (inside the tools folder) and choose 'Properties' and then the 'Permissions' tab, and ensure they both have the 'allow executing file as program' box is ticked...Now reboot the computer, sorted!
Set up ubuntu to recognize your phone, and the adb/fastboot commands in the terminal
1.Open your 'Home' folder. Press 'Ctrl' & 'H' at the same time to view hidden files, and then open the '.bashrc' file and add the following text to the top of the file:
#AndroidDev PATH
export PATH=$PATH:/home/username/sdk/tools
2.Obviously you will need to replace 'username' with your own...Save the file and exit.
3.Now log-in as root.
3. Navigate to the following directory in the root filesystem: /etc/udev/rules.d/
4. Create the following empty file:
(ubuntu 10.04)
99-android.rules
(ubuntu 9.10)
70-android.rules
(ubuntu 7.10/8.04)
51-android.rules
5. You then need to edit the file with the following text (depending on your version of ubuntu):
ubuntu 7.10/8.04/9.10:
SUBSYSTEM==”usb”, ATTRS{idVendor}==”0bb4”, MODE=”0666”
SUBSYSTEM==”usb”, ATTRS{idVendor}==”18d1”, MODE=”0666”
SUBSYSTEM==”usb”, ATTRS{idVendor}==”22b8”, MODE=”0666”
ubuntu 6.06:
SUBSYSTEM==”usb_device”, SYSFS{idvendor}==”0bb4”, MODE=”0666”
SUBSYSTEM==”usb_device”, SYSFS{idvendor}==”18d1”, MODE=”0666”
SUBSYSTEM==”usb_device”, SYSFS{idvendor}==”22b8”, MODE=”0666”
6. Save this file, and then open the terminal and enter the following command:
chmod a+rx /etc/udev/rules.d/70-android.rules
Change the '70' to '51' depending on your version of ubuntu.
For a list of the vendor ID's go here: VendorID's [3]
7. Now reboot the computer.
8. Open Terminal, and issue the following commands:
su
cd /home/username/sdk/tools/
./adb kill-server
./adb start-server
You will now be able to open a terminal and carry out 'adb' and 'fastboot' commands directly.
Credit and thanks to:
koalaboy, Apostasy, Cloverdale, wddglr, JgeZau.
EDIT: I have followed this tutorial to the letter myself today on my laptop to prove it works, for both yours the reader, and my own peace of mind as the writer! Enjoy, it works flawlessly!
Click to expand...
Click to collapse
I have followed these directions more than once and each time they work flawlessly. This should work with Linux Mint, since Mint's based off Ubuntu.
For Part 4, use Ubuntu 10.04 when creating the empty file and for Part 5, use this SUBSYSTEM: SUBSYSTEM==”usb”, ATTRS{idVendor}==”0bb4”, MODE=”0666” and paste that into your 99-android.rules file.
followed to a T.
not sure how to log in as root, so i just 'run as administrator' i can't find anything on root for this.
i still get the following after i do that entire guide
richard-laptop richard # cd /home/richard/sdk/tools
richard-laptop tools # ./adb kill-server
./adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
richard-laptop tools # ./adb start-server
./adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
Click to expand...
Click to collapse
Nrre said:
followed to a T.
not sure how to log in as root, so i just 'run as administrator' i can't find anything on root for this.
i still get the following after i do that entire guide
Click to expand...
Click to collapse
To login in as root, you enter:
Code:
sudo su
As for the "error while loading shared libraries: libncurses.so.5" -- I've never seen that error before. Might be Linux Mint problem? I currently run Ubuntu 10.04 32 Bit.
when i do SU it asks my password and the $ becomes a #
i assume that is root? i dont have to do SUDO i just did SU
yeah if i do SUDU SU i get a 'SUDO command not found'
gonna post this over on the linux mint forums see if they can help me to.
Nrre said:
when i do SU it asks my password and the $ becomes a #
i assume that is root? i dont have to do SUDO i just did SU
yeah if i do SUDU SU i get a 'SUDO command not found'
gonna post this over on the linux mint forums see if they can help me to.
Click to expand...
Click to collapse
Wait... wait.. are you trying to do following instructions on your phone or on your computer?
If you run su on your phone, sure you'll get root (# sign). But the command, sudo su was meant for your computer. The instructions I listed are for your computer with Linux Mint installed.
yeah i'm doing it on my computer =P
if i do SUDU SU it gives me that error, but SU gives me #
so...i was hoping it'd all be teh same since Mint is based off ubuntu and half my updates are ubuntu files.
[email protected] ~ $ sudu
No command 'sudu' found, did you mean:
Command 'sudo' from package 'sudo' (main)
Command 'sudo' from package 'sudo-ldap' (universe)
Command 'tudu' from package 'tudu' (universe)
sudu: command not found
[email protected] ~ $ SUDU su
SUDU: command not found
[email protected] ~ $ SUDU SU
SUDU: command not found
Click to expand...
Click to collapse
so, not sure what else to do.
sudo
not sudu
elegantai said:
sudo
not sudu
Click to expand...
Click to collapse
balls, well i still get the same result after i go through and make all the changes and use SUDO SU instead of just SU, i get the same prompt with #
this is still my end result.
richard-laptop richard # cd /home/richard/sdk/tools/
richard-laptop tools # ./adb kill-server
./adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
richard-laptop tools # ./adb start-server
./adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
Click to expand...
Click to collapse
makes me feel like i'm missing a file somewhere. i did download the newest android sdk and not the older version that is in the guide. but i still installed the packages for android 2.1 and 2.2
suppose i'll delete it all and start over.
EDIT: Went through, put in proper vendor IDs and noticed i put Richard in the Path and not richard, still, says it's missing the same "libncurses.so.5" so...not sure what to do. =/
I don't know that error either, but looking at this thread:
http://bbs.archlinux.org/viewtopic.php?id=66878
sounds like it could be a java issue? Didn't think to ask, have you installed the java sdk? which version of java are you running?
now that i think about it...i don't believe i downloaded a new java...
the worse news is my win7 got corrupted somehow =P so now i only have Linux so time to dig in and try this out.
I'd download the stuff now but I'm tethering through my phone so i'm lucky to get 600kbps download speeds in this reception area.
I could step 10 feet outside and hit 1200kbps though. So i formatted the HD and reinstalled Linux Mint. Once i get home I'll look into the JDK as that makes sense now that I think about it to.
EDIT: Should I install Eclipse also? Installing Android SDK and Java6 JDK right now. I really just want to use ADB for now to send commands to phone etc.
No need for eclipse.. That's just for actual development
ADB Error: /home/richard/sdk/tools/adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
'adb start-server' failed.
Click to expand...
Click to collapse
this shows up int he Android SDK/AVD manager as i install all the packages...
EDIT: opened up software manager, and downloaded every sun-java package, than installed everything that showed up when i typed libncurses ... once it's done will reboot and try again =P
2nd EDIT: i decided to search for libncurses.so.5 and i have 3 of em, one in usr/lib, /lib64 and something else.
so..not sure where else to put it, went into synaptics thing or something and downloaded ncurses32bit as i noticed none of my lib32 folders had it...giving it a go.
btw... my .bashrc is .profile, i copied .profile and renamed it to .bashrc and my prompt stopped showing up in terminal...linux is so weird.
3rd EDIT: Just isn't meant to be. got to ./adb kill-server and instead of missing the libncurse.so.5 i am now missing..
richard-laptop tools # ./adb kill-server
./adb: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Click to expand...
Click to collapse
off i go to hunt this package down
it's working...finally
however...
richard-laptop tools # adb devices
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
richard-laptop tools # ./adb devices
List of devices attached
HT*********** device
Click to expand...
Click to collapse
i have ot do ./adb and not just adb
EDIT: exit su, and in $, lets me just do adb.
THANK YOU EVERYONE <3 Wish I could +rep or Thanks your post here.!!
changed title to reflect it. was a good 'thrown under the bus' into linux. now to read up more on it. w/out losing half my CCNA knowledge i've gathered...ha
Enjoy Linux. You'll enjoy it once you get used to it.
Sent from my PC36100 using XDA App
Nrre said:
it's working...finally
however...
i have ot do ./adb and not just adb
EDIT: exit su, and in $, lets me just do adb.
THANK YOU EVERYONE <3 Wish I could +rep or Thanks your post here.!!
changed title to reflect it. was a good 'thrown under the bus' into linux. now to read up more on it. w/out losing half my CCNA knowledge i've gathered...ha
Click to expand...
Click to collapse
Since this has been solved, I would advise posting the resolution on the first page -- so new users are aware of what exactly you had to do to fix it.

[GUIDE ME] I wanna Dev

[New Question.] So let's start with the first things I'll need to know.....
how do I build root into a stock rom?
How do I create a flashable .Zip from scratch for my rom to go in?
How do I edit the text from cwm when I flash this rom?
And yes this thread is going to become a guide once I learn all I need to know about Building roms for the epic =]
[ANSWERED]So I'm thinking about kicking windows out the, erm, window lol..... I want to start learning about developing and want to start a few projects to pay back the community..... I'm guessing I can't develop on windows so I was wondering what would be the best version of Linux to use?..... and would it be possible to port a driver from windows to Linux?[ANSWERED]
A little how to for this guide..... Thank you mkasick =]
mkasick said:
Download Superuser su-2.3.6.3-efgh-signed.zip. Unzip, and copy "su" to "/system/xbin/su" on your phone, and run:
Code:
chown root.shell /system/xbin/su
chmod 4755 /system/xbin/su
from an adb root shell or terminal emulator. Then optionally copy Superuser.apk to /system/app. The part is optional because you can also install it to /data like a normal .apk, or install it from the Market, there's nothing special about it.
Grab tws_fix_ringer_vib_silent-EC05-deodex.zip (from this thread). Unzip and delete "META-INF/MANIFEST.MF", "META-INF/CERT.SF", "META-INF/CERT.RSA", and "system/framework".
Now, place whatever you want in the appropriate subdirectory of "system", creating them as necessary. Edit "META-INF/com/google/android/updater-script" to match the description of whatever you want to flash. And zip everything back up, e.g.,:
Code:
zip -9r update-unsigned.zip META-INF system
Note the zip should contain "META-INF/com/google/android/update-binary" and "META-INF/com/google/android/updater-script", in addition to anything you've placed in "system".
At this point the update.zip is flashable in ClockworkMod, but it's nice to sign it so that it can also be flashed in a test-keys stock recovery. To do so, download the attached "signapk.tar.gz". Extract it, then run:
Code:
java -jar signapk/signapk.jar -w signapk/testkey.x509.pem signapk/testkey.pk8 update-unsigned.zip update.zip
The resulting update.zip of which you can now distribute.
As for the "from scratch", update-binary and signapk.jar are both build from Froyo AOSP sources, specifically the android-cts-2.2_r2 branch. If you get an AOSP build environment setup as described, update-binary is made with:
Code:
make out/target/product/generic/system/bin/updater
cp -a out/target/product/generic/system/bin/updater update-binary
and signapk.tar.gz with:
Code:
make out/host/linux-x86/framework/signapk.jar
mkdir signapk
echo "java -jar signapk.jar -w testkey.x509.pem testkey.pk8 update-unsigned.zip update.zip" > signapk/README
cp -a out/host/linux-x86/framework/signapk.jar build/target/product/security/testkey.* signapk
tar cf signapk.tar signapk
gzip -9 signapk.tar
See above, but basically just modify the "ui_print" strings in "META-INF/com/google/android/updater-script".
Click to expand...
Click to collapse
If you've never used Linux before I would recommend using something like Mint just to get your feet wet.
Oh I've used mint, opensuse,Ubuntu, fedora, and debian before..... but I don't know which one is best for developing roms and compiling kernels and all that jazz..... and I don't think my wifi USB has a native driver for Linux so that's what's really keeping me from overwriting windows.....
theduce102 said:
Oh I've used mint, opensuse,Ubuntu, fedora, and debian before..... but I don't know which one is best for developing roms and compiling kernels and all that jazz..... and I don't think my wifi USB has a native driver for Linux so that's what's really keeping me from overwriting windows.....
Click to expand...
Click to collapse
I use Ubuntu, I know a lot of people use gentoo but it's definitely not like debian based distros lol
Like you said with the driver, it all comes down to what is available and compatible with your system. I recommend Ubuntu just because of the (duh) massive support base compared to other distributions in terms of drivers and such.
Sent from my SPH-D700 using XDA Premium App
thomasskull666 said:
I use Ubuntu, I know a lot of people use gentoo but it's definitely not like debian based distros lol
Like you said with the driver, it all comes down to what is available and compatible with your system. I recommend Ubuntu just because of the (duh) massive support base compared to other distributions in terms of drivers and such.
Sent from my SPH-D700 using XDA Premium App
Click to expand...
Click to collapse
Thank you for the advice =]
EDIT: I don't know much about command lines..... what do people mean when they say "cd" like "cd to the folder in the terminal"?
Change Directory
So something like cd /sys/app nvigates you in the "app" directory within the system *folder* you will then be installing / modify / editing or whatever to the files in that specified directory.
Okay well I just installed Ubuntu 11.04 on top of vista and I can already tell I'm going to be spending most of my time on Linux instead of windows if I can get this driver installed without causing wwIV
EDIT: Okay so everytime I type "sudo" to gain root the terminal asks for my password but it won't let me type it???? What do I dooo!!!!
For application and kernel development it doesn't really matter which distribution you're running as the commonly used packages (e.g., Android SDK/NDK, Java, Sourcery G++ Lite) are fairly agnostic.
If you wanted to compile the AOSP source tree, Ubuntu might be the best route, only because the documentation uses Ubuntu configurations and package names as examples.
And yes, it worth going through command line tutorials. I don't recommend that one specifically, it was just the first hit on Google.
As for your sudo issue, just type the password. It doesn't show you the password as you type it for privacy purposes.
mkasick said:
As for your sudo issue, just type the password. It doesn't show you the password as you type it for privacy purposes.
Click to expand...
Click to collapse
Yeah I went ahead and typed it but no go..... ill boot back into Ubuntu and try it again but if its still not working what's my next move? Sorry for being such a Linux noob in xda lol
theduce102 said:
Yeah I went ahead and typed it but no go..... ill boot back into Ubuntu and try it again but if its still not working what's my next move? Sorry for being such a Linux noob in xda lol
Click to expand...
Click to collapse
Did you install or are you running live?
Got this from http://ubuntuforums.org/
You can't login as root. Ubuntu does not use the root account. You can use sudo if you need to do anything as root, see: https://help.ubuntu.com/community/RootSudo
As far as I know, the password on the live CD is empty. Just press Enter when it asks for a password after entering "sudo <command>".
Well I did the dual boot option so when I boot my system I choose between Ubuntu and vista..... I had to choose a password and it worked when I typed it this time..... but now I have another problem lmao.....
I can enter "sudo make" and it does its thing, then I enter "sudo make install" and all goes well, but then I enter "sudo modprobe rt3572sta" and it returns "Invalid module format".....
I copied the entire terminal convo if it would help I can post it?
Any ideas?
EDIT: yeah I made an account over their at the forums but it seems pretty slow especially when I need help with one specific device?
One way to avoid the nightmare of patching together a working wifi driver in linux, install it in a VM (Virtualbox or Vmware) on the vista side. Then you can use the wifi adapter through the windows driver.. And then you don't have to do a full reboot to get to windows or ubuntu/mint.. (love Mint btw.. it lives in my VM, laptop, seedbox and soon to be server)
pvtjoker42 said:
One way to avoid the nightmare of patching together a working wifi driver in linux, install it in a VM (Virtualbox or Vmware) on the vista side. Then you can use the wifi adapter through the windows driver.. And then you don't have to do a full reboot to get to windows or ubuntu/mint.. (love Mint btw.. it lives in my VM, laptop, seedbox and soon to be server)
Click to expand...
Click to collapse
Lol I once compiled a driver to use my blackjack 2 as a modem on a 300mhz thin client rdp computer that I got puppy linux to run on in 2007
Sent from my SPH-D700 using XDA Premium App
pvtjoker42 said:
One way to avoid the nightmare of patching together a working wifi driver in linux, install it in a VM (Virtualbox or Vmware) on the vista side. Then you can use the wifi adapter through the windows driver.. And then you don't have to do a full reboot to get to windows or ubuntu/mint.. (love Mint btw.. it lives in my VM, laptop, seedbox and soon to be server)
Click to expand...
Click to collapse
Good suggestion, makes things a lot easier. The only thing is performance, you will be running on (usually) half the power of the computer which will slow compile times to a crawl for example.
As far as the root password goes, use the passwd command to change it:
Code:
sudo passwd root whateverpassword
pvtjoker42 said:
One way to avoid the nightmare of patching together a working wifi driver in linux, install it in a VM (Virtualbox or Vmware) on the vista side. Then you can use the wifi adapter through the windows driver.. And then you don't have to do a full reboot to get to windows or ubuntu/mint.. (love Mint btw.. it lives in my VM, laptop, seedbox and soon to be server)
Click to expand...
Click to collapse
Thanks that's what I was thinking about doing but like thomasskull said it likely gonna take a dump on performance but may be the only choice I have....
thomasskull666 said:
Good suggestion, makes things a lot easier. The only thing is performance, you will be running on (usually) half the power of the computer which will slow compile times to a crawl for example.
As far as the root password goes, use the passwd command to change it:
Code:
sudo passwd root whateverpassword
Click to expand...
Click to collapse
Well I don't really care much about changing password anymore cause I was finally able to enter the password but as always there's another problem..... ill probably post the terminal readings later on tonight when I get back to my computer.... and as for using a virtual machine, is there another way to go without dumping performance and without dealing with installing drivers through the terminal.....
Thank you all so much.... you guys have no idea how much I appreciate your help =]
So I downloaded VMware Player, where do I go from there to get the drivers installed so that I can reboot into Ubuntu and use the wifi card?
Well, under vmware workstation you should be able to just install a vm with just the iso file or the cd of the ubuntu build you want to install, its prescripted, and easy t use. With vmware workstation you can define hoow many proscessors you want to use, threads, ram, w/e... then vmware also installs a network service under windows that uses windows to transfer the network data into your vm. No need to configgure your wifi under linux anymore
Also, I think you're missing the point of a Virtual Machine. A VM runs alongside your current OS install. Software like VMWare Workstation acts as if its a virgin computer and makes an image file on your hard drive that acts as a hard drive for the VM. You can be running windows and linux simutaneously with a VM. For instance, whenever I develop or need linux, I open my vm nd use it on my seccond monitor. One monitor windows, the other linux, and you can even drag and drop **** to each other os. Its amazing. Just make sure you allocate uenough threads and ram to your vm and you should be fine.
Can I use all the ram and threads because I only have 1GB ram and a 3GHhz dual core processor..... or is that enough to run it
with only 1gb of ram, you probably wouldn't want to run a VM since you'd really not want to use more than 512mb of your total 1gb.. With that little ram, your best choice is the dual boot setup.

Galaxy Nexus MTP and Ubuntu or Mint Linux solved

I didn't have a GN until this week so my only LIMITED experience was with my nephew's GN and I was not able to connect it to my Ubuntu 11.10, 11.04, 10.10 or Mint 12. I got my own this week and started the search. Here is how you do it courtesy of Shannon VanWagner
and his website Humans Enabled
Shannon's info:
https://plus.google.com/115207567016362184954/about
Thanks Shannon. Here is the what you should do: again all credit goes to Shannon VanWagner. Fire up a terminal session:
1-
Code:
sudo apt-get install libusb-dev
2- download libmtp tar.gz from http://sourceforge.net/projects/libmtp/files/libmtp/
3-cd to the directory you downloaded to: Download in this case, case sensitive
Code:
cd Downloads
4- extract the tar package
Code:
tar xvf libmtp-1.1.1.tar.gz
please make sure you check the file version, this file changes as it is updated and change it accordingly per the above website
5- cd to the newly created folder that has the extracted file:
Code:
cd libmtp-1.1.1
again don't forget to change the name if the version has changed
6- compile and install: do each step separately
Code:
./configure --prefix=/usr
Code:
make
Code:
sudo make install
7- while in the same directory in the terminal, copy the rules from there to the udev folder:
Code:
sudo cp 69-libmtp.rules /etc/udev/rules.d
8- install gMTP:
Code:
sudo apt-get install gmtp
9- open up gMTP, go to edit/prefrences and check the box for Always Show Download Path. This way when you are downloading from the phone to your computer, you are asked to choose a location. Use the Add button to upload from your Linux Box to the phone. Delete does, well, Delete a file.
Thanks so much for this. I was having all kinds of problems! Worked flawlessly!
I'm just wondering, why people still using USB cable for file transfers? There's gazillion threads here about broken USB ports and all of them are reall. I had my self that problem on SGS2 and since then i started to use Wifi Explorer. It's just safer and easier.
Don't take this as thread spoiling, i'm really thankful to everyone who shares info. l'm just trying to warn you, because USB port problem does exist even if you're extremely careful as i am.
Sent from my super Galaxy Nexus plus®
I love Wifi Explorer as well but you do run a much greater risk of a corrupted file over wifi as opposed to usb.
I didn't have to do step 2. All I did was install libusb-dev and install gMTP and it worked.
That said I hate what google did here! I can no longer play music via usb on my car deck because of this
MS. said:
I'm just wondering, why people still using USB cable for file transfers? There's gazillion threads here about broken USB ports and all of them are reall. I had my self that problem on SGS2 and since then i started to use Wifi Explorer. It's just safer and easier.
Don't take this as thread spoiling, i'm really thankful to everyone who shares info. l'm just trying to warn you, because USB port problem does exist even if you're extremely careful as i am.
Sent from my super Galaxy Nexus plus®
Click to expand...
Click to collapse
Thanks for the suggestion. I do use that especially since Amazon App store had it as the Free Paid app of the day a few months back. But you still need your wired connection for important files like radios, kernels, and roms. hate corrupted radios
Then i must be lucky, had no corrupted transfers yet (or at least i didn't notice that)
apt-get install gmtp fails.... I get the following::
Reading package list... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package gmtp
What now? I'm running 64bit Ubuntu 10.04 LTS
Hello, I wonder if can I expect a Fedora solution?
DAG425 said:
apt-get install gmtp fails.... I get the following::
Reading package list... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package gmtp
What now? I'm running 64bit Ubuntu 10.04 LTS
Click to expand...
Click to collapse
I'm sure you did sudo apt-get, right?
gMTP is in the Ubuntu software center. I guess you can get it that way too.
Yes, any time i know im gonna need sudo multiple times i just run root terminal.... Got it from package manager! Thanx!!
Anyone else noticing massive slow ups when transferring files? The only things that happens quick is to download something from the device, uploading, and deleting take forever.
Thanks man for the guide.
its working but its supposed to be so slow(connect takes so long)??
Hi I've followed your guide down to the letter but my Nexus won't mount gMTP hangs and refuses to respond. What do you suggest?
emmib said:
Hi I've followed your guide down to the letter but my Nexus won't mount gMTP hangs and refuses to respond. What do you suggest?
Click to expand...
Click to collapse
a little info may help. What version of Ubuntu are you running? Any errors?
You may also want to look in to mtpfs which is a FUSE filesystem providing access to MTP devices. It's easy to use and with correct permissions you can mount the device as a user.
I've been using it and there is a long pause mounting the device for some reason but read / write speeds are very good. When the phone is connected you simply mount it with:
mtpfs [mount point]
Lost Dog said:
You may also want to look in to mtpfs which is a FUSE filesystem providing access to MTP devices. It's easy to use and with correct permissions you can mount the device as a user.
I've been using it and there is a long pause mounting the device for some reason but read / write speeds are very good. When the phone is connected you simply mount it with:
mtpfs [mount point]
Click to expand...
Click to collapse
so you just connect the point and type the above? Do you have to specify the mount point? What do you use?
loveubuntu said:
so you just connect the point and type the above? Do you have to specify the mount point? What do you use?
Click to expand...
Click to collapse
Make a directory to mount it at (~/phone or something). Connect your phone in MTP mode then type:
mtpfs ~/phone
It's user space so you don't need to use su or sudo. You do however need to have FUSE support in your kernel. You may need some of the other dependencies but if you install mtpfs in mint it should pull those in (I'm using Mint 12).
loveubuntu said:
a little info may help. What version of Ubuntu are you running? Any errors?
Click to expand...
Click to collapse
I'm terribly sorry about that, how rude of me XD I'm not running Ubuntu, I'm running Linux Mint 12, 32-bit. My Nexus is completely stock, GSM, running 4.0.2.
I finally can transfer files between ubuntu and my galaxy Nexus. Dumb google.
It took me days to find this thread. Wow you are amazing. I have tried different tutorial that would freeze my pc. Thanks for for sharing.

Xperia on Ubuntu (Udev rules, Flashtool, ADB&Fastboot)

This is a thread written to try and get poor MilkyJoePD up and running with his Ubuntu build, but it should be of help to anyone.
First of all, what you need:
1) Any version of Ubuntu from 10.04 onwards, with superuser access. The upcoming LTS Ubuntu 12.04 will be a great idea when it comes out, as it'll be maintained for 5 years (so the instructions to install it there will be valid for all that time).
2) Your Xperia Play (or any Xperia phone actually).
3) A Micro USB cable to connect it.
4) An open mind about terminal emulators. They're useful because they allow you to do things quickly and cleanly, if you just know their syntax.
What will we be doing in this thread: we'll set up our Xperia Play so that it gets recognized properly by Ubuntu. In addition, we'll set up ADB and Flashtool, which are programs with which our Xperia Play can interact. Lastly, we'll cover how to summon the "adb" and "fastboot" commands from any point in the terminal, by adding them to the $PATH variable.
Setting up the Xperia phone: udev rules
Android devices don't need specific drivers to work in Linux: you can plug an Android phone and it will be recognised as a flash drive. However, if we want deeper levels of interaction, such as the ones which ADB, Fastboot and Flashtool provide, we have to set up udev rules. Long story short, udev rules allow us to give the proper permissions that these modes require without having to function as superuser the whole time (an undesirable state of things in Ubuntu). Much more about them can be found here for the curious minds out there.
But let's not get lost. We want to set up udev rules, so we'll do it. First of all, we need to know the following: a device connected while it functions normally is not "seen" as the same device when it's connected in the Flash or Fastboot modes. In order to identify it, we can run "lsusb" which lists all of the ports, and connected devices, in our computer.
So, let's connect a Xperia phone which is turned on. We don't have to mount the sdcard as a flash drive, just plug it in. Once you have done that, open a terminal and type
Code:
lsusb
It will list you a boatload of devices, but only one of them is relevant to you right now:
Code:
Bus 00x Device 00y: ID 0fce:aaaa Sony Ericsson blah blah
The device is identified with two alphanumeric chains. The first one is the vendor ID, and the second one is the Product ID, which are the identificators we're going to use for the udev rules later on.
Let's switch off our phone, and plug it in "Flash" mode (hold the Back button while you connect it). Run "lsusb" again in the terminal again, and you'll find:
Code:
Bus 00x Device 00y: ID 0fce:bbbb Sony Ericsson blah blah
The Vendor ID is the same (0fce) for all Sony Ericsson devices, but the Product ID is different, as you can see. This is consistent with the idea that it's identified as "another" device.
The last part would be plugging the phone in Fastboot mode, holding the Search key while we plug the phone. Typing "lsusb" in the terminal again will give us:
Code:
Bus 00x Device 00y: ID 0fce:cccc Sony Ericsson blah blah
Which is, as we know already, a different Product ID.
Now that we have the device ID needed for the udev rules, we can write them. The most expedite way is to write in that lovely terminal:
Code:
sudo gedit /etc/udev/rules.d/99-android.rules
That means, we'll use the standard text editor (gedit) to create the file 99-android.rules in the /etc/udev/rules.d folder. If we visit said folder we'll find other udev rules created already, but they're not interesting for our task. Notice that we ask for superuser permissions with "sudo" as we need them to write or modify udev rules. Once we have put our password we'll find an empty text file. And now we just copy-paste the following syntax:
Code:
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”0fce″, ATTRS{idProduct}==”aaaa″, MODE=”0666″
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”0fce″, ATTRS{idProduct}==”bbbb″, MODE=”0666″
SUBSYSTEMS==”usb”, ATTRS{idVendor}==”0fce″, ATTRS{idProduct}==”cccc″, MODE=”0666″
In human language, this means "Give the devices that are connected through USB and which have the mentioned ID codes the permissions 0666 (read/write access), which need root access".
Once we've filled the gaps, we just save the file. After we close it, we have to type in the terminal "sudo restart udev" and we've taken care of that part. Rebooting the computer has the same effect, but it's a bit of overkill, really.
Flashtool
With the udev rules fixed, we can go to the next step, which would be using Flashtool. It is necessary to mention that unlike the Windows version, Flashtool doesn't need any installation of any kind in Linux, you just run the program (the file called Flashtool) and you're set. You have to download the Flashtool folder, uncompress it and run the program. The folder is compressed in .7z format: Ubuntu doesn't manage 7z packages "out of the box", but that's no problem: go to your terminal, type:
Code:
sudo apt-get install p7zip-full
and that should take care of it. If you're not familiar with that command, "apt-get install" is the way to install packages from your existing repositories in Debian/Ubuntu; installing software in Ubuntu requires superuser access, as I'm sure you know. p7zip-full is a package which adds 7zip support to the archive manager of Ubuntu.
I won't cover how to use Flashtool, since I already did so in this post. While I made the tutorial for an older version of Flashtool, the base functions are exactly the same as before.
Optional: ADB and Fastboot; setting them in $PATH
OK, now we're going to the stronger stuff: if you want to do a bit more than restoring official ROMs and flashing kernels you'll do well in using the ADB and Fastboot programs. They're part of the platform tools of the Android SDK. You can download the latest Android SDK here: http://developer.android.com/sdk/index.html
Once you've downloaded and uncompressed the Linux version of the SDK, go to the "tools" folder and run the "android" file (you need to mark it as executable first, in the properties). That file is the Android SDK Manager. Once it's running, you only need to install the SDK Platform Tools package. The rest are not necessary for our purposes.
Once you install the package, you'll notice that the folder where you unpacked the SDK is bigger. You'll find there the "platform-tools" folder, which contains adb and fastboot. You can run them from a terminal, but that requires you to have your terminal running in the exact folder where your /<Path/to/SDK> directory lies. This can get old really quickly if you use ADB and/or Fastboot frequently, so we'll do a trick that will allow us to summon them from any folder: we'll add them to our PATH variable.
In order to do this, we need to open a new terminal. It will start in our home directory. There is a file called .bashrc in our home folder that we need to tweak, so let's go to it. You don't see it normally, as it's hidden. All files which begin with a . in Linux will be hidden by default. You can see them in Nautilus by pressing Ctrl+H, and in a terminal by typing "ls -a". At any rate, this file is hidden because you usually don't need to touch it, but we'll do it here.
In our terminal, we write
Code:
gedit .bashrc
Again, gedit is the standard text editor in Ubuntu.
We see a lot of stuff we don't need to touch. We just need to go to the final line, after the word "fi" and write below:
Code:
# ADB and Fastboot direct link (this is a comment, so we remember what we did)
PATH=$PATH:/home/Path/to/SDK/platform-tools/
export PATH
We save the modified file, close any terminal we had left open, and now we can use adb and fastboot directly from any folder. Just connect your device with debug mode on for example, and type "adb devices": you should see the ADB identificator of your device.
And with that, I cover the installation guide of Xperia phones in the Ubuntu environment. I hope it's useful to everyone, particularly to MilkyJoePD who has inspired me to write it. If I've missed something I should have mentioned, by all means say it.
Haven't used Ubuntu for a while but I'm taking note of this for later. Thank you for the info.
Sent from a Galaxy far, far away
don't forget to install de dependencies:
Code:
sudo apt-get install libusb-1.0
on 64 systems, you need 32bits libraries, so run:
Code:
sudo apt-get install ia32-libs
With the news of Sony not releasing ICS, I decided to try again to get fastboot working.
While installing the dependencies, I get this:
W: Duplicate sources.list entry cdrom://Ubuntu 11.10 _Oneiric Ocelot_ - Release i386 (20111012)/ oneiric/main i386 Packages (/var/lib/apt/lists/Ubuntu%2011.10%20%5fOneiric%20Ocelot%5f%20-%20Release%20i386%20(20111012)_dists_oneiric_main_binary-i386_Packages)
W: Duplicate sources.list entry cdrom://Ubuntu 11.10 _Oneiric Ocelot_ - Release i386 (20111012)/ oneiric/restricted i386 Packages (/var/lib/apt/lists/Ubuntu%2011.10%20%5fOneiric%20Ocelot%5f%20-%20Release%20i386%20(20111012)_dists_oneiric_restricted_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
Where do I go from here?
Remove CD-ROM reference from sources
Edit your sources and comment-out / turn off the references for the installation disk (CDROM/DVD). It should be the first thing you turn of after any install anyway. In my humble opinion.
Then run
sudo apt-get update
sudo apt-get -f install
this should resolve any pending issues and get you running.
skeltonh said:
Edit your sources and comment-out / turn off the references for the installation disk (CDROM/DVD).
Click to expand...
Click to collapse
How do I do that?
Sent from my R800i using XDA
Or can somebody can tell me what it means so I can Google it?
Sent from my R800i using XDA
I have a problem, when I try to use fastboot even in the platform-tools folder it says:
fastboot: command not found
On what OS? If it's Linux, you have to add a Dotslash to execute the file.
Swypesation
I have created udev rules as said above, but flashtool still says 'Add udev rules'.
What I am missing here. I'm using Ubuntu 12.04.
Any help is appreciated.
You must start flashtool with root acces
is rooting ur play a wise decission?
wat is better 4 my play, ics or gingerbreadman?
where/what is the search key on a mini pro?
Thanks
Big Thanks for this Tutorial Logesman. :good: Just wanted to add that I think...anyone having trouble installing SDK + Manager has to install Java JDK first. Yes, I got stuck at installing SDK.:silly: I tried to run android file in tools folder (as executable) which opens manager.
From Terminal:
sudo apt-get install openjdk-7-jdk openjdk-7-jre
i am unable to run "adb devices" command in ubuntu 12.04.. please help :crying:
roopz said:
i am unable to run "adb devices" command in ubuntu 12.04.. please help :crying:
Click to expand...
Click to collapse
I am having same problem on 12.04! I did everything in this thread afaik, and the ubuntu forums. I could really use some help , because I also have problems with adb.
Sent from my R800i using xda premium
install windows might be easier.
Sent from my Xperia Play using Tapatalk 2
roopz said:
i am unable to run "adb devices" command in ubuntu 12.04.. please help :crying:
Click to expand...
Click to collapse
cyrusalmighty said:
I am having same problem on 12.04! I did everything in this thread afaik, and the ubuntu forums. I could really use some help , because I also have problems with adb.
Sent from my R800i using xda premium
Click to expand...
Click to collapse
Have you tried running adb as root? (After a week of testing 12.04, I left to go back to 10.04, a much better release, imo)
Pax
Sent from my R800x using Tapatalk 2
IE-coRe said:
I have a problem, when I try to use fastboot even in the platform-tools folder it says:
fastboot: command not found
Click to expand...
Click to collapse
seems like you didn't path the fastboot command correctly, try check back again at your .bashrc
roopz said:
i am unable to run "adb devices" command in ubuntu 12.04.. please help :crying:
Click to expand...
Click to collapse
same case as the above
cyrusalmighty said:
I am having same problem on 12.04! I did everything in this thread afaik, and the ubuntu forums. I could really use some help , because I also have problems with adb.
Sent from my R800i using xda premium
Click to expand...
Click to collapse
would you mind telling what does the error says?

Categories

Resources