Related
The following is a guide for how to obtain root access within an ADB shell, then locally on the device.
UPDATED TO SIMPLE VERSION WITHOUT ADB
--------------------------------------------------------------------------
Credit:
- embeem for bringing the Eclair signature check hole to attention.
- For creating the exploited update package: Zinx Verituse (initially posted here)
- mjxg for writing a complete guide which I have modified and reposted here (original thread here
- Cyanogen for providing Superuser.
--------------------------------------------------------------------------
THIS WILL NOT UPDATE YOU TO 2.0.1. If you would like to end up with a rooted 2.0.1 and haven't been pushed the update OTA yet, then please follow this (http://alldroid.org/viewtopic.php?f=210&t=568) guide THEN follow the directions below.
--------------------------------------------------------------------------
1 - Download the droid-super_user.zip file from: http://alldroid.org/download/file.php?id=659 (md5sum cf653352967253e99d967498ffd9ce69).
Do not extract.
2 - Rename the file to "update.zip".
3 - Plug your Droid into your computer via USB. On the Droid go to the Notifications bar and select "USB Connected" then press "Mount".
4 - Once the device is mounted, the SD card will show as a removable device on your computer
5 - Put the "update.zip" file you just renamed into the Root (top) directory of your SD Card.
6 - Unmount the device from your computer, and turn the Droid off.
7 - Hold down the "X" key on the physical keyboard and while doing so press the power button. Hold both of them down until you see a Triangle with an !.
8 - Press the Vol+ and the Camera button together until you get a menu.
9 - Using the D-pad on the physical keyboard, select the option to update with the update.zip file.
10 - This should take a little bit. Once it's done select the option to reboot the phone.
Now you can download a root application, or terminal emulator and try out your new found root access.
This works with 2.0.1
Please do not start removing any applications just yet. You will run into problems trying to flash anything. Wait until we have a recovery image made.
can some one dump the phone?
Looking at the change in Gerritt:
https://review.source.android.com/#change,12807
It has not been approved yet, although that doesn't prevent Mot from cherry picking it.
I just tried the droid-root.zip update on my Droid, worked great. The only thing I might add is to rename the otakeys.zip from /system/etc/security/otakeys.zip to prevent future OTA updates.
Don't want to lose root now that we have it.
-Howard
http://www.magicandroidapps.com. - Home of Better Terminal Emulator Pro, the best terminal emulator for Droid.
With root, you can dump out the MTD partitions to /data/local, ie:
adb shell
$ su
# cd /data/local
# cat /proc/mtd
Use this output to figure out which partitions are what, and then dump them out, ie:
# cat /dev/block/mtdblock0 > pds.bin
Then 'adb pull' the /data/local/*.bin files to your PC.
-Howard
http://www.magicandroidapps.com - Home of Better Terminal Emulator Pro, the best terminal emulator for Droid.
There is now a more streamlined way of going about this. I need to update the guide.
NEWEST METHOD that DOES NOT require adb
New exploit zip, including Superuser from CyanogenMod
First you have to update your phone to 2.0.1. If you have already done this manually, or if your phone has already received the OTA update, move on to the next section.
First, download this attachment ( http://alldroid.org/download/file.php?id=646 ) and rename it to "update.zip".
Copy update.zip to the SDcard in your phone.
Reboot your phone to recovery mode by holding down x while the phone turns on. once you see the /!\ emblem, press the Volume Up and Camera buttons at the same time.
Select Install update.zip from the menu.
Reboot once it is done.
Now your phone is updated to 2.0.1
Now, to root the phone.
download this attachment ( http://alldroid.org/download/file.php?id=659 ) and rename it "update.zip"
Copy update.zip to the phones sdcard
reboot phone to recovery mode (hold x while turning phone on, press volume up + camera button)
install update.zip
reboot
and you are done.
all credit to Zinx Verituse over on Alldroid.org
su works but apps still say I don't have root?
I'm an IT Professional not a newb, but not super great on Linux either.
I've followed the rooting steps, after updating manually to 2.0.1
The issue is, I can go: su using a term emulator on my phone and it says "access granted courtesy of magicandroidapps" (something like that).
I can do things through the term emulator, but for some reason when I download apps that require root and try to use them it still says I don't have root access? What gives? I couldn't even rename a file in /etc/bluez using ROOT EXPLORER (a file manager).
It's like root works on term emulator but not through GUI apps? Am I missing something?
Disregard, problem solved
Disregard.
Updated to new, simple, one flash instructions.
i cant get this to work for nothing. when i download the files i extract them to the desktop then put them into one folder named update.zip is this wrong?
dabo318 said:
i cant get this to work for nothing. when i download the files i extract them to the desktop then put them into one folder named update.zip is this wrong?
Click to expand...
Click to collapse
It never said to extract. Rename the .zip to update.zip (make sure it's not update.zip.zip) then carry on.
I've got a question. This is a hole found in android, so this should work for any android device, as long as you append the original exploit.zip to that devices update.zip, correct?
ok i finally got the zip on the phone and trying to setup metamorph now. its been setting up file: zip for about five min is this normal?
Here is a link to a tutorial on how to create your own update.zip in order to deliver whatever you may need to (with a size limitation).
http://alldroid.org/viewtopic.php?f=210&t=626
Please note this is exclusive to the current Android 2.0
cellulararrest said:
Here is a link to a tutorial on how to create your own update.zip in order to deliver whatever you may need to (with a size limitation).
http://alldroid.org/viewtopic.php?f=210&t=626
Please note this is exclusive to the current Android 2.0
Click to expand...
Click to collapse
And 2.0.1 ... thanks though, that pretty much answered my question. So any device that gets pushed 2.0/2.0.1 ota update and on before this hole is patched up this should work on. Let's hope they don't patch it before we get a hold of a milestoine update.
Btw- someone should check out the 2.1 sense dump and see if this hole is still present.
Oh and sorry about getting slightly off topic, just seemed the most revelent place to ask.
Yeah that would be good to check 2.1. But I don't think anyone is actually using that recovery image. If it's even available. Everyone has fancy dancy custom recovery images.
COMPREHENSIVE HOWTO "ROOT YOUR DROID" (my best attempt anyhow)
*deleted* per a noobs request (cuz I've heard from others as well that my directions were outdated even though they use super-root from Cyanogen).
Rainabba, Please delete that post. it's out-of-date and incorrect.
i just installed a terminal app from the market, type su and hit enter, it asked to allow or deny, so i believe just a terminal app will give you SU also, correct?
im an idiot when it comes to adb. also just a reminder to the root nobbs, if your using vista, just name the update, update dont add the .zip to it, or it wont work.
Correct. Please don't start removing apps from your system. A few people have been doing that just because they can and are causing themselves real problems. Hold off until someone succeeds in their endeavors for a custom recovery image.
DO NOT POST IN THIS THREAD BEFORE READING THE WHOLE POST
PLEASE ADD GUIDES TO COMMON ISSUES YOURSELVES
To my recollection, the previous WM Guides thread was successful.. so we'll be moving on to android as well - from beginner to pro.
I hope this thread will provide answers to a decent percentage of your questions.
Please hold until guide collecting is finished..
In the meanwhile you are ALL invited to send me links or full guides to add to this thread.. remember, we are all about sharing.
COMING SOON! (in the meanwhile, you've got a great battery life guide at http://forum.xda-developers.com/showthread.php?t=471521 - be sure to thank BruceElliot for it!)
also, if you decide to post a guide, please keep the guide as neat as possible, with a title containing the LEVEL ([BEGINNER], [INTERMEDIATE], [PRO]) and the commonly searched words so that people who look for it can find it easily. (if you can, use the same color (dark orange) and same size (4) and Bold.. for the main title.. tho that's not a must )
post #2. [BEGINNERS+INTERMEDIATE] Replacing System Files using Android Commander
post #3. [EVERYONE] ADB Workshop by Adrynalyne and Guide by Captainkrtek
post #4. [QUICK FAQ's] Common QnA's for beginners by Timmymarsh (work in progress)
[BEGINNERS] Replacing system files using Android Commander
Replacing system files using Android Commander:
(This post was formally based in the HD2's RTL support thread and revolved around our need to replace frameworks)
so:
1. Download the android SDK from: http://dl.google.com/android/android...08-windows.zip
2. EXTRACT(!!!) the android-sdk-windows to c:\
(make sure you extract the dir - not run the setup from inside the zip file)
3. install Android Commander from http://androidcommander.com
4. Connect your device and make sure it's set to Debugging mode in /settings/applications/development/
5. You might have to set a dir containing your adb.exe file. set it to c:\android-sdk-windows\tools\
6. You will see a Total Commander-like interface. you can then copy the framework.jar file to the correct directory (there's no difference between SD android builds and androids in ROM - the system dir will be shown the same way)
a. Yes, you can replace/delete system files while android is running.
b. (for androids running from SD) Any file copied to /sdcard/android/root/system/X will be copied to /system/X in the system file. The sdcard/android root dir is JUST LIKE your root in ROM androids.
c. Make sure you either created a backup or verified a match in any other way before replacing files like frameworks, zimage, modules, etc.. your android might not boot afterwards (I keep all system.ext2 files backed up so that i can restore them incase i screw something up.)
enjoy
[EVERYONE] ADB Workshop by Adrynalyne and Guide by Captainkrtek
This following guide was rewritten by Captainkrtek, please make sure to thank him for it
Original Post:
(http://forum.xda-developers.com/showthread.php?t=879701)
This workshop was held in #android-learning on irc.freenode.net by XDA Member Adrynalyne. All credit to him for this guide, I simply am taking it and turning it into a guide. Here we go!
You can find the raw IRC log here
Good evening folks, and welcome to my ADB workshop. This is by no means a full explanation on the subject, but more of a crash course to help folks get up to speed, and get more from their devices. There may be some things you already know here, so please be patient and respect those who do not.
Reference Files
http://adrynalyne.us/files/How to install adb.pdf
http://adrynalyne.us/files/Using ADB.pdf
So, lets just start with the basics.
What is ADB?
ADB stands for the android debugging bridge and is used for testing and debugging purposes by developers.
However, we like to get more out of our devices, and its a great way to fix things.
Knowing adb can mean the difference between a paperweight and a working phone.
So, to start with, we will look at installing ADB.
Generally speaking, the Sun/Oracle JDK is required to run all SDK functions.
ADB is but one tool in the SDK arsenal.
So, we begin by downloading and installing the JDK. This can be found here:
https://cds.sun.com/is-bin/[email protected]_Developer
Choose your OS, download and install. I recommend that 64 bit users use the regular x86/32 bit version as well.
Moving ahead, we download the Windows sdk from here:
http://dl.google.com/android/installer_r08-windows.exe
Due to already installing JDK, you won't be stopped by the install process.
Now, if you notice, I installed it to:
C:\android-sdk-windows
I did this because it makes things easier when setting up path variables.
I encourage everyone to do the same, but obviously it is not required.
So, this SDK is handy, but is only good up to 2.2. We want the latest and greatest! (Well I do)
So, we navigate to:
C:\android-sdk-windows\
and we run SDK Manager.exe
If you notice in your PDF file for installing adb, you will notice that you can update, and I made a choice not to include earlier sdk versions.
I won't go into full detail on that, but depending on the version of SDK you have, 8 or 9, it WILL make a difference in using adb.
By default, for version 8 adb.exe resides in C:\android-sdk-windows\tools
By default, for version 9 adb.exe resides in C:\android-sdk-windows\platform-tools
We will assume version 9 in this guide
Really, the SDK is installed and adb is usable right now, but in my humble opinion, its not enough
I like the ability to use adb in ANY directory on my machine.
To do this, we edit Windows's environment variables.
Specifically, the system path.
To do this, we click on start, or the orb (depending on OS), and right click on Computer, left clicking on properties in the menu.
If its windows XP, I believe it brings you into advanced system properties immediatly. Vista and 7 need a second step.
On the left hand side, as you notice I have highlighted in the pdf, left click advanced system settings.
Under advanced tab, we left click environment variables...
There are two boxes here.
We are concerned with system variables, however.
So we scroll down the list and highlight path and click edit.
Ignoring all the extra stuff in here, make sure you are at the end of the line, and type
Code:
;C:\android-sdk-windows\platform-tools
The semicolon allows us to separate it
from the previous path statement.
Click ok all the way out.
We now have ADB setup globally. We can use cmd.exe (I use powershell) and no matter what directory we are in, adb is recognized.
If it is not, make certain you entered the path into system variables, and made no typos.
If you installed to a different location, you will need to adjust the path accordingly.
This concludes the section on installing the Android SDK to use ADB.
This next section will be on using ADB, so please open that pdf now.
Now, this applies to any OS, not just Windows.
Well, with the exception of the USB drivers.
I will not go too much into that, but if you take a look at the PDF, it goes through installing usb drivers for the sdk, and how to download them.
Fiarly straightforward, in that rspect.
Now, to setup our phones to use with the SDK and ADB, we must change some settings.
First, we go to menu softkey, then settings.
We scroll down to Applications and tap it.
Under Development, we will check Enable USB Debugging. Please note the SGS phones are different in this respect.
The USB cable must be unplugged before enabling or disabling this setting.
Once this is done, we are now ready to play with adb
One quick note: If you get device not found/conencted, please reboot your phone. DJ05 has a quirk in it where ADBD randomly crashes on boot.
A reboot will fix this
ADBD= ADB Daemon
Ok, continuing on.
Lets look at installing applications. This is also known as sideloading.
Unlike installing from the SD card, it does not require unknown sources to be enabled.
The command for this is
Code:
adb install packagename
This assumes that you are working from the directory where the file is located.
This will install the application to /data/app.
It will also show sometimes useful errors if install fails.
That is not something you will see from the Android GUI.
Now, a lot of us have probably deleted files with apps like Root Explorer. While this isn't really a bad thing, it leaves behind databases and data for the application removed.
This is where the 0kb applicaiton entries come from.
If you take that application entry name, you can uninstall the extra data via adb.
First we go to the adb shell which logs into the phone.
Code:
adb shell
If we end up with a $, we will want admin rights, in many cases. This is not one of them, I don't beleive.
To get admin rights, you want to type
Code:
su
Look at your phone if this is the first time, it may prompt you to allow access. Else you will get permission denied.
If you are not rooted, this will not work either.
Ok, now that we are logged in, we will type
Code:
pm uninstall packagename
where packagename is the name of the 0kb listing.
Now this seems like a pain in the a** and I agree.
HOWEVER
There will be a time where Manage applications crashes when you try to uninstall it from the phone. In this case, a factory reset, or this method is the only effective way to fix the problem.
Moving on.
How many of us have removed system applications or renamed them? Did you know that you can simply disable them from the system?
Code:
adb shell
su
pm disable appllicationname
This will disable it, and the system will ignore it.
This can be seen as safer than deleting or renaming things, but your mileage may vary.
On the other hand, you can also re-enable these applications.
Code:
adb shell
su
pm enable applicationname
Please note: Not all applications will properly re-enable. I believe a factory reset or reinstall of said application will fix the issue.
Also, application names are absolutely case sensitive.
*nix based Operating Systems see the letter 'a' and 'A' as two different things.
when you log into adb shell, you are playing by android rules
Ok, a lot of us tweak and mod our phones and turning off the device to get to clockwork recovery, or battery pulls, or multiple button holds to get into Download mode are troublesome and annoying at best.
ADB can help us here.
Here, we do not need to be logged into the shell
If we want to merely reboot the phone:
Code:
adb reboot
If we want to go to recovery (works well with voodoo5)
Code:
adb reboot recovery
If we want to go to Download Mode because we need Odin, heaven forbid:
Code:
adb reboot download
Its instant. No waiting on animations or anything else.
Its also handy if Android has locked up, but yet still works in adb.
I for one hate taking my case off to battery pull.
So now we move on to pushing and pulling files.
Sometimes, I don't feel like mounting my sd card to copy a file over to my phone.
I can use this command to push a file straight to my sd card:
Code:
adb push filename /pathtodirectoryonphone
So for instance, if I have test.txt that I want to send, I would type:
Code:
adb push test.txt /sdcard/
and there it goes.
Ok moving on
Pushing files can be done to any directory, however, some are protected.
For instance, /system is going to give you a permission denied or a read only filesystem error.
To get around this, the easiest thing to do is push the file to your sdcard, then log into the shell:
Code:
adb shell
Code:
su
We will then mount the system as writable
Code:
mount -o rw,remount /dev/block/stl9 /system
Then we can use something like
Code:
cp /sdcard/test.txt /system/app/test.txt
cp stands for copy
and it requires the path of the file and destination path. The name of the file is optional
When you copy it, you can rename it to whatever you like.
For instance, if we wanted to backup a file
Code:
cp /sdcard/test.txt /sdcard/backuptest.txt
Now, lets assume you do not have busybox installed.
You non rooted users will not.
Then you must use a slightly more complicated command called dd
This is used like this:
Code:
dd if=/sdcard/test.txt of=/system/app/test.txt
if is for inputfile
of= output file
Not every user friendly, but probably one of the safer copy commands.
Ok, moving on to pulling files.
Lets say you want to get a file from your phone, to modify, backup, etc.
To do this, we simply use adb in this manner:
Code:
adb pull /pathtofile/filename destinationname
For instance, if I wanted to backup ADW launcher in system/app
I would do this
Code:
adb pull /system/app/ADWLaucnher.apk ADWLauncher.apk
And it will pull the file from the phone and put it in the current directory.
Like above, you can specifcy where it goes.
pushing files to the sdcard, it seems prudent to talk about changing permissions.
sdcards are typically fat32, which destroys permisisons, and Android is heavily permission based.
So if you push an application to your sd card, then try to copy it to /system/app/ bad things are going to happen, or the app may not even show up.
So in that case, we use something called chmod.
This is used in this manner
Code:
adb shell
su
chmod 755 /pathtoapplication/applicationname
Keep in mind
you dont want to do this while its still on your sd card.
an example
Code:
adb shell
su
chmod 755 /system/app/ADWLauncher.apk
755 is good for applications and script files.
Just a couple more topics to cover.
Lets go over deleting files.
This becomes especially handy for removing rogue applications.
To do this, we must be in the adb shell.
Code:
adb shell
su
rm /system/app/ADWLauncher.apk
You may need to remount system as writable with:
Code:
mount -o rw,remount /dev/block/stl9 /system
That applies when using chmod as well.
So what I did above was delete ADW Launcher from system/app
However, what if I wanted to delete the entire contents of a directory?
Same thing as before, except
Code:
adb shell
rm -f /data/dalvik-cache/*.*
I just cleared my dalvik-cache with that command
very quick, very effective.
If you just tried that, please reboot your phone now
Ok....this leaves us with the final topic: logcat
logcat allows us to log what the OS is doing, and possibly delve information for when things are not working
its quite simple Reading it is another.
To use logcat
Code:
adb shell
logcat
To logcat to a certain file do
Code:
adb shell
logcat > /sdcard/logcat.txt
Now we let the log settle down to a reasonable amount of data coming in and not a wall of scrolling, then start the app in question. When it gives an error, we hit ctrl-C and kill the adb shell session.
This should have captured enough data to see the error. Now, I prepared an example. A user came to me on IRC, and Google Maps was force closing. Clearing data didnt fix it, Clearing dalvik-cache, and fix permissions did not fix it. In this case, the user did not know how to use adb So I had him grab an app called alogcat from the market and email me the log. This is also a very valid method.
this file explains what the problem was, and highlights what to look for as an example.
http://adrynalyne.us/files/logcat.pdf
___________________________________________________________________
This concludes the guide from Adrynalyne, there will be more workshops such as this one in irc.freenode.net #android-learning.
Thanks to everyone in #samsung-fascinate !
QUICK FAQ's
sources: Q&A Section, The Weekly Q&A Section by XDA News Writers (thanks guys)
Q: ‘Is there any way to block specific apps from using my data connection?’
A: Try the Droid Wall application.
Q: ‘I read how you can make changes in the build.prop file on my Android device. How exactly do I get to it?’
A: Install ASTRO file manager, browse to /system, long press on build.prop – Edit – Copy. Press on the home icon then Edit icon – Paste. Connect sd card, edit it, and paste it over from where you copied build.prop
Q: What happens if I update my phone? will I need to re-root it and get the ROM again? will all of my applications get erased? If so, is there a way around this?
A: You will lose your root, but not apps if it is just an update.
Q: I just tried to flash a ROM from recovery on my Android phone and got “Verification Failed, Installation Aborted” What happened?
A: Before you can flash a custom ROM the .zip file must be digitally signed in the ROM kitchen, if unzipped and re-zipped it will lose its verification, this happens often using the Safari browser as it likes to decompress .zip’s. Or if your download is corrupted (download the ROM again) it will fail the Verification.
Q - HTC Location Widget shows "map data unavailable"
A - On the widget, click the pin/then click the windows button/click get more/scroll to download maps/download relevant map (care, maybe a big file). Now exit and click onto map, your location should now be visible :)
Q:So, I moved all the apps on the SD, but is still not enough. How can I free some memory? I could delete the cache of the older upgrade or something else?
A:Do you have pictures and videos? If so, check if they are on the SD card and not on your internal memory. Cleaning your cache helps, and try deleting your text messages threads.
Q: ‘What exactly is a kernel and what are the benefits in changing it?’
A: A kernel is a bridge between the applications and the actual data processing done at the hardware level. The kernel’s responsibilities include managing the system’s resources – the communication between hardware and software components. Flashing different kernels gives you different operating speeds, better battery life, the ability to overclock, and more.
Android control other device with IOIO Board.
It use ADB.
http://androidcontrol.blogspot.com/2011/10/ioio-board-for-android-control-io.html
timmymarsh said:
QUICK FAQ's
sources: Q&A Section, The Weekly Q&A Section by XDA News Writers (thanks guys)
Q: ‘Is there any way to block specific apps from using my data connection?’
A: Try the Droid Wall application.
Q: ‘I read how you can make changes in the build.prop file on my Android device. How exactly do I get to it?’
A: Install ASTRO file manager, browse to /system, long press on build.prop – Edit – Copy. Press on the home icon then Edit icon – Paste. Connect sd card, edit it, and paste it over from where you copied build.prop
Q: What happens if I update my phone? will I need to re-root it and get the ROM again? will all of my applications get erased? If so, is there a way around this?
A: You will lose your root, but not apps if it is just an update.
Q: I just tried to flash a ROM from recovery on my Android phone and got “Verification Failed, Installation Aborted” What happened?
A: Before you can flash a custom ROM the .zip file must be digitally signed in the ROM kitchen, if unzipped and re-zipped it will lose its verification, this happens often using the Safari browser as it likes to decompress .zip’s. Or if your download is corrupted (download the ROM again) it will fail the Verification.
Q - HTC Location Widget shows "map data unavailable"
A - On the widget, click the pin/then click the windows button/click get more/scroll to download maps/download relevant map (care, maybe a big file). Now exit and click onto map, your location should now be visible :)
Q:So, I moved all the apps on the SD, but is still not enough. How can I free some memory? I could delete the cache of the older upgrade or something else?
A:Do you have pictures and videos? If so, check if they are on the SD card and not on your internal memory. Cleaning your cache helps, and try deleting your text messages threads.
Q: ‘What exactly is a kernel and what are the benefits in changing it?’
A: A kernel is a bridge between the applications and the actual data processing done at the hardware level. The kernel’s responsibilities include managing the system’s resources – the communication between hardware and software components. Flashing different kernels gives you different operating speeds, better battery life, the ability to overclock, and more.
Click to expand...
Click to collapse
Thank you for your patience and taking the time to answer those questions. I loved your simple and easily digestible format.
There is a note
*nix based Operating Systems see the letter 'a' and 'A' as two different things.
when you log into adb shell, you are playing by android rules
Click to expand...
Click to collapse
this note is all wrong..
1. linNUX is not *NIX.
2. Mac OS-X is a *NIX OS, it is based upon UNIX, they use their own variant called Darwin. Darwin does not require capitolization.
3. The word should be POSIX. Linux is POSIX compliant and POSIX defines the capitolization standardards
soft brick
Taioba said:
Is there any way to use ADB even though I can not enable USB debugging by the android?
I have an Atrix with soft-brick. How can I restore a file (framework-res.apk) knowing that my USB debugging is off?
I can enable ADB via fastboot?
Thanks!
Click to expand...
Click to collapse
I found this for atrix 4g....
http://forum.xda-developers.com/showthread.php?t=965546
hope it helps
knoknot said:
i have a bricked s2 not so sure how to go about reviving it via adb
Click to expand...
Click to collapse
check this thread
http://forum.xda-developers.com/showthread.php?t=1237815
thanks. searched for that
Thanks for it.
Great Guys............ :good:
Thanks for sharing.
Thanks for sharing this guild :d, i am new member for reccod
Great job~ Sometimes could be used this.
I'm using Windows 10 RTM and I've set the path, yet I still get the "unrecognized application" error in the command console. What am I missing?
Nevermind, a restart fixed it. Used to be you didn't have to.... sheesh.
nir36 said:
Replacing system files using Android Commander:
(This post was formally based in the HD2's RTL support thread and revolved around our need to replace frameworks)
so:
1. Download the android SDK from: http://dl.google.com/android/android...08-windows.zip
2. EXTRACT(!!!) the android-sdk-windows to c:\
(make sure you extract the dir - not run the setup from inside the zip file)
3. install Android Commander from http://androidcommander.com
4. Connect your device and make sure it's set to Debugging mode in /settings/applications/development/
5. You might have to set a dir containing your adb.exe file. set it to c:\android-sdk-windows\tools\
6. You will see a Total Commander-like interface. you can then copy the framework.jar file to the correct directory (there's no difference between SD android builds and androids in ROM - the system dir will be shown the same way)
a. Yes, you can replace/delete system files while android is running.
b. (for androids running from SD) Any file copied to /sdcard/android/root/system/X will be copied to /system/X in the system file. The sdcard/android root dir is JUST LIKE your root in ROM androids.
c. Make sure you either created a backup or verified a match in any other way before replacing files like frameworks, zimage, modules, etc.. your android might not boot afterwards (I keep all system.ext2 files backed up so that i can restore them incase i screw something up.)
enjoy
Click to expand...
Click to collapse
Thanks, this Guide is very informative
Help with LG D722
I'm using LG D722 phone and I somehow unlocked bootloader and installed twrp recovery. I backed up Lollipop that's what I'm using and i want to restore custom ROM
I know I need to install Google Apps after installing Custom ROM. But Do I also need to install Modem files on my device ? Because I can't find them on XDA Forums. Please give me a link or something. The help is not just appreciated but seriously needed.
Success. Thanks
Hello, I walk testing one recovery but I'm booting before flashing, the question is, will the recovery feel same when booted vs flashed? I've booted and used to flash a pair of zips but felt very laggy and bugged although did the work right. Thanks
Edit: solved, tried myself
Sent from my SHIELD Tablet K1 using XDA-Developers mobile app
http://forum.xda-developers.com/showthread.php?t=872128&page=2
How to prepare your i9001 stockROM for modding
First of all I want to say that I know that there already are tutorials about this, but this is just my sites "well explained aio tutorial" that everyone should be able to follow successfully, just as my other tutorials. I added loads of screenshots to make everything a lot easier. So please no complaining about duplicates
Short description:
In this tutorial I will explain you how to prepare a stock rom for modding, the files in this tutorial (cwm and root) are for the Samsung Galaxy S Plus (GT-i9001) only!
The deodex part will work for every device, So if you have an other device then the i9001 you can only follow the deodex part if you would like to.
General notes
- I know I already made a tutorial about how to root the i9001, but this method is faster and easier, so forget the old method and use this one!
- In this tutorial I assume that you have installed your new stock ROM (or still have the original one) and made no modifications to it yet (this excludes apps & settings)
Chapters:
1. ClockWorkMod Recovery (CWM)
2. Getting full access to your system files (Root)
3. How to make system apks available for modding (Deodex)
Chapter 1. ClockWorkMod Recovery
The first step of this guide is to get rid of the stock recovery, the stock recovery is very useless if you compare it to CWM.
CWM is a custom recovery that it known worldwide, it has a great number of options and actually should be installed by default on any smartphone!
The method of flashing the recovery will be Odin (Mutli Downloader 4.43), this method doesn’t require root access and is very trusted.
What you have to do on your pc:
1. Download and unpack Odin and AriesVE.ops
2. Download and unpack CWM v5.5.0.4 (ICS Compatible)
3. Download and install Samsung USB Drivers
4. Now go to the folder where you extracted odin and AriesVE.ops, and open odin (Multi_Downloader_v4.43_with_smd0425.exe)
{
"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"
}
5. Click on the “OPS” button, now choose the AriesVE.ops file you downloaded earlier, after this check the “One package” checkbox
6. Now click the “One Package” button and choose the “recovery-clockwork-5.5.0.4-ariesve.tar.md5″ file you downloaded earlier, now it will perform an md5 check
7. Now turn off your i9001 if it’s on at the moment.
8. Turn it on by holding: Volume Down + Home + Power (hold it for about 6 seconds) until the Download Mode comes
9. Now put the USB cable in your phone and computer, your computer will now install all needed drivers
10. Once the driver installation is complete you will see a yellow block in your upper left odin window
This means it’s detected and ready to flash
11. Now click the “Start” button and the flashing will start
(as you see this process only takes a few seconds)
12. Now your phone will reboot and CWM is installed correctly. (You can also press the “Volume up + Power” buttons when you see the Samsung logo (when odin reboots your phone), It will force your device to go to cwm.
What I strongly advice is to make a backup of your current rom (backup & restore > backup)
Now see the next chapter for quick rooting!
Chapter 2. Getting full access to your system files (Root)
Once CWM is installed it’s very easy to root your phone very fast.
1. Download Root-i9001-Signed.zip or scan this barcode on your phone:
2. Put the zip on your sdcards root, and turn off your phone.
3. Now turn your phone on by holding: Volume Up + Power, when you see the Samsung logo wait another 2/3 sec and then release both buttons.
4. Now CWM Recovery will show, use the volume buttons to scroll up and down, use the home button to choose something
5. Scroll to “install zip from sdcard” and press the home button
(using the volume down button to go down in the menu)
(after pressing home in main menu)
6. Now Press home again to go to “choose zip from sdcard, this will let you browse your internal sdcard, now search for the root-i9001-signed.zip file
(my sdcard is a bit messy ^^)
7. When you found the zip press Home to choose it
8. Now scroll up (it’s faster then down) until you reach Yes, then press the home button again. This will install the root zip on your phone
9. Now press the back button once to return to the main menu, with “reboot system now” selected, press the home button once to reboot your phone
10 . When your phone is rebooted you should look for the SuperUser app and open it, now press the menu button and choose “Preferences”
11. Now scroll all the way down to Superuser information, then press the second button “Su Binary v3.0-beta2″, this will open the updater
(dutch language)
12. As you see it’s outdated and needs to be updated, press the Update button to do this
13. Now the updating will start, and soon SuperUser will ask for SuperUser permissions, click Grant
(dutch language)
14. After clicking grant the update process will continue and will be done in a few seconds
15. Now your Su Binaries are updated you need to update the app itself, just go to the market and search for “Super User”
16. Choose the one contributed by: ChainsDD, now click the “Update” button to update it. You are now done with the rooting.
Chapter 3. How to make system apks available for modding (Deodex)
Requirements for deodexing:
- Android SDK (x86)
- Java Development Kit (x86)
- Busybox Installed on your phone (the download from the market is the installer, so you will need to run the app to install it)
1. Download xUltimate Script v2.3.3, unpack it in some folder and if you have an anti-virus, scan the jar folder and add “auto_app.exe” and “auto_frame.exe” to exclusions/trusted files. (at least my anti-virus thinks it’s dangerous, but it’s not..)
2. Run “Main Skip.bat”, now the main menu of xUltimate will open
3. Now connect your phone in debugging mode to your pc (but not in mass storage mode!), and choose “1″ then press enter, this will pull all system apps from your device
4. When the pulling is complete choose “2″ and press enter, this will pull all system framework files.
5. Now that you’ve collected all apks/odex files, you will probably need to remove these apks from the “origi_app” folder, since they will probably fail to deodex.
- GoogleQuickSearch.apk / GoogleQuickSearch.odex
- Maps.apk / Maps.odex
- Phonesky.apk / Phonesky.odex
- PlusOne.apk / PlusOne.odex
- Voicesearch.apk / Voicesearch.odex
These apps can be redownloaded at the market later! (Phonesky is just the market installer, not the actual market installation)
6. Now choose “3″ and press enter, now the deodexing of the system apps will start.
This may take a while, but at least it will deodex until the end, since the trouble makers are already removed.
7. When the deodexing of the system apps is done you will return to the main menu, now choose “4″ and press enter to deodex the framework files
Luckily deodexing the framework goes a lot faster then the apps. When this process is also done you will have 2 output folders, called “done_app” and “done_frame”
8. What you will need to do is copy both folders to your internal sdcard’s root (since you’re still in debugging mode, drag down the status bar and click on the usb notification, then click on “Mount Storage” to mount your internal sdcard on your computer (Mass Storage Mode)
9. After you copied both folders, you need to press “Unmount Storage” on your phone, now it will be back in normal debugging mode, keep the usb cable in because we are not done yet.
10. Download ADB (Android Debug Bridge) and unpack it in some folder, Now in that folder “Shift+Right Click” at some empty spot > Open command window here (This is only for Windows 7). XP users will have to open cmd manually and “cd” to the adb directory
11. Once your in cmd, enter the following commands to successfully deodex your phone (an explanation of the commands can be found below them, make sure you don’t enter the symbols as well, I added those so you can see if you’re in the right mode)
> adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
$ su
# stop
# mount -o remount rw /system
# rm /system/app/*.odex
# rm /system/framework/*.odex
# busybox cp /sdcard/done_app/* /system/app/
# busybox cp /sdcard/done_frame/* /system/framework/
# busybox chmod 644 -R /system/app/*
# busybox chmod 644 -R /system/framework/*
# reboot
What did those commands actually do?:
“adb shell” – opens a shell interface for your phone, this is the same as a unix shell
“su” – asks for superuser permissions (and gets it right away)
“stop” – this command freezes your phone completely, except the adb traffic, that means you can replace system files without crashing your device
“mount -o remount rw /system” - this remounts the system partition but writable
“rm /system/app/*.odex” / “rm /system/framework/*.odex” – This deletes the old .odex files which are not needed anymore after deodexing
“busybox cp /sdcard/done_app/* /system/app/” / “busybox cp /sdcard/done_frame/* /system/framework/” – This copies the apks from the folders in your sdcard to the right destination.
“busybox chmod 644 -R /system/app/*” / “busybox chmod 644 -R /system/framework/*” – This command sets the permissions to RW-R-R, some users say it’s not needed but just remember to do it always, it’s a good thing! (and bad permissions may even crash your device)
“reboot” – well, I think you know what this does.
Ok so If you entered all commands correctly your phone will now reboot and succeed to boot. be ware that it takes a lot longer then a normal boot since the dalvik-cache has to rebuilt, this takes about 1 minute and 30 seconds at the i9001. (also depending on the amount of apps you have)
12. Now that your phone is successfully deodexed it’s ready to be customized! This means you can install Theme’s and Mod’s, but you can also do all other kinds of customization, since your phone is also rooted, such as installing Thunderbolt. But don’t forget to redownload the apps that you removed before deodexing
I hope you’ve learned something in this tutorial, I’ve already written a tutorial about rooting, but this way of rooting is just way better then the traditional method.
As always, good tutorial :good: I'll probably never need it, but good to know i could if i want.
regards
busprofi said:
As always, good tutorial :good: I'll probably never need it, but good to know i could if i want.
regards
Click to expand...
Click to collapse
Thanks . The tutorial is really focussed on beginners, so they have a well explained tutorial to follow, that they will probably understand the first time they read it. (atleast I hope they do ^^)
broodplank1337 said:
Thanks . The tutorial is really focussed on beginners, so they have a well explained tutorial to follow, that they will probably understand the first time they read it. (atleast I hope they do ^^)
Click to expand...
Click to collapse
:thumbup: Always the Best!!!
Sent from my GT-I9001 using xda app-developers app
raptor92 said:
:thumbup: Always the Best!!!
Sent from my GT-I9001 using xda app-developers app
Click to expand...
Click to collapse
Thanks And the good thing is, I keep getting new idea's for apps and tutorials. my idea source will never go dry! (I guess, since sometimes I suddenly have 3 new apps in my mind, that I can make) In a few years I will have loads of stuff lol (If I keep this tempo of developing/writing tutorials)
Wow another awesome noob-friendly guide. Love your work. Keep it up.
Sent from my GT-I9001 using xda premium
iCloud said:
Wow another awesome noob-friendly guide. Love your work. Keep it up.
Sent from my GT-I9001 using xda premium
Click to expand...
Click to collapse
Thanks will do, btw I just noticed that I forgot to post all links! (I just copied it from my blog without thinking about all links). my mistake
I respect your work.thanks for the tutorial,exactly what I need.
john9 said:
I respect your work.thanks for the tutorial,exactly what I need.
Click to expand...
Click to collapse
Thank you, you're welcome Nice that it's exactly what you need haha
broodplank1337 said:
Thank you, you're welcome Nice that it's exactly what you need haha
Click to expand...
Click to collapse
Brood, i have a question on this. After deodexed the app and jar files can these file considered as zipaligned? Because i found that it take a lot of memory compared to the odexed ROM. However, in the xUltimate there is a optimization command available to optimize all the apk files but it also bring many FC after push all the files to the phone.
DreamerTKM said:
Brood, i have a question on this. After deodexed the app and jar files can these file considered as zipaligned? Because i found that it take a lot of memory compared to the odexed ROM. However, in the xUltimate there is a optimization command available to optimize all the apk files but it also bring many FC after push all the files to the phone.
Click to expand...
Click to collapse
The deodex process calls it aligning, and I'm not sure if that's really a zipalign, but it's very easy to zipalign, just run the attached "03zipalign" in script manager, (with su icon checked), But the fc's are are not normal, you must have made a mistake somewhere, do you still have the odex files inside /system/app and system/framework for example?
broodplank1337 said:
The deodex process calls it aligning, and I'm not sure if that's really a zipalign, but it's very easy to zipalign, just run the attached "03zipalign" in script manager, (with su icon checked), But the fc's are are not normal, you must have made a mistake somewhere, do you still have the odex files inside /system/app and system/framework for example?
Click to expand...
Click to collapse
Nope. During the push process i already write the remove command in adb to delete them all. For the FC case this won't happen if i didn't run the command in xUltimate>Advanced>Optimize all apk>Extreme.
After the optimization i found out that the apk files become smaller in size but sometimes some of the apk will get FC in phone. What i have experienced are camera.apk, AxT9IME.apk, Phone.apk and so on.
DreamerTKM said:
Nope. During the push process i already write the remove command in adb to delete them all. For the FC case this won't happen if i didn't run the command in xUltimate>Advanced>Optimize all apk>Extreme.
After the optimization i found out that the apk files become smaller in size but sometimes some of the apk will get FC in phone. What i have experienced are camera.apk, AxT9IME.apk, Phone.apk and so on.
Click to expand...
Click to collapse
Well, I assume you pushed the files while in mass storage mode?, (or did you use adb push?). When you're in mass storage mode you cannot access your sdcard in adb, so what you actually do when using the remove command: nothing.
Then If you place the done_app and done_frame folder in /system/app & /system/framework you will still have the .odex files , Right?
Please follow all steps correctly, I also screwed up at my first deodexes, but when I red the whole tutorial (I believe that was the i9003 one) again it worked
But you can also use deodex packages (KQE for example) which is posted at the KQE rom topic.
broodplank1337 said:
Well, I assume you pushed the files while in mass storage mode?, (or did you use adb push?). When you're in mass storage mode you cannot access your sdcard in adb, so what you actually do when using the remove command: nothing.
Then If you place the done_app and done_frame folder in /system/app & /system/framework you will still have the .odex files , Right?
Please follow all steps correctly, I also screwed up at my first deodexes, but when I red the whole tutorial (I believe that was the i9003 one) again it worked
But you can also use deodex packages (KQE for example) which is posted at the KQE rom topic.
Click to expand...
Click to collapse
Brood, i redownload the xUltimate using the link that you provided in this forum and now the deodex process run smoothly and successfully. Finally i can manage my phone freely. Thanks again~
DreamerTKM said:
Brood, i redownload the xUltimate using the link that you provided in this forum and now the deodex process run smoothly and successfully. Finally i can manage my phone freely. Thanks again~
Click to expand...
Click to collapse
Good! You know I've only managed to deodex roms successfully using the 2.3.3 version, I just think that 2.3.3 is the magical version . Enjoy the deodex
broodplank1337 said:
Good! You know I've only managed to deodex roms successfully using the 2.3.3 version, I just think that 2.3.3 is the magical version . Enjoy the deodex
Click to expand...
Click to collapse
Really? maybe also caused by last time im using the ver 2.4 so this might be the main cause for such problem
Thanks for this guide, but (there's always a but)....
... my I9001 keeps rebooting into CWM now. Whenever I boot it, or reboot it, it will always go back into CWM. I reflashed CWM using this guide, step by step, 4 times with the same result. It's great to have CWM on the phone, but it would be nice to also use the phone as a,... well "phone".
I tried flashing Broodrom (business) and it flashes alright. No way to test it however since all I see after a reboot is,... CWM. I tried 3 different ROMs, but all I see is CWM.
Do I have a seriously strange i9001, or is there something I am missing in this guide? I've flashed quite a few phones so maybe I can't be considered to be a beginner anymore, and maybe that's why this guide won't work for me
Anyways, back to odin and stock ROM for me.
FrepA said:
Thanks for this guide, but (there's always a but)....
... my I9001 keeps rebooting into CWM now. Whenever I boot it, or reboot it, it will always go back into CWM. I reflashed CWM using this guide, step by step, 4 times with the same result. It's great to have CWM on the phone, but it would be nice to also use the phone as a,... well "phone".
I tried flashing Broodrom (business) and it flashes alright. No way to test it however since all I see after a reboot is,... CWM. I tried 3 different ROMs, but all I see is CWM.
Do I have a seriously strange i9001, or is there something I am missing in this guide? I've flashed quite a few phones so maybe I can't be considered to be a beginner anymore, and maybe that's why this guide won't work for me
Anyways, back to odin and stock ROM for me.
Click to expand...
Click to collapse
The problem you're facing is the bootloop bug in cwm, some people experience this bug, you can find the fix in this post: http://forum.xda-developers.com/showpost.php?p=24831012&postcount=1330
broodplank1337 said:
The problem you're facing is the bootloop bug in cwm, some people experience this bug, you can find the fix in this post: http://forum.xda-developers.com/showpost.php?p=24831012&postcount=1330
Click to expand...
Click to collapse
Thanks for your reply. I did try that solution before I posted (I should have mentioned it, sorry). It didn't solve my problem however. I could boot without going into recovery, but nothing would happen, so the ROM would not be loaded. I should mention however that I had no problems with a different i9001, so I might have a phone with some special issues.
# stop
# mount -o remount rw /system
# rm /system/app/*.odex
# rm /system/framework/*.odex
# busybox cp /sdcard/done_app/* /system/app/
# busybox cp /sdcard/done_frame/* /system/framework/
# busybox chmod 644 -R /system/app/*
# busybox chmod 644 -R /system/framework/*
# reboot
Click to expand...
Click to collapse
I could not do the above. when i type stop, there is no #.
Edited: I have done it. It is deodex now but when I flash the mod such as the extended toggle bar, when the the phone restart the status bar missing. How can I fix it???
** NOT Android 4.3 compatible!!! Term-init is recommended for now!!!
**Note...this is only for those who do not have init.d support...if you are using custom kernels (cyanogen mod original kernel etc.) that already supports init.d, you shouldn't run this......but if you accidentally ran this, it is ok...won't mess up anything...
{
"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"
}
v1.0
init.d support through an app!!!
What is init.d:
the_scotsman (Moderator Liaison Admin / Moderator Committee / XDA News Writer) said:
Init.d plays an important role in the world of Android development and customization It allows users to install scripts and mods to be run at boot—everything from battery tweaks to performance tweaks. It essentially opens the door to a world of mods only possible through the Init.d process, which in turn is usually only available on custom kernels.
Click to expand...
Click to collapse
But how?
Concept:
I have recently learnt some linux scripting and was searching for a method to enable init.d scripts support for my phone which has a stock kernel. Inspired by this thread by iridaki, I finally managed to get init.d working in my phone!!! However, I thought of the other users who still do not have a proper custom recovery...how are they gonna flash zip packages? And if it has to be done manually, it requires a lot of typing, changing file permissions etc....a very tedious process...
Therefore, I've decided to come up with a script to automate this process!!! *Drum rolls*...lol
BUT now, with the aid of Androguide.fr (creator of Pimp My ROM), we managed to integrate the script into an app to save the hassle of typing commands in terminal emulator! With just a button click, the commands will be carried out! With just a button click, the app will verify whether is there init.d support or not!
Do I have init.d support?:
Well, here is a way to test:
1. Download the file from here: View attachment 1612958
2. Extract the file, you will get a file named 00test. DO NOT flash!
3. Paste it into /etc/init.d. If there is no init.d folder, most probably you DO NOT have init.d support. However, if you still wanna try, just create the folder named "init.d"
4. Change the permissions of the init.d folder and 00test into rwxrwxrwx.
5. Reboot.
6. If you see a file named Test.log in /data, you have init.d support. If not, you will have to run Uni-init, Term-init or Zip-init.
Features:
- Utilises install-recovery.sh (if your kernel supports that, but of course, but most do...) to enable init.d scripts (busybox run-parts required)
- Will add lines in install-recovery.sh if it already exists (will not replace install-recovery.sh because certain apps such as Link2SD requires that to work), creates it if it doesn't
- Creates the init.d folder with correct permissions
- Adds 2 init.d scripts: one for testing (shows time of execution), another to ensure that the scripts in init.d folder always have the correct permissions
- Adds sysinit in /system/bin, will add the required lines if it already exists
- Deletes duplicate files and lines to ensure the least of errors
Requirements:
- a rooted phone of course...
- busybox with required applets (especially run-parts), if not sure what is this, just install this by Stericson: Link and please reboot after installing before running this script......use "normal install" method, don't use "smart install"...
Instructions:
1. Download the apk.
2. Install the apk like any normal app.
3. Launch the app.
4. The rest are pretty self-explanatory...
5. You can uninstall the app after that...
Screenshots:
**To check whether init.d is really working or not, reboot your phone and navigate to /data...you should find a Test.log in there...If it is present, congrats, you have a WORKING init.d support!
Download:
If you have already read all the instructions and understand them, then click here to download:
Uni-init v1.0.apk
Credits:
Thanks to:
Androguide.fr for the android app base!
Donators (big thank you! ):
@bigknowz
Feel free to posts questions below...I will try my best to help......By the way, those who used the app and found that it works, please leave a post here, stating you phone model, android version and ROM...thanks! but don't just leave comnents saying 'it doesn't work' etc...give more details if possible...
Please don't mirror / modify my work, ask for permissions first...
**UPDATE: v3 is out now! Android 4.3 compatible!
**Term-init is also used in Droid Manager!!!**
**Featured in the XDA News Portal: Init.d Support for Any Rooted Phone (Thanks to the_scotsman!)
Hi guys...as stated in the title above, I have created a script to be ran in terminal emulator so that it will enable the support of init.d scripts!!!
**Note...this is only for those who do not have init.d support...if you are using custom kernels (cyanogen mod original kernel etc.) that already supports init.d, you shouldn't run this......but if you accidentally ran this, it is ok...won't mess up anything...
init.d support through terminal emulator!!!
What is init.d:
the_scotsman (Moderator Liaison Admin / Moderator Committee / XDA News Writer) said:
Init.d plays an important role in the world of Android development and customization It allows users to install scripts and mods to be run at boot—everything from battery tweaks to performance tweaks. It essentially opens the door to a world of mods only possible through the Init.d process, which in turn is usually only available on custom kernels.
Click to expand...
Click to collapse
But how?
Concept:
I have recently learnt some linux scripting and was searching for a method to enable init.d scripts support for my phone which has a stock kernel. Inspired by this thread by iridaki, I finally managed to get init.d working in my phone!!! However, I thought of the other users who still do not have a proper custom recovery...how are they gonna flash zip packages? And if it has to be done manually, it requires a lot of typing, changing file permissions etc....a very tedious process...
Therefore, I've decided to come up with a script to automate this process!!! *Drum rolls*...lol
Do I have init.d support?:
Well, here is a way to test:
1. Download the file from here: View attachment test_initd.zip
2. Extract the file, you will get a file named 00test. DO NOT flash!
3. Paste it into /etc/init.d. If there is no init.d folder, most probably you DO NOT have init.d support. However, if you still wanna try, just create the folder named "init.d"
4. Change the permissions of the init.d folder and 00test into rwxrwxrwx.
5. Reboot.
6. If you see a file named Test.log in /data, you have init.d support. If not, you will have to run Uni-init, Term-init or Zip-init.
Features:
- Auto checks for required files [v2]
- Utilises install-recovery.sh (if your kernel supports that, but of course, but most do...) to enable init.d scripts (busybox run-parts required)
- Will move install-recovery.sh to install-recovery-2.sh if it already exists and call it from the main install-recovery.sh (will not replace install-recovery.sh because certain apps such as Link2SD requires that to work), creates it if it doesn't [v3]
- If Superuser is using install-recovery.sh, will use install-recovery-2.sh instead [v3]
- Creates the init.d folder with correct permissions
- Adds 2 init.d scripts: one for testing (shows time of execution [v2]), another to ensure that the scripts in init.d folder always have the correct permissions
- Adds sysinit in /system/bin, will add the required lines if it already exists. This is for utilising a similar method to enabling init.d in AOSP ROMs
Requirements:
- a rooted phone of course...
- busybox with required applets (especially run-parts), if not sure what is this, just install this by Stericson: Link and please reboot after installing before running this script......use "normal install" method, don't use "smart install"...
- terminal emulator such as this: Link
Instructions:
1. Download the file.
2. Place it in the root of your sdcard directory.
3. Launch terminal emulator.
4. Type: su
5. Grant SuperUser access if prompted
6. Type: sh /sdcard/term-init.sh
7. The script will run and follow the instructions! As simple as that...
**To check whether init.d is working or not, reboot your phone and navigate to /data...you should find a Test.log in there...If it is present, congrats, you have init.d support!
Download:
If you have already read all the instructions and understand them, then click here to download:
term-init.sh v3
Feel free to posts questions below...I will try my best to help......By the way, those who used my script and found that it works, please leave a post here, stating you phone model, android version and ROM...thanks! but don't just leave comnents saying 'it doesn't work' etc...give more details and screenshots if possible...
Please don't mirror / modify my work, ask for permissions first...
Source code & changelog: https://github.com/Ryuinferno/Term-init
** NOT Android 4.3 compatible!!! Term-init is recommended for now!!!
**Note...this is only for those who do not have init.d support...if you are using custom kernels (cyanogen mod original kernel etc.) that already supports init.d, you shouldn't run this......but if you accidentally ran this, it is ok...won't mess up anything...
As Term-init does not work for certain people, I have came up with a CWM flashable zip:
init.d support through CWM!!!
What is init.d:
the_scotsman (Moderator Liaison Admin / Moderator Committee / XDA News Writer) said:
Init.d plays an important role in the world of Android development and customization It allows users to install scripts and mods to be run at boot—everything from battery tweaks to performance tweaks. It essentially opens the door to a world of mods only possible through the Init.d process, which in turn is usually only available on custom kernels.
Click to expand...
Click to collapse
Do I have init.d support?:
Well, here is a way to test:
1. Download the file from here: test_initd.zip
2. Extract the file, you will get a file named 00test. DO NOT flash!
3. Paste it into /etc/init.d. If there is no init.d folder, most probably you DO NOT have init.d support. However, if you still wanna try, just create the folder named "init.d"
4. Change the permissions of the init.d folder and 00test into rwxrwxrwx.
5. Reboot.
6. If you see a file named Test.log in /data, you have init.d support. If not, you will have to run Uni-init, Term-init or Zip-init.
Features:
- Utilises install-recovery.sh (if your kernel supports that, but of course, but most do...) to enable init.d scripts (busybox run-parts required)
- Will add lines in install-recovery.sh if it already exists (will not replace install-recovery.sh because certain apps such as Link2SD requires that to work), creates it if it doesn't
- Creates the init.d folder with correct permissions
- Adds 2 init.d scripts: one for testing, another to ensure that the scripts in init.d folder always have the correct permissions
- Adds sysinit in /system/bin, will add the required lines if it already exists
- Deletes duplicate files and lines to ensure the least of errors
Requirements:
- a rooted phone of course...
- busybox with required applets (especially run-parts), if not sure what is this, just install this by Stericson: Link and please reboot after installing before running this script......use "normal install" method, don't use "smart install"...
- a working CWM custom recovery
Instructions:
1. Download the file.
2. Flash zip-init.zip thorough CWM.
3. Reboot and you are done!
**If you get a status 0 error in CWM, please replace the update-binary in zip-init.zip with a working update-binary of your phone (just extract it from any CWM zip meant for your phone)...
**To check whether init.d is working or not, reboot your phone and navigate to /data...you should find a Test.log in there...If it is present, congrats, you have init.d support!
Download:
If you have already read all the instructions and understand them, then click here to download:
zip-init.zip v2
Feel free to posts questions below...I will try my best to help......By the way, those who used my mod and found that it works, please leave a post here, stating you phone model, android version and ROM...thanks! but don't just leave comnents saying 'it doesn't work' etc...give more details and screenshots if possible...
Please don't mirror / modify my work, ask for permissions first...
Troubleshooting
Troubleshooting:
**CWM might warn something about disable recovery flash when using this mod, it is just a false positive, please DO NOT select yes or else it won't work anymore**
If you have already applied the script but there is no /data/Test.log, please refer the steps below:
1. Check whether have you installed busybox properly, especially run-parts. REBOOT after installing, then only apply this script.
2. If you are using the busybox installer by Stericson, please use "normal installation method", NOT "smart installation method".
3. Check whether are these files present with the correct permissions (please change if the permissions are wrong):
- /system/bin/sysint (rwxr-xr-x) [owner: root (0), group: shell (2000)]
- /system/etc/init.d (rwxrwxrwx) [owner: root (0), group: root (0)]
- /system/etc/init.d/00test (rwxrwxrwx) [owner: root (0), group: root (0)]
-/system/etc/init.d/08setperm (rwxrwxrwx) [owner: root (0), group: root (0)]
- /system/etc/install-recovery.sh (rwxr-xr-x) [owner: root (0), group: root (0)]
- /system/etc/install-recovery-2.sh (rwxr-xr-x) [owner: root (0), group: root (0)] (may or may not be present)
4. Check whether you have run-parts installed. Go to /system/xbin, you should be able to find a fine named "run-parts"
5. Check whether you have these lines in /system/etc/install-recovery.sh (if not, please add them in manually (using Root Explorer or keep the EOL in Unix format...Google about it), remember to leave an EMPTY line at the end of the file)
Code:
# init.d support
busybox run-parts /system/etc/init.d/
6. If all the above are still not helping, please download this: run-parts.zip and extract it (DO NOT flash it). Place the file named "run-parts" in /system/xbin. Change permissions to rwxrwxrwx, owner to root (o) and group to shell (2000). Reboot and check /data again.
7. Still fails? Check your /init.rc for any lines containing "install-recovery"...if there are none, this method won't work...so use the Script Manager method.
8. Use this as a last resort: Download Script Manager from Play Store: Link. Then navigate to /etc/install-recovery.sh, select it and run as root and at boot (select the skull and gear icon).
9. If all the above are not working, and the "install-recovery" line is present, then please paste the contents of your /etc/install-recovery.sh and /etc/install-recovery-2.sh if present somewhere (like http://pastebin.com and after applying the mod of course) here for me to debug. Take a screenshot of the output after running Term-init and post here, along with your ROM version, android version and name of device.
ace 5830i stock rom
Ryuinferno said:
Hi guys...as stated in the title above, I have created a script to be ran in terminal emulator so that it will enable the support of init.d scripts!!!
Term-init --> init.d support through terminal emulator!!!
But how?
Concept:
I have recently learnt some linux scripting and was searching for a method to enable init.d scripts support for my phone which has a stock kernel. Inspired by this thread by iridaki, I finally managed to get init.d working in my phone!!! However, I thought of the other users who still do not have a proper custom recovery...how are they gonna flash zip packages? And if it has to be done manually, it requires a lot of typing, changing file permissions etc....a very tedious process...
Therefore, I've decided to come up with a script to automate this process!!! *Drum rolls*...lol
Features:
- Utilises install-recovery.sh to enable init.d scripts (busybox run-parts required)
- Will add lines in install-recovery.sh if it already exists (will not replace install-recovery.sh because certain apps such as Link2SD requires that to work), creates it if it doesn't
- Creates the init.d folder with correct permissions
- Adds 2 init.d scripts: one for testing, another to ensure that the scripts in init.d folder always have the correct permissions
- Adds sysint in /system/bin, will add the required lines if it already exists
- Deletes duplicate files and lines to ensure the least of errors
Requirements:
- busybox with required applets (especially run-parts), if not sure what is this, just install this by Stericson: BusyBox
- terminal emulator such as this
Instructions:
1. Download the file.
2. Place it in the root of your sdcard directory.
3. Launch terminal emulator.
4. Type: su
5. Grant SuperUser access if prompted
6. Type: sh /sdcard/term-init.sh
7. The script will run and follow the instructions! As simple as that...
Example:
**To check whether init.d is working or not, reboot your phone and navigate to /data...you should find a Test.log in there...If it is present, congrats, you have init.d support!
Download:
If you have already read all the instructions and understand them, then click here to download:
term-init.sh
Feel free to posts questions below...I will try my best to help...
Hit the thanks button if you liked my work...it gives me a boost!
Please don't mirror / modify my work, ask for permissions first...
Click to expand...
Click to collapse
its not working
ranjitkhera said:
its not working
Click to expand...
Click to collapse
Well, are the all the files present? Did you follow all the steps? I suggest you to reinstall busybox by using the link I gave...then attempt this again...
This mod work on MIUI UK official for desire s
Tested with v6 supercharger by zep
Thanks a lot
Sent from my HTC Desire S using xda app-developers app
Hi ,
I use an Motoluxe xt615 , i Fllow your guide step by step . But nothing.
The Phone Restarts an in /data is no Test.log
Busybox install Terminal install . Terminal say all is ok but the test.log fails. After Reboot i cant find it.
Sorry for my bad Englisch
hexer7568 said:
Hi ,
I use an Motoluxe xt615 , i Fllow your guide step by step . But nothing.
The Phone Restarts an in /data is no Test.log
Busybox install Terminal install . Terminal say all is ok but the test.log fails. After Reboot i cant find it.
Sorry for my bad Englisch
Click to expand...
Click to collapse
Ok...let me interpret...you installed busybox by using the link I gave, then you ran this in terminal emulator right? Can you please give me a screenshot of your terminal emulator running this script? Thanks...
Ryuinferno said:
Ok...let me interpret...you installed busybox by using the link I gave, then you ran this in terminal emulator right? Can you please give me a screenshot of your terminal emulator running this script? Thanks...
Click to expand...
Click to collapse
how can i make this???
ah ok
http://s1.directupload.net/file/d/3042/ofxoh9z3_png.htm
Err...run the script in terminal emulator, when it finished running, take a screenshot...
Ryuinferno said:
Err...run the script in terminal emulator, when it finished running, take a screenshot...
Click to expand...
Click to collapse
http://s1.directupload.net/file/d/3042/ofxoh9z3_png.htm
hexer7568 said:
how can i make this???
ah ok
http://s1.directupload.net/file/d/3042/ofxoh9z3_png.htm
Click to expand...
Click to collapse
Ok...by looking at your first few lines...I saw that su permissions for terminal emulator are not granted properly...and my script seems to be only running in the surface (only shows the text)...did you reboot after installing busybox? And by the way, please check your /system/etc...is there a init.d folder and a file named "install-recovery.sh"? And what andriod version are you using?
P.s. A working example should be like my screenshot on the first page...the first few lines in your screenshot should not appear...
Ok...I will include a flashable zip soon...cause terminal emulator does not seem to work with some...
Ryuinferno said:
Ok...by looking at your first few lines...I saw that su permissions for terminal emulator are not granted properly...and my script seems to be only running in the surface (only shows the text)...did you reboot after installing busybox? And by the way, please check your /system/etc...is there a init.d folder and a file named "install-recovery.sh"? And what andriod version are you using?
P.s. A working example should be like my screenshot on the first page...the first few lines in your screenshot should not appear...
Click to expand...
Click to collapse
1 Reboot after busybox install no
2, no
3. no
That's why...the script did not have the correct permissions to run...did you grant terminal emulator su access when you type "su"? Try installing busybox again, reboot, run the script and reboot again...
Ryuinferno said:
That's why...the script did not have the correct permissions to run...did you grant terminal emulator su access when you type "su"? Try installing busybox again, reboot, run the script and reboot again...
Click to expand...
Click to collapse
When i type su , the first massage is "log_write: cannot open Device" , then after this massage i have su
When you type "su" for the first time after installing terminal emulator, a pop up will appear, asking you to grant or deny superuser access...did that happen?
Ryuinferno said:
When you type "su" for the first time after installing terminal emulator, a pop up will appear, asking you to grant or deny superuser access...did that happen?
Click to expand...
Click to collapse
i install emulator new, and i lock that
Ok..seems that the su access in your terminal emulator is not working well, so I will upload a cwm zip soon...wait for that...
INTRODUCTION:
Boot Buddy will allow you to run Linux shell scripts when your Android device is booting up. It will run your scripts early in the boot process, before the home screen appears.
The intended audience is generally intermediate to advanced users, and those who want to play with shell scripting on their device.
FEATURES:
BootBuddy is similar to init.d scripts, but with a core difference that it stores boot scripts on your SDcard instead of the internal system. This allows for several interesting enhancements. Feature listing-
Much more Safe than init.d. If you have a script that is malfunctioning, just boot with the sdcard out, and put the sdcard back in after your device reaches home screen. Your device is Saved, No Problem!
Boot Buddy is designed from the start to run scripts right from your SDcard. Just download any scripts to your boot_buddy_scripts directory and they're ready to run. (No more screwing around with permissions and files in your /system/etc/init.d/*)
SDcard storage allows you to copy a script to another device, or multiple devices easily.
Boot Buddy's author has several years of scripting and programming experience. It is streamlined, fast, and doesn't perform worthless functions like repeatedly logging the authors name and time (*hint to a t-init author*).
Clear goals of making operation simple, intuitive, and clean.
If you're currently using an "init.d" solution, BootBuddy can integrate seamlessly with it.
If you try BootBuddy and you don't like it, the installer also works as an uninstaller for easy clean removal.
BootBuddy is Open Source GNU GPL. Open for anyone to modify and improve upon.
As a developer, I make software to operate the way I would want if I were an end user, because I actually do use it, and I am an end user like you.
REQUIREMENTS:
Android 4.0 and up
Rooted device
An sdcard
Script Manager Free (or any other app that can run scripts as root)
Boot Buddy Installer bb_install.sh
INSTALL:
Start Script Manager, and allow/grant root access.
Navigate to the bb_install.sh file.
Tap on the file to show the menu options.
At the top, highlight the "Su" icon.
On the top-left, tap "Run".
The script will run quickly. It will automatically detect your sdcard location and create a folder on your sdcard named "boot_buddy_scripts". In that folder, you put the scripts you want to run at system boot. A log file will be kept at /data/boot_buddy.log
If you need your scripts to run in order, they are ordered by filename using the busybox "sort" program. They will run in alphabetical order using this format 0-9A-Za-z.
YOUR FIRST SCRIPTS: (OPTIONAL)
Here are a couple example scripts you may use.
The Android /system is normally mounted with read-only permissions by default. We will change that with the first script listed below. It will cause /system to be remounted to read-write permissions during boot.
The second script will create a file at every boot named /mnt/sdcard/sys_mount_info.txt. That txt file will give us information about how /system is currently mounted.
Download the file 00rw_system.sh into your boot_buddy_scripts folder.
Download the file 99sys_mount_info.sh into your boot_buddy_scripts folder.
Reboot your phone.
That's it, you just installed 2 new scripts and had them run at boot. It's Really just that simple to add startup scripts to your system.
To verify they are running, use any text viewer to open the file /mnt/sdcard/sys_mount_info.txt. It may show more than one line of text. There should be a line similar to this:
/dev/block/(device specific text) /system (fstype) rw,(more text)
The rw means that /system was successfully remounted as read-write during boot.
At any time you can delete either script if you choose. Easy!
UNINSTALL:
If for any reason you find you don't want or don't like Boot Buddy, you can cleanly uninstall it using the installer bb_install.sh. These instructions are almost identical to installing. (All match the installation steps, except step 4)
Start Script Manager, and allow/grant root access.
Navigate to the bb_install.sh file.
Tap on the file to show the menu options.
Type --uninstall in the text area labeled Arguments.
At the top, highlight the "Su" icon.
On the top-left, tap "Run".
Boot Buddy will be uninstalled. It will not remove the contents of your boot_buddy_scripts folder. If you have an "init.d" system installed, it will cleanly remove only Boot Buddy parts and leave the rest.
MUST READ
ADVANCED NOTES:
Boot Buddy will Not cause harm to your system, but it may not work on custom roms. Also, it may fail to detect the real location of your SDcard. It requires that /system/etc/install-recovery.sh is run during the boot process, and that file will be created if it does not exist. Also the file /data/boot_buddy.sh will be created. The script /system/etc/install-recovery.sh will run /data/boot_buddy.sh. The script /data/boot_buddy.sh will run the scripts on your sdcard. The file /data/boot_buddy.log will log any script output.
For Windows and Mac users- If you download the installer to your pc first, do not edit the installer with a text editor. Your computer will add hidden markers at the ends of each line that will prevent the installer from running. If you want to edit it, you should do so on a Linux pc or directly on your Android device.
Tell us about your results!!!
BootBuddy source code: http://github.com/Sepero/bootbuddy
NOTE : I AM NOT A DEVELOPER I AM ONLY SHARING THIS. So Try On Your Own Risk. I Can't Help Anything.
Credits :
[email protected]
Script mgr says I'm not root, despite me in a root terminal elsewhere. wtf ?? ...
I'm not root in script mgr., even though I'm showing up as root in terminal.
I've installed Super user (chains sd ), just in case the App doesn't support my other Supersu App or similar.
I've utilised the su icon and run.
I did tick run as executable.
No reboot tried.
What am I missing ??
Please advise.
I give you 5 stars to the thread
Almost first!!! haha.... this is awesome dude this could be HUGE.
Steve Eligoyo said:
I'm not root in script mgr., even though I'm showing up as root in terminal.
I've installed Super user (chains sd ), just in case the App doesn't support my other Supersu App or similar.
I've utilised the su icon and run.
I did tick run as executable.
No reboot tried.
What am I missing ??
Please advise.
Click to expand...
Click to collapse
You must to select root when start on script mgr, you have skull head with crossed bones
Steps to complete failure: Page 96 ?? ...
Here are the steps I've taken to get kicked in the teeth:
Boot phone > menu > script mgr. > start > scroll to file (in this case bb _install.sh ) > open file > tick su ( tried boot and bgr several times, nada amigo ) as instructions state > run > unexpected oper error: your not root > rinse and repeat sixty times > open terminal > su > Works just fine > Post my question on xda in the WTF Thread
Update:
After creating the directories and files needed to make this train wreck into a working setup, (obviously a few are missing here, working on it), I reopened script mgr and browsed the file system, which shows bb _install.sh file (and the other two in this
Thread as well) with the green su skull and crossbones with the boot dot next to those skulls, yet the apps shell /console says oper error - Your not root.
Again, I open terminal, su > enter > Viola!, I'm root.
I've installed the sdcard v. of script mgr as well and I get a message stating /data/system/xbin does not exist.
I'll likely need to tweak the script mgr settings to /sdcard 0/externalsd /directory bind /system /xbin/bb _install.sh - something like that.
Still doesn't explain why the app is putting the brakes on root terminal in the nag screen.
Any ideas ??
MAN THANK YOU !!!! as a noob i couldn´t get init.d to work right. so i tried your script on the xperia z3c with stock 4.4.4
to make it compatible with z3c you need to edit the file /data/boot-buddy.sh after the installation
and replace both
/boot_buddy_scripts/
with
/storage/emulated/legacy/boot_buddy_scripts/
or
/storage/sdcard1/boot_buddy_scripts/
or another prefered location
then make a new folder boot_buddy_scripts in the location.
really it executes the scripts way before the apps are starting , this is so nice and will be on my phones from now on !
edit: i also now changed the log file creation to the sd card for quick access (most filebrowsers open there by default)..
the logfile is major awesome btw if something didn´t go right , its easy to debug , thanx alot again
Won't install says I don't have busybox. I have it but it has to go in system bin instead of xbin. Amy way to get this working?