Related
Hi,
I've a magic 32B with cyanogenmod v4.2.15.1.
I would like to import StartSSL and FreeSSL certificates authority.
To do this I modified /etc/security/cacerts.bks with keytool on my pc, push the new cacerts.bks to my phone, changed permissions (644), and rebooted the phone.
Now I can connect to FreeSSL https websites without any warning. But the Android Market stops working: I can't download and install apps.
I've this log:
Code:
W/vending ( 776): com.android.vending.api.RequestDispatcher.performRequestsOverNetwork(): IOException while performing API request: Delayed instantiation exception:
E/vending ( 776): com.android.vending.AsynchRequestRunner$1.runRequestRetryingFailure(): Got IOException from async request: Delayed instantiation exception:
D/vending ( 776): com.android.vending.api.LocalAssetDatabase.notifyListener(): -4182933297171720279 / DOWNLOAD_FAILED
If I restore the original cacerts.bks, market works fine, but of course I've warnings with FreeSSL websites.
Can you help me to install FreeSSL CA without disturbing Android Market ?
Thanks.
for citrix client, i've edited cacerts.bks too.
i've used a java program, portecle:
http://portecle.sourceforge.net/
download it, then launch it with the windows command: java -jar portecle.jar
with this tools, open cacerts.bks, and import your ca cert
save the bks and push it into your phone, for me it has worked!
There is this linux installer app in the market (link).
As it needs root, and I haven't done it yet, is there anyone here that have tried it??
Thanks,
Thanks, gonna give it a try later.
What about this?
Oh crap, I completely forgot.. Got mixed up with other stuff
Gonna put a reminder.
EDIT: Done. Screenshots attached, one for the standard terminal, the other from aptitude, before updating packages.
Anyone else tried this? I'm having some issues with getting mysql up and running. If anyone is asking well, I'm trying to transform my phone into a server and host my own site
Just because I CAN! *evil laughter*
It seems we now have a computer much more than a smartphone...
Maybe it's time to root to test this.
If it has aircrack-ng then it will worth the work.
Managed to connect via SSH from PC. Still haven't looked into the MySQL issues though.
I finally unbootlocked and rooted my ChaCha and installed this.
I installed Debian, and I'm ready to start testing things.
I installed stable but manually upgraded to testing. But I couldn't setup a SSH server.
Where did you got from??
What do you have in your sources.list?
Update apt from the Distribution Manager and afterwards:
Code:
apt-get check
apt-get update
apt-get upgrade
apt-get install ssh
I still couldn't get MySQL server 5.1 up and running; I have a strange feeling there's something wrong with the distribution, as I've just installed it on my ubuntu box without any errors.
Can you give it a try?
Code:
apt-get install mysql-server-5.1
It should print out something about package not configured yet at some point.
EDIT: Forgot to add
Code:
apt-get install openssh-server
Start the ssh server with
Code:
/usr/sbin/sshd
with "sshd" only you'll get the following error:
Code:
sshd re-exec requires execution with absolute path
Afaik, the sshd $PATH is defined wrong for the service so that's why running it simply with sshd won't work.
Test the functionality afterwards with:
Code:
ssh localhost
Forgot to add the info you requested for sources.list:
Code:
deb http://ftp.debian.org/debian squeeze main non-free
deb-src http://ftp.debian.org/debian squeeze main non-free
deb http://ftp.debian.org/debian squeeze/squeeze main non-free
deb-src http://ftp.debian.org/debian squeeze/squeeze main non-free
Should be the same though I think. What's yours?
Ok. I'll try that.
I already installed psmisc so I could try the lsdev command.
But as it uses /proc and /dev folders, and none of them are in the chroot, they are useless...
But I will try to somehow link from inside the chroot to the actual folders, to try if they work.
EDIT:
I tried mysql server, and I had an error just in the very final stage of setup.
Is this the same for you??
someone got succes?
tokafondo said:
EDIT:
I tried mysql server, and I had an error just in the very final stage of setup.
Is this the same for you??
Click to expand...
Click to collapse
Yep, it's the same.
I'm thinking that mysql 5.0 is already installed and when trying to upgrade to 5.1 a know issue is occurring, where my.cnf does not contain a skip-bdb command at the end, but it doesn't seem to work either; also tried chmod a+r on the my.cnf file as permissions were not granted properly on my device.
@dr. - success on what?
sorry i meant to boot gnome or lxde on htc chacha
dr.ilijevski said:
sorry i meant to boot gnome or lxde on htc chacha
Click to expand...
Click to collapse
Modifying the init scripts in the boot partition, I think it could be done.
Take a look here to have the information that could lead you to do it:
http://www.androidenea.com/2009/06/android-boot-process-from-power-on.html
http://www.androidenea.com/2009/08/init-process-and-initrc.html
Well, that is really the tip of the iceberg, because you would have then to port the X.org server, searching/porting/writing for the drivers for it to work, and finding a desktop enviroment that would run smoothly and with enough room in such a small screen with such a low resolution.
And not only that... What about the radio? Not the FM radio, but the GSM or CDMA radio that allows you to make voice calls and have mobile internet.
Funny thing is that if you check the market app screenshots, there is a screenshot of a running deb dist, apparently on a device.
Alex C. said:
Funny thing is that if you check the market app screenshots, there is a screenshot of a running deb dist, apparently on a device.
Click to expand...
Click to collapse
I sent the developer a couple of questions and had no answer...
This was a kind of experiment, but I think it won't last that much in my ChaCha, because it has no practical use -- for me.
Hmm, got a few extras:
mysqld (the mysql server's main program)
[ERROR]: Can't create IP socket: Permission denied
[ERROR]: Aborting.
So the ld ain't turning on since it has no "permission" to open up sockets, therefore both the mysql-server and the mysql-server-5.1 won't be able to install, since both of them require the mysqld to start first.
Addendum: missing socket file mysqld.sock in /var/run/mysqld/ seems to be the cause of this problem.
Alex C. said:
Yep, it's the same.
I'm thinking that mysql 5.0 is already installed and when trying to upgrade to 5.1 a know issue is occurring, where my.cnf does not contain a skip-bdb command at the end, but it doesn't seem to work either; also tried chmod a+r on the my.cnf file as permissions were not granted properly on my device.
@dr. - success on what?
Click to expand...
Click to collapse
Hi, reviving this question after all this time, aka message in a bottle out to anyone....
so, the stage: debian wheezy fully upgraded in a chroot jail on a nexus 7. ssh, lxde, vnc, zsh, nodejs, erlang, more stuff installed, no problems.
tried to install mysql-server 5.5, got the exact same error as in the image above. drilled a little bit, after the failed install, i ran this:
[1] % sudo mysqld --console --verbose &
[1] 18920
(ssh)[email protected] : ~
[0] % 130415 15:34:48 [Note] Plugin 'FEDERATED' is disabled.
130415 15:34:48 InnoDB: The InnoDB memory heap is disabled
130415 15:34:48 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130415 15:34:48 InnoDB: Compressed tables use zlib 1.2.7
130415 15:34:48 InnoDB: Using Linux native AIO
130415 15:34:48 InnoDB: Initializing buffer pool, size = 128.0M
130415 15:34:48 InnoDB: Completed initialization of buffer pool
130415 15:34:48 InnoDB: highest supported file format is Barracuda.
130415 15:34:48 InnoDB: Waiting for the background threads to start
130415 15:34:49 InnoDB: 5.5.30 started; log sequence number 1595675
130415 15:34:49 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
130415 15:34:49 [Note] - '0.0.0.0' resolves to '0.0.0.0';
130415 15:34:49 [Note] Server socket created on IP: '0.0.0.0'.
130415 15:34:49 [ERROR] mysqld: Can't create/write to file '/home/deimosaffair/mysqlhome/var/run/my
sqld/mysqld.pid' (Errcode: 2)
130415 15:34:49 [ERROR] Can't start server: can't create PID file: No such file or directory
note the two last lines. it seems that there are no permissions somehow to create the PID file. i edited the my.cnf file to point to that dir, tried to change the user from "mysql" to "root", nothing worked.
the dir is valid and has wide open access (i made chmod a+rw on it just to be sure), so the permissions should be ok.
the wall is starting to be bloodied from so much headbumping. any ideas in this?
dr.ilijevski said:
someone got succes?
Click to expand...
Click to collapse
Yes, I sincerely apologize for kicking an old thread but I ran into this issue today and nobody seemed to know the answer.
The fix is:
adduser mysql AID_INET
It adds the mysql user to the AID_INET group. After this MySQLd will start just fine.
Here's how to use logcat:
There are two main ways to do a logcat, within android, and through adb.
Logcat within android can be done one of two ways, through a Logcat app:
Here are two good examples are either: aLogcat or Catlog
I prefer catlog, because in my opinion it has a little bit nicer UI. Both of these programs can dump their logs to a txt file, which is very useful for debugging. Or, you can do it in terminal emulator (same rules as running through adb(see below))
From Moscow Desire:
Moscow Desire said:
Just a little more info when doing logcat.
Remember, Logcat will run till you end the session. And it won't always create the file till you do so. It's possible you may not see the logfile for a minute or so.
Edit: For phones/tablets with internal storage & external sd:
(note that the location naming convention may be different depending on device)
Open your terminal app;
Type: logcat > /sdcard/logcat.txt (this should create it in internal memory on the tablet)
To send to ext sd card: logcat > /mnt/external_sd/logcat.txt
I use a tablet for example Phones may have a different naming convention.
MD
Click to expand...
Click to collapse
On the other hand, using adb to run logcat, in my opinion is much more useful, because you can start using it when android boots (i.e. once the boot animation appears.)
The code for logcat to output to a file is
Code:
adb logcat > name of problem.txt
you can also do
Code:
adb logcat -f name of problem.txt
how I prefer to do it is this way:
Code:
adb logcat -v long > name of problem.txt
with the -v flag & the long argument, it changes output to long style, which means every line of logcat will be on its own line (makes it a little neater, imo)
Note: When outputting to a file, you will see a newline, but nothing printed, this is normal. To stop logcat from writting to a file, you need to press ctrl+c.
Here's where using logcat (via adb makes life really easy)
Lets say you find a problem you're having after looking at a logcat.
For example:
When I was trying to use a different ramdisk, wifi wouldn't work so I got a logcat that's almost 1300 lines long (a lot of stuff happens in the background)
So if you are searching for an error in the logcat file (it's always e/ for error, f/ for fatal. Those are the two main things that will break a system.)
Code:
D/dalvikvm( 871): GC_CONCURRENT freed 472K, 6% free 10224K/10823K, paused 1ms+6ms
V/AmazonAppstore.DiskInspectorServiceImpl( 871): Available blocks: 21981, Block size: 4096, Free: 90034176, Threshold: 5242880, withinThreshold? true
D/AmazonAppstore.UpdateService( 871): Received action: null from intent: Intent { cmp=com.amazon.venezia/com.amazon.mas.client.framework.UpdateService }
W/AmazonAppstore.UpdateService( 871): Confused about why I'm running with this intent action: null from intent: Intent { cmp=com.amazon.venezia/com.amazon.mas.client.framework.UpdateService }
D/dalvikvm( 890): GC_CONCURRENT freed 175K, 4% free 9375K/9671K, paused 2ms+3ms
V/AmazonAppstore.ReferenceCounter( 871): Reference (MASLoggerDB) count has gone to 0. Closing referenced object.
E/WifiStateMachine( 203): Failed to reload STA firmware java.lang.IllegalStateException: Error communicating to native daemon
V/AmazonAppstore.UpdateService( 871): runUpdateCommand doInBackground started.
V/AmazonAppstore.UpdateService( 871): Running UpdateCommand: digitalLocker
V/AmazonAppstore.UpdateCommand( 871): Not updating key: digitalLocker from: 1334228488057
V/AmazonAppstore.UpdateService( 871): Finished UpdateCommand: digitalLocker
V/AmazonAppstore.UpdateService( 871): Running UpdateCommand: serviceConfig
V/AmazonAppstore.MASLoggerDB( 871): performLogMetric: Metric logged: ResponseTimeMetric [fullName=com.amazon.venezia.VeneziaApplication_onCreate, build=release-2.3, date=Wed Apr 11 13:10:55 CDT 2012, count=1, value=1601.0]
V/AmazonAppstore.MASLoggerDB( 871): onBackgroundTaskSucceeded: Metric logged: ResponseTimeMetric [fullName=com.amazon.venezia.VeneziaApplication_onCreate, build=release-2.3, date=Wed Apr 11 13:10:55 CDT 2012, count=1, value=1601.0]
W/CommandListener( 118): Failed to retrieve HW addr for eth0 (No such device)
D/CommandListener( 118): Setting iface cfg
D/NetworkManagementService( 203): rsp
D/NetworkManagementService( 203): flags
E/WifiStateMachine( 203): Unable to change interface settings: java.lang.IllegalStateException: Unable to communicate with native daemon to interface setcfg - com.android.server.NativeDaemonConnectorException: Cmd {interface setcfg eth0 0.0.0.0 0 [down]} failed with code 400 : {Failed to set address (No such device)}
W/PackageParser( 203): Unknown element under : supports-screen at /mnt/asec/com.android.aldiko-1/pkg.apk Binary XML file line #16
D/wpa_supplicant( 930): wpa_supplicant v0.8.x
D/wpa_supplicant( 930): random: Trying to read entropy from /dev/random
D/wpa_supplicant( 930): Initializing interface 'eth0' conf '/data/misc/wifi/wpa_supplicant.conf' driver 'wext' ctrl_interface 'N/A' bridge 'N/A'
D/wpa_supplicant( 930): Configuration file '/data/misc/wifi/wpa_supplicant.conf' -> '/data/misc/wifi/wpa_supplicant.conf'
D/wpa_supplicant( 930): Reading configuration file '/data/misc/wifi/wpa_supplicant.conf'
D/wpa_supplicant( 930): ctrl_interface='eth0'
D/wpa_supplicant( 930): update_config=1
D/wpa_supplicant( 930): Line: 4 - start of a new network block
D/wpa_supplicant( 930): key_mgmt: 0x4
(mind you, that's 29 lines out of 1300ish, just for example)
I then could do the following with logcat:
Code:
adb logcat WifiStateMachine:E *:S -v long > name of problem.txt
and this will only print out any errors associated with WifiStateMachine, and anything which is fatal, which makes it about a million times easier to figure out what's going on!
In WifiStateMachine:E, the :E = to look for Errors, the full list of options is as follows:
V — Verbose (lowest priority)
D — Debug
I — Info (default priority)
W — Warning
E — Error
F — Fatal
S — Silent (highest priority, on which nothing is ever printed)
You can replace the :E with any other letter from above to get more info.
In order to filter out anything other than what you are looking for (in this case, WifiStateMachine) you must put a *:S after your last command (i.e. WifiStateMachine:E ThemeChoose:V ... ... AndroidRuntime:E *:S)
Sources: http://developer.android.com/tools/help/logcat.html
http://developer.android.com/tools/help/adb.html
Update for windows users:
Thank go to FuzzyMeep Two, Here's what he's posted for windows
FuzzyMeep Two said:
I have made a tool to simplify this for people. I will send you the .bat version, to see the validity of the file, and post the .exe for everyone else.
http://logcat-tool.googlecode.com/files/logcatHELPER.exe
I made this in about a half hour, so if you fnd any issues let me know. I believe i worked out all functionality issues, and do plan on expanding functionality in the future.
Click to expand...
Click to collapse
(If you used his tool, here's his post, thank him for his work!)
Very nicely done, now i have something i can refer people to
Perfect tutorial. Well done. ... I'll translate your tutorial into my language to share it other people.
pRo_lama said:
Perfect tutorial. Well done. ... I'll translate your tutorial into my language to share it other people.
Click to expand...
Click to collapse
Thank you! And thanks for taking your time to translate it!
If you need me to clarify anything shoot me a PM, and I'll help! (Same goes for anybody else interested in porting to their language)
Pax
Very nice, but I do have a question (and I started programming for Android recently): What do you do when the system reboots while debugging (in my case musb_hdrc.ko)? I tried catlog, but the logs are empty... Is there another way to do that?
Thank you in advance
Krain said:
Very nice, but I do have a question (and I started programming for Android recently): What do you do when the system reboots while debugging (in my case musb_hdrc.ko)? I tried catlog, but the logs are empty... Is there another way to do that?
Thank you in advance
Click to expand...
Click to collapse
Use adb instead of an in-android method to capture the logs, you can start when the boot animation starts (note: Not when the kernel splash screen appears) and when it reboots, it'll automatically end. (i.e. run the following in command prompt:
Code:
adb logcat *:E > oh_nos_it_crashed.txt
)
If you're not getting to the boot animation (keeps cycling on the Kernel splash screen) then you have kernel issues, and you need a kernel that has integrated last_kmsg (a whole different ball of wax that I'm still learning about) to figure out what's going on. (kmesg's are direct kernel output)
Maybe if someone like AdamOutler (or any other Dev who has a much better handle on them than myself) were to explain them, it'd help
Pax
Hey man regarding your guide .
I was testing a built of cm9 from my htc one v and it wasnt booting so the dev told me to do a logcat for it .
Just wondering what the process and commands would be?
Thanks.
Just a little more info when doing logcat.
Remember, Logcat will run till you end the session. And it won't always create the file till you do so. It's possible you may not see the logfile for a minute or so.
But what if you can't connect ADB to your device? You can do this
(note that the location naming convention may be different depending on device)
Open your terminal app;
Type: logcat > /sdcard/logcat.txt (this should create it in internal memory on the tablet)
To send to ext sd card: logcat > /mnt/external_sd/logcat.txt
I use a tablet for example Phones may have a different naming convention.
Nice definition of the display terminology
MD
tranceph0rmer said:
Hey man regarding your guide .
I was testing a built of cm9 from my htc one v and it wasnt booting so the dev told me to do a logcat for it .
Just wondering what the process and commands would be?
Thanks.
Click to expand...
Click to collapse
What you'll wanna do is run the following,
Code:
adb logcat *:E > crash.txt
And look at the output file specifically for lines that say 0x0deadbaad (if you see that, that means there's a problem with the Java libraries it references above it) otherwise look for other F/ lines, that'll point you in the right direction.
If you're having issues where and is not accessible for to buy having USB debugging turned off because of doing a /data wipe (factory data reset) first install a similar Rom (in your case, a prior, stable CM9, boot into it, turn on usb debugging, reboot into recovery & only write /cache & dalvik cache before installing the offending Rom & getting your logcat (sorry if I rambled, just got done working a double )
Pax
Sent from my R800x using Tapatalk 2
Moscow Desire said:
Just a little more info when doing logcat.
Remember, Logcat will run till you end the session. And it won't always create the file till you do so. It's possible you may not see the logfile for a minute or so.
But what if you can't connect ADB to your device? You can do this
(note that the location naming convention may be different depending on device)
Open your terminal app;
Type: logcat > /sdcard/logcat.txt (this should create it in internal memory on the tablet)
To send to ext sd card: logcat > /mnt/external_sd/logcat.txt
I use a tablet for example Phones may have a different naming convention.
Nice definition of the display terminology
MD
Click to expand...
Click to collapse
Thanks, MD!
The problem is when you can't access terminal (bootloops, fc'ing like it's going out of style, etc.) that adb is really useful. Sometimes to trick the system into working, you can (esp with AOSP based roms) install a same version of android (I.e. 4.0.4) & not wipe /data (after turning on usb debugging) & still have an access (I learned this after spending about 2-3 months crack flashing my own builds & getting tired of titanium restoring all my apps)
Pax
Sent from my R800x using Tapatalk 2
Great guide, thanks! Found it through the portal. I just added to my sig so maybe it will help stop some of those questions.
paxChristos said:
What you'll wanna do is run the following,
Code:
adb logcat *:E > crash.txt
And look at the output file specifically for lines that say 0x0deadbaad (if you see that, that means there's a problem with the Java libraries it references above it) otherwise look for other F/ lines, that'll point you in the right direction.
If you're having issues where and is not accessible for to buy having USB debugging turned off because of doing a /data wipe (factory data reset) first install a similar Rom (in your case, a prior, stable CM9, boot into it, turn on usb debugging, reboot into recovery & only write /cache & dalvik cache before installing the offending Rom & getting your logcat (sorry if I rambled, just got done working a double )
Pax
Sent from my R800x using Tapatalk 2
Click to expand...
Click to collapse
Thanks for the info.
Will do that the next time i get stuck at the boot animation
can anyone tell me how to clear / reset logcat?
Thanks in advance
riteshbendre said:
can anyone tell me how to clear / reset logcat?
Thanks in advance
Click to expand...
Click to collapse
Why would you want to do that?
To my knowledge, the only way logcat is reset is if you reboot your phone.
That's why filtering your results is very helpful, because no matter how long it's been running, you can get the info that you want without extraneous information
Pax
Thanks for the clarifications
Man thank you so much for the awesome guide!
Now I can actually filter out my logcat results instead of searching through the entire log.
Sent using Tapatalk
Helpful Tool
paxChristos said:
Here's how to use logcat.....
Click to expand...
Click to collapse
I have made a tool to simplify this for people. I will send you the .bat version, to see the validity of the file, and post the .exe for everyone else.
FIXED HUGE ISSUE CAUSING EMPTY FILES
DOWNLOAD
PM or post here if you run into any issues. They WILL be addressed.
I have made a tool to simplify Logcat creation for people. The creation of this tool was inspired, and guided, by the thread started HERE by paxChristos.
UPDATE 4.1
Corrected an issue causing empty files.
apparently, if the process id contained a space ( 1234) the file would parse correctly, but if the numbers came up to the parenthesis (12345) it would output an empty file named ACTIVITY(12345) with no extension.
This was a huge issue, and i apologize for not seeing it sooner. It has been corrected, and the logcat tool works better than ever. I just ran through a 20,000 line logcat without any empty files appearing.
a couple more things to help with stability.
Underscores (_) will be replaced by dashes (-)
Brackets ([]) and arrows (<>) will be replaced with paranthesis(())
-------------------------------------------------------------------------------------------------------------
HUGE UPDATE
Added the ability to "SUPER PARSE" Files, which separates files into folders by log level and creates a TXT file for each activity
Super parse DOES NOT Work with LONG format Logs.
SUPER PARSE is in its infancy I do expect errors, please let me know if you run into anything.
OLD STUFF
EDIT V3.6 DONE
Added ability to filter logcats by activity name. (logcat -s "FILTER")
Fixed Log Level Setting
EDIT V3.5 DONE
NOW PROPERLY PARSES "LONG" FORMAT LOGCATS.
Thank you to Senior Member jes0411 for pointing out the issues that lead me to create V3.4 and 3.5. If any of you have an issue please let me know. It could be hours before i get to it or weeks, but i will get to fixing it.
EDIT V3.4 DONE
Changed the way the date variable was handled to hopefully fix issues experienced by users of non-English versions of windows.
EDIT V3.3 DONE
EDIT V 3.2 Finished
Google code won't allow any new uploads, so i uploaded the new update to XDA in a ZIP file.
Fixed ADB Location settings, some users were having trouble if they input the ADB folder with any quotation marks in the path name, it will now automatically remove quotation marks to ensure correct syntax.
Fixed issue with ADB Location setting not exiting to previous menu.
Fixed issue with Log Level setting not exiting to previous menu.
Capitalized some stuff
Added a feature that will automatically create the selected folder if no output folder exists and the user attempts to run a log.
Added a check when selecting an output folder that will ask if you want the folder created if it does not exist
EDIT V3.1 DONE
FIXED OPTIONS 7 & 8, URLS WERE MISSING A "?"
CHANGELOG EDITS
SAVES AND PARSES FILES IN TO DIFFERENT OUPUT FILES BASED ON LOG LEVEL (E , I , D , W , ETC)
LOGCAT TOOL v1.1 by FuzzyMeep TWO
I made this in about a half hour, so if you fnd any issues let me know. I believe i worked out all functionality issues, and do plan on expanding functionality in the future.
reposted HERE
Edit: source here.
Batch Source
EDIT: UPDATED TO V1.1
added the framework to add filtering to your logcat, it is in the exe, but not utilized yet (still bugy). i have also worked out a few minor bugs in this release.
Very nice tut. Will try
thanks a ton for the in depth guide. I was always fairly confused on how to approach this, so now I'll have something to refer to in order to help all of the awesome devs here.
mcmb03 said:
thanks a ton for the in depth guide. I was always fairly confused on how to approach this, so now I'll have something to refer to in order to help all of the awesome devs here.
Click to expand...
Click to collapse
+1
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Welcome to the tutorial for build CyanogenMod 10 for the HTC ChaCha. This tutorial was a community based project from HTC ChaCha’s Google+. We created this tutorial to try and boost the development of the HTC ChaCha board and bring some life back to the board.
Requirements:
Linux System x64 (Ubuntu 12.04 and newer can be used)
Mac OS X can also be used, however this tutorial is designed for Linux users.
Python 2.6 -- 2.7, which you can download from python.org or with sudo apt-get install python on Ubuntu or Debian.
GNU Make 3.81 -- 3.82, which you can download from gnu.org or with sudo apt-get install make on Ubuntu or Debian.
JDK 6 (Can be found at Ubuntu Software Centre or read details in Build Environment for detailed instructions)
Git 1.7 or newer. You can find it at git-scm.com or with sudo apt-get install git-core on Ubuntu or Debian.
Good amount of RAM, less you have longer it will take to build. I recommend a 2GB and higher.
A decent ISP which provides a fast, reliable connection(so you don't timeout during a large pull of source)
Setting up a Build Environment
Follow this guide: http://source.android.com/source/initializing.html
Installing Repo
Repo is a tool that makes it easier to work with Git and Gerrit in the context of Android. To learn more about Repo and Gerrit, see Version Control.
To install, initialize, and configure Repo, follow these steps:
Make sure you have a bin/ directory in your home directory, and that it is included in your path:
Code:
$ mkdir ~/bin
$ export PATH=${PATH}:~/bin
Alternatively, experienced Linux users may wish to add PATH=${PATH}:~/bin to ~/.bashrc to avoid re-typing the export command.
Download the Repo script and ensure it is executable:
Code:
$ curl [url]https://dl-ssl.google.com/dl/googlesource/git-repo/repo[/url] > ~/bin/repo
$ chmod a+x ~/bin/repo
Initializing a Repo client
After installing Repo, set up your client to access the android source repository
Create an empty directory to hold your working files, please note that Linux’s files system is case-sensitive so uppercase letters matter. Give it any name you like, we’ve used WORKING_DIRECTORY for a quick example:
Code:
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
Run repo init to bring down the latest version of Repo with all of its most recent bug fixes. You must specify a URL for the manifest, which specifies where the various repositories included in the Android source will be placed within your working directory and where to download them from. The manifest will update automatically when minor versions of Android are released (4.1.x) but not when major versions are (4.X). A major version can only be changed by selecting the new branch codename with the -b flag bellow.
Code:
$ repo init -u git://github.com/CyanogenMod/android.git -b jellybean
When prompted, please configure Repo with your real name and email address. To download AOSP material, you will need an email address that is connected with a registered Google account. Make sure this is a live address at which you can receive messages as the name that you provide here will show up in attributions for your code submissions. You won’t get any messages if you don’t submit any code.
A successful initialization will end with a message stating that Repo is initialized in your working directory. Your client directory should now contain a .repo directory where files such as the manifest will be kept.
Getting the files
To pull down files to your working directory from the repositories as specified in the default manifest, run
Code:
$ repo sync -j8 WORKING_DIRECTORY
Note: The “-j8” is dependent on your internet connection. If you have a slower and fragile then use a lower number like “j2” for example.
The Android source files will be located in your working directory under their project names. The initial sync operation will take an hour or more to complete. For more about repo sync and other Repo commands, see Version Control.
The repo sync operation will take a lot of time (JB source are about 14 GB!). Make sure no other people will be using your system and then pull the source, recommend pulling during the night. However if your source does get interrupted then you can continue the source pulling by running the command again, however this is not recommended.
Using authentication
By default, access to the Android source code is anonymous. To protect the servers against excessive usage, each IP address is associated with a quota.
When sharing an IP address with other users (e.g. when accessing the source repositories from beyond a NAT firewall), the quotas can trigger even for regular usage patterns (e.g. if many users sync new clients from the same IP address within a short period).
In that case, it is possible to use authenticated access, which then uses a separate quota for each user, regardless of the IP address.
The first step is to create a password from the password generator and to save it in ~/.netrc according to the instructions on that page.
The second step is to force authenticated access, by using the following manifest URI:
Code:
[url]https://android.googlesource.com/a/platform/manifest[/url]
Notice how the /a/ directory prefix triggers mandatory authentication.
You can convert an existing client to use mandatory authentication with the following command:
Code:
$ repo init -u [url]https://android.googlesource.com/a/platform/manifest[/url]
To build for the HTC ChaCha you will need to include the specific repository’s for the device. This includes the device files, vendor files and other important repos which are needed:
Device Tree: https://github.com/adumont/android_device_htc_chacha
Vendor Tree: https://github.com/adumont/android_vendor_htc_chacha
Kernel sources: https://github.com/adumont/htc-kernel-msm7227
Click to expand...
Click to collapse
Note: The maintainer of the source is adlx, feel free to fork the projects (if you need to modify them), but if you fix bugs, please submit a pull request (via Github). To clone the project locally on your hard-drive and modify locally you don’t need to either register at Github nor fork the repos.
Open a terminal (Ctrl+Alt+T) and run the following lines:
Code:
$ cd WORKING_DIRECTORY
$ wget -O .repo/local_manifest.xml
[url]https://github.com/adumont/android_device_htc_chacha/blob/jellybean/extra/local_manifest.xml[/url]
$ repo sync -j8 -c
This will download the needed additional repositories to build Jellybean (CM10) for the HTC ChaCha.
Once you're all set up we can start building. If you're not already in the Terminal, open it up again and navigate to your working directory. Run these following commands to start compiling!
Code:
$ . build/envsetup.sh
$ lunch cm_chacha-eng
$ mka bacon
Note: Where “x” is, number how many jobs you want the compile to complete in a second. Remember that this is dependent on your machine. If you have a low spec computer use “-j1” for example.
This last sentence will initiate the build process, which can take several hours depending of your hardware configuration. Once complete the build system will display where the flashable item is stored. Commonly the file can be found below.
Code:
$ cd out/target/product/chacha/
$ ls *.zip
Troubleshooting network issues
When downloading from behind a proxy (which is common in some corporate environments), it might be necessary to explicitly specify the proxy that is then used by repo:
Code:
$ export HTTP_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>
$ export HTTPS_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>
NOTE: Rarely, Linux clients experience connectivity issues, getting stuck in the middle of downloads (typically during "Receiving objects"). It has been reported that tweaking the settings of the TCP/IP stack and using non-parallel commands can improve the situation. You need root access to modify the TCP setting:
Code:
$ sudo sysctl -w net.ipv4.tcp_window_scaling=0
$ repo sync -j1
E: Your download during the source pulling stopped or it got interrupted. What’s should I do?
A: Use the same command “repo sync” and your download will be resumed. However the will be a small chance of corruption depending on your situation.
E: make: *** No rule to make target `#######', needed by `out/target/product/chacha/obj/SHARED_LIBRARIES/######'. Stop.
make: *** Waiting for unfinished jobs....
A: Usually this occurs when you have an incorrect file or a corrupted file (which can’t be found) which ChaCha device folder is requesting. Use CyanogenMod’s Github to find the correct file or find it using Google.
Question and Answers
What if I don’t want to build CyanogenMod?
You don’t have to. It is possible to build AOKP, Paranoid Android and so on for the HTC ChaCha. Apart from you need to work through the issues and errors. How to build AOKP will be added to this tutorial soon.
My build has some issues!
Report your issue on this thread and someone may help you. If your not receiving support then use Google or the fancy search bar in XDA.
I’ve got a successful build, what shall I do now?
Congratulations. Post your build on this thread or post to the ChaCha Google+ Community and we can test your ROM out. If you feel like you want some more advance work then continue forward to build AOKP, Paranoid Android and so on. The ChaCha community is needing ROMs you can help!
This project was set-up by the HTC ChaCha community on Google+. This was an open document which members of the community contributed to. All known people who have added to the document is listed below.
Google’s Android Open Source Project (Based of documentation)
Adlx (Created main instructions)
LucasArran (Editor)
Benjamin Gwynn (Proff-read and helped)
And all other members from the ChaCha Community!
Need support?-
If your not receiving a response to your error after a couple of days try posting your issues and errors on the HTC ChaCha Community for quick help.
Donation Note
Please do not donate because of this guide. It's a community made project.
Amazing! Thanks for making this available!
i downloaded the CM10 source but when downloading the device files, the system displays the error in manifest file, wget manifest is successful but repo gives me the below error. can you help
warning: local_manifest.xml is deprecated; put local manifests in `/home/user/WORKING_DIRECTORY/.repo/local_manifests` instead
warning: local_manifest.xml is deprecated; put local manifests in `/home/user/WORKING_DIRECTORY/.repo/local_manifests` instead
fatal: error parsing manifest /home/user/WORKING_DIRECTORY/.repo/local_manifest.xml: not well-formed (invalid token): line 37, column 34
Re: [NEW][GUIDE] How to build for HTC ChaCha!
ajeevlal said:
i downloaded the CM10 source but when downloading the device files, the system displays the error in manifest file, wget manifest is successful but repo gives me the below error. can you help
warning: local_manifest.xml is deprecated; put local manifests in `/home/user/WORKING_DIRECTORY/.repo/local_manifests` instead
warning: local_manifest.xml is deprecated; put local manifests in `/home/user/WORKING_DIRECTORY/.repo/local_manifests` instead
fatal: error parsing manifest /home/user/WORKING_DIRECTORY/.repo/local_manifest.xml: not well-formed (invalid token): line 37, column 34
Click to expand...
Click to collapse
You can ignore the warnings. Regarding the error, can you paste here the line 37?
Sent from my Galaxy Nexus
adlx.xda said:
You can ignore the warnings. Regarding the error, can you paste here the line 37?
Sent from my Galaxy Nexus
Click to expand...
Click to collapse
attached is the the local manifest file and here is line 37
<link data-pjax-transient rel='permalink' href='/adumont/android_device_htc_chacha/blob/5844aa97eb21e35b63cf9f13b48cf2a1ba40969b/extra/local_manifest.xml'>
ajeevlal said:
attached is the the local manifest file and here is line 37
<link data-pjax-transient rel='permalink' href='/adumont/android_device_htc_chacha/blob/5844aa97eb21e35b63cf9f13b48cf2a1ba40969b/extra/local_manifest.xml'>
Click to expand...
Click to collapse
ok, my mistake. The correct manifest url is https://raw.github.com/adumont/android_device_htc_chacha/jellybean/extra/local_manifest.xml .
With the new manifest, it made some progress but not sure if this is okay.
warning: local_manifest.xml is deprecated; put local manifests in `/home/ajai/WORKING_DIRECTORY/.repo/local_manifests` instead
Fetching projects: 0% (1/326) fatal: remote error:
CyanogenMod/[email protected]:/android_vendor_htc_chacha is not a valid repository name
Email [email protected]thub.com for help
Fetching projects: 1% (4/326) fatal: remote error:
CyanogenMod/[email protected]:/android_device_htc_chacha is not a valid repository name
Email [email protected] for help
Fetching projects: 39% (128/326) fatal: remote error:
CyanogenMod/[email protected]:/android_vendor_htc_chacha is not a valid repository name
Email [email protected] for help
Fetching projects: 61% (199/326) fatal: remote error:
CyanogenMod/[email protected]:/android_device_htc_chacha is not a valid repository name
Email [email protected] for help
Fetching projects: 94% (307/326) error: Cannot fetch android_vendor_htc_chacha
Fetching projects: 96% (313/326) error: Cannot fetch android_device_htc_chacha
error: Exited sync due to fetch errors
Re: [NEW][GUIDE] How to build for HTC ChaCha!
Local manifest seems to be outdated, you need to change the chacha 's git to point to github instead of assembla.
Sent from my Galaxy Nexus
not sure what i am doing wrong....... still the same
warning: local_manifest.xml is deprecated; put local manifests in `/home/ajai/WORKING_DIRECTORY/.repo/local_manifests` instead
fatal: remote error:
CyanogenMod/[email protected]:/android_device_htc_chacha is not a valid repository name
Email [email protected] for help
Fetching projects: 1% (4/325) fatal: remote error:
CyanogenMod/[email protected]:/android_vendor_htc_chacha is not a valid repository name
Email [email protected] for help
Fetching projects: 55% (179/325) fatal: remote error:
CyanogenMod/[email protected]:/android_device_htc_chacha is not a valid repository name
Email [email protected] for help
Fetching projects: 79% (257/325) fatal: remote error:
CyanogenMod/[email protected]:/android_vendor_htc_chacha is not a valid repository name
Email [email protected] for help
Fetching projects: 99% (322/325) error: Cannot fetch android_device_htc_chacha
error: Cannot fetch android_vendor_htc_chacha
error: Exited sync due to fetch errors
Best & the most organized TUT i've come across so far
I'm going to set-up an event in 3 weeks time (Maybe on the 5th of April) to help users with the HTC ChaCha source development. And hopefully end up with some ROMs in the end.
If anyone is interested in this please post your comments. I will only set this up if people are interested. Also I will host it on Google+ Hangouts with IRC. If the isn't any other easier way of helping.
Join the community on Google+ for more info.
lucasarran said:
I'm going to set-up an event in 3 weeks time (Maybe on the 5th of April) to help users with the HTC ChaCha source development. And hopefully end up with some ROMs in the end.
If anyone is interested in this even please post your comments. I will only set this up if people are interested. Also I will host it on Google+ Hangouts with IRC. If the isn't any other easier way of helping.
Join the community on Google+ for more info.
Click to expand...
Click to collapse
i am in
lucasarran said:
I'm going to set-up an event in 3 weeks time (Maybe on the 5th of April) to help users with the HTC ChaCha source development. And hopefully end up with some ROMs in the end.
If anyone is interested in this please post your comments. I will only set this up if people are interested. Also I will host it on Google+ Hangouts with IRC. If the isn't any other easier way of helping.
Join the community on Google+ for more info.
Click to expand...
Click to collapse
What about existing ROMS?
9v9 said:
What about existing ROMS?
Click to expand...
Click to collapse
Such as? The event is for building from source not current ROMs. But you can still come along with any other questions.
lucasarran said:
Such as? The event is for building from source not current ROMs. But you can still come along with any other questions.
Click to expand...
Click to collapse
I mean like cooking with an already ported ROM. But doing it from scratch from CM7 would be interesting to try. Is it a problem if I have no google+ or other accnts?
9v9 said:
I mean like cooking with an already ported ROM. But doing it from scratch from CM7 would be interesting to try. Is it a problem if I have no google+ or other accnts?
Click to expand...
Click to collapse
I won't be covering it, this is where you should start from and if you have any problems leave me a PM http://forum.xda-developers.com/c.php?t=1598713
lucasarran said:
I won't be covering it, this is where you should start from and if you have any problems leave me a PM http://forum.xda-developers.com/c.php?t=1598713
Click to expand...
Click to collapse
I will be doing this later this month and I will ask for help if it's needed. Thanks!
ERROR
I get this error when i type "repo sync -j8 WORKING_DIRECTORY"
CanYouSmell said:
I get this error when i type "repo sync -j8 WORKING_DIRECTORY"
Click to expand...
Click to collapse
When you see "WORKING_DIRECTORY" it refers to where you have decided to put your CM's sources... It's not the command to run.
In that case anyway, I'm not sure why it's even there.
THe command to sync the repo is:
Code:
repo sync -j8 -c
Hi,
I download backtrack-v10-image and I used the Linux Installer from linuxonandroid to launch it, but when I want to install anything, it's shows me "permission denied" in terminal emulator :crying: as well as in console of backtrack "requested operation requires superusers privilege" and when i tape Vnc password's it's show me "authentications failure" .
So I try to start the image manually using the bootbt provided by the website of backtrack. this faith it, the console shows me backtrack
[email protected] by red, against the keys of keyboard are completely messed up, whether in the physical or virtual keyboard.
Sorry if I'm not in the right section .... thank you
tf300t , ww_epad -10.6.1.15.3-20130416, rooted
ps: I can't post any link, you have to google it (To prevent spam on the XDA forums, ALL new users prevented from posting outside links in their messages. After approximately 10 posts, you will be able to post outside links. Thank you for understanding!) as you can see that I'm noob here .
solved by my self, i was able to do it by modifying the directory of the image and using linuxonandroid launcher, but i took precaution to note the password now, like this:
[email protected]:/ $
[email protected]:/ $ cd /sdcard/BT5
[email protected]:/sdcard/BT5 $ su
[email protected]:/storage/emulated/legacy/BT5 # sh /data/data/com.zpwebsites.linuxonandroid/files/bootscript.sh /sdcard/BT5/backtrack.img
Checking loop device... MISSING
Creating loop device... OK
mount: mounting /storage on /data/local/mnt/external_sd failed: Invalid argument
No user defined mount points
net.ipv4.ip_forward = 1
Config file not found, using defaults!(/root/cfg/backtrack.img.config)
Starting first boot setup.......
Creating User account (named backtrack)
Enter new UNIX password: <you have to note this password to use it in backtrack console after sudo su
Retype new UNIX password:
passwd: password updated successfully
The user `backtrack' is already a member of `tty'.
Please enter a password for VNC (must be between 6 and 8 characters long
Using password file /home/backtrack/.vnc/passwd
Password:
Password too short
groupadd: group 'sdcard-rw' already exists
Start VNC server? (y/n)
y
Start SSH server? (y/n)
y
Now enter the screen size you want in pixels (e.g. 800x480), followed by [ENTER]:
1280x752
New 'X' desktop is localhost:0
Starting applications specified in /home/backtrack/.vnc/xstartup
Log file is /home/backtrack/.vnc/localhost:0.log
If you see the message 'New 'X' Desktop is localhost:0' then you are ready to VNC into your backtrack OS..
If connection from a different machine on the same network as the android device use the address below:
eth0: error fetching interface information: Device not found
If using androidVNC, change the 'Color Format' setting to 24-bit colour, and once you've VNC'd in, change the 'input mode' to touchpad (in settings)
* Starting OpenBSD Secure Shell server sshd [ OK ]
Save settings as defaults? (y/n) (You can always change it later in the app)
y
Config saved to /root/cfg/backtrack.img.config
To shut down the Linux environment, just enter 'exit' at this terminal - and WAIT for all shutdown routines to finish!
Click to expand...
Click to collapse
I just want to know how to clean the installation of the "chroot"
without move / rename the image in android to return to the initial state of "chroot"
(without the files are installed in the backtrack)