[HOW TO?] Install and run 2nd-init for defy - Defy Android Development

Original post HERE from r2beta0
DANGER!!! Its NOT for Defy! Needs to mobify the 2nd-init first
Hopping some devs to fix it for Defy!
r2beta0 said:
Credit for koush for Droid2 Bootstrap
Credit for edgardcastro for sharing lots of information about 2nd-boot on Milestone1
Credit for Skrilax_CZ for 2nd-init and sh hijack
WARNING: Use this ONLY if you know exactly what you are doing. This guide will make major changes in the /system partition and may turn the phone inoperative. I won’t hold responsibility if you brick your phone or to any damages it may cause.
Pre-requisites: A computer with Android SDK and ADB drivers installed and working. It’s recommended to have RSD Lite 4.9 and the appropriate SBF image just in case anything goes wrong.
This guide was made using a Brazilian Motorola Milestone2 based on Brazil Retail SBF and a computer running Windows Vista 32-bits. I started it from the scratch by flashing my phone with RSD Lite 4.9 and performing a full data/cache wipe, just to make sure any changes were discarded.
Note: Commands that should be entered in command prompt will be listed as: “C:\> <command>”. Commands issued to ADB Shell will be listed as: “# <command>”.
1. Enable USB Debugging on your phone;
2. Get permanent root. I used the app z4root which can be found here on XDA;
3. Install Droid2 Bootstrap. It may be downloaded from Market to support the developer. More info here http://www.koushikdutta.com/2010/08/droid-x-recovery.html;
4. Open Droid2 Bootstrap and click “Bootstrap Recovery”;
5. Use bootstrap to reboot into Clockwork Recovery and backup your phone;
6. Reboot;
7. C:\> adb remount
8. # stop
9. # mkdir /system/etc/rootfs
10. # cp /*.rc /system/etc/rootfs
11. # mkdir /system/etc/init.d
12. # cp /system/bin/sh /system/bin/_sh
13. # cp /init_prep_keypad.sh /system/bin
14. C:\> adb push sh_hijack.sh /system/bin/
15. C:\> adb push 2nd-init /system/bin/
16. C:\> adb push sysinit /system/bin/
17. C:\> adb push sh /system/bin/
18. # chmod 755 /system/bin/sh
19. # chmod 755 /system/bin/sh_hijack.sh
20. # chmod 755 /system/bin/2nd-init
21. # chmod 755 /system/bin/sysinit
22. # ln -s /system/bin/busybox /system/xbin/mount
23. # ln -s /system/bin/busybox /system/xbin/rmdir
24. # ln -s /system/bin/busybox /system/xbin/cp
25. # ln -s /system/bin/busybox /system/xbin/umount
26. # ln -s /system/bin/busybox /system/xbin/run-parts
27. # reboot
28. At this point you should be getting into Clockwork Recovery every time, no matter how many times you have rebooted or if you’ve taken the battery of or not. THIS IS NORMAL. It means that the 2nd-boot + sh hijack is working as it should. The boots into clock recovery are caused by a conflict between sh hijack and logwrapper hijack (used by Droid2 Bootstrap). Continue the guide to fix this issue.
29. In clock recovery menu go to: mounts and storage>mount /system;
30. Open ADB Shell again (it will be available in clockwork recovery as well);
31. # cp /system/bin/logwrapper.bin /system/bin/mylogwrapper
32. C:\> adb pull /system/etc/rootfs/
33. Open init.rc and init.mapphone_umts.rc into a text editor that preserves unix end-line format (e.g.: notepad++). Find all entries of “/system/bin/logwrapper” replacing for “/system/bin/mylogwrapper”.
34. In init.mapphone_umts.rc find entry for “exec /init_prep_keypad.sh” replacing for “exec /system/bin/init_prep_keypad.sh”. Add the following text to the end of this file to be able to run all scripts in /system/etc/init.d at boot time:
Code:
service bootscripts /system/bin/sysinit
class post-zygote_services
disabled
oneshot
35. Save and close.
36. C:\> adb push init.rc /system/etc/rootfs/
37. C:\> adb push init.mapphone_umts.rc /system/etc/rootfs/
38. # chmod 755 /system/etc/rootfs/init.rc
39. # chmod 755 /system/etc/rootfs/init.mapphone_umts.rc
40. Choose “Reboot system now” in clock recovery menu;
You’re all set! Now it is just a matter of changing the rc files in /system/etc/rootfs to customize your system boot.
If you want to log the system boot you may also copy the provided log-init.sh script into /system/etc/rootfs and uncomment the line “exec /log_init.sh” from my init.rc file. Doing so will create the /data/logcat.log file that may get huge in sometime.
2nd-init files and my modified *.rc files attached.
Have fun!
Click to expand...
Click to collapse
As r2beta0 said for defy porting:
r2beta0 said:
It's very likely, since the 2 devices are very similar. Most of the files I attached are from Milestone1 and works perfectly on MS2. Though I recommend you to NOT replace your *.rc files with the attached ones since they could be not compatible. It would be better if you edit your own files. Also try it ONLY if you have a working version of ClockworkMod Recovery (or other custom recovery). You may adapt this guide for your device and post it here on XDA, just remember to mention my name on credits
Click to expand...
Click to collapse

Thanks, that looks interesting. I'll look into it later.
Just a big WARNING: if it behaves at it is described on the Defy, DON'T DO THAT, at least not with Tenfar or Kb7sqi 's CWM recovery ports, as booting into Recovery you won't have root adb shell access.

Someone can explain me what is it?

adlx.xda said:
Just a big WARNING: if it behaves at it is described on the Defy, DON'T DO THAT, at least not with Tenfar or Kb7sqi 's CWM recovery ports, as booting into Recovery you won't have root adb shell access.
Click to expand...
Click to collapse
Install SD Recovery of the market
Disable Debugging
Reboot your phone to the Recovery, while plugged in to a computer
Check if you can use adb... I was able to yesterday

diamond_lover said:
Someone can explain me what is it?
Click to expand...
Click to collapse
I'm guessing this is the first step to being able to go into clockwork mod recovery from a cold boot.
Sent from my Moto Defy using Tapatalk

So, anyone tried? Or is working in that?

So figured I would give this a shot, and well it doesnt work. Phone just sticks at moto logo.
Yes its true in clockwork you cant get root (#) - so I just pulled the .rc files I needed to edit ahead of time and pushed them to the phone before the first reboot. Thus avoiding needing to boot into clockwork after the described bootloop.
If I get time I will play around with this some more.

What is thisss ??
Sent from my MB525 using XDA Premium App

fritolays said:
So figured I would give this a shot, and well it doesnt work. Phone just sticks at moto logo.
Yes its true in clockwork you cant get root (#) - so I just pulled the .rc files I needed to edit ahead of time and pushed them to the phone before the first reboot. Thus avoiding needing to boot into clockwork after the described bootloop.
If I get time I will play around with this some more.
Click to expand...
Click to collapse
or you can just make a flashable zip, which i had no luck with.

Related

[HOW TO] Fix Quickboot as well as reboot into recovery from ROM Manager.

For those of you who want to use Quickboot
OR
Have ROM Manager from market and want to "Reboot into recovery" directly, do this
Extract Reboot from Reboot.zip and place it in \androidsdk\tools folder
Then
adb shell
mount /dev/block/mtdblock4 /system
exit
adb push reboot /system/bin
adb shell
cd /system/bin/
ls
chmod 755 reboot
chmod 755 /system/bin/reboot
And of course, this can't be done in Android system. You would have to boot to toast's recovery.
Also, i didn't know the command to push from shell, therefore the redundant adb shell. =)
so this takes out the HBoot? and goes straight to Recovery Rom?
unfortunately no,
but it lets you skip the step "Vol up+power" and go straight to stock recovery.
From there you can use the "fake-flash"
awesome...Thanks for sharing, i will try this
I would recommend "rm /system/bin/reboot" before pushing the new one.
Great job! Works like a charm!
I guess TheBiles and I were posting in the wrong sub-forum?
http://forum.xda-developers.com/showthread.php?t=695978
wcasdf said:
For those of you who want to use Quickboot
OR
Have ROM Manager from market and want to "Reboot into recovery" directly, do this
Extract Reboot from Reboot.zip and place it in \androidsdk\tools folder
Then
adb shell
mount /dev/block/mtdblock4 /system
exit
adb push reboot /system/bin
adb shell
cd /system/bin/
ls
chmod 755 reboot
chmod 755 /system/bin/reboot
And of course, this can't be done in Android system. You would have to boot to toast's recovery.
Also, i didn't know the command to push from shell, therefore the redundant adb shell. =)
Click to expand...
Click to collapse
C:\Documents and Settings\Owner>adb shell
# mount /dev/block/mtdblock4 /system
mount /dev/block/mtdblock4 /system
Usage: mount [-r] [-w] [-o options] [-t type] device directory
# exit
what am i doing wrong??
worked great, we are only one step away now
Help......
Hi Sorry to bother..
Have started the process got to push the file to the system bin. However when then attempting the next command adb shell, i recieve the following error:-
- exec '/system/bin/sh' failed: Not a directory (20) -
Any advice????
Cheers
Andy
.....Extract Reboot from Reboot.zip and place it in \androidsdk\tools folder
Then
adb shell
mount /dev/block/mtdblock4 /system
exit
adb push reboot /system/bin
adb shell
cd /system/bin/
ls
chmod 755 reboot
chmod 755 /system/bin/reboot
wcasdf this will also useful for desire user, i have pushed reboot into /system/bin but didnt sames to work
desire /system is /dev/block/mtdblock3, this is the problem?
Sorted....
Kali- said:
wcasdf this will also useful for desire user, i have pushed reboot into /system/bin but didnt sames to work
desire /system is /dev/block/mtdblock3, this is the problem?
Click to expand...
Click to collapse
Absolutely right Kali........the mtdblock3 resolved the issue.....now able to enter recovery mode and also back up rom.....
Brilliant....many thanks......
watzone69 said:
I guess TheBiles and I were posting in the wrong sub-forum?
http://forum.xda-developers.com/showthread.php?t=695978
Click to expand...
Click to collapse
I was just afraid the thread would get moved with these super-strict mods in this board.
-------------
Sent from my HTC EVO 4G using Tapatalk Pro.
Worked great. Now the reboot commands in ROM Manager and Quick Boot work.
tells me reboot file is not there its in the androidsdk\tools folder
Sporkman said:
tells me reboot file is not there its in the androidsdk\tools folder
Click to expand...
Click to collapse
adb push is pretty versatile, you can give it absolute paths. if you downloaded the reboot file to a different directory, example:
adb push c:\downloads\reboot /system/bin/reboot
hope that helps!
OP: where did this reboot binary come from?
im running PC36IMG.zip and reboot recovery and reboot bootloader both work in normal android mode ...
joeykrim said:
adb push is pretty versatile, you can give it absolute paths. if you downloaded the reboot file to a different directory, example:
adb push c:\downloads\reboot /system/bin/reboot
hope that helps!
OP: where did this reboot binary come from?
im running PC36IMG.zip and reboot recovery and reboot bootloader both work in normal android mode ...
Click to expand...
Click to collapse
i dropped the file in C:\androidsdk\tools WHERE it needs to be
trying to figure this for my desire i understand block needs to be 3 and the rest the same but
keep getting device or resource busy when trying the mount command?
fixed it..you need to be in recovery before doing the above-otherwise you get a resource busy message
dont forget to change to block3 not 4 if using desire- rom manger now works as it should !! thanks
joeykrim said:
...OP: where did this reboot binary come from?
Click to expand...
Click to collapse
I'm not the OP but I originally got mine from the Hero sub-forum:
http://forum.xda-developers.com/showpost.php?p=5356050&postcount=623

How to root the Droid 2

All credit for the binary goes to Sebastian Krahmer at http://c-skills.blogspot.com/. Please see fit to donate via Paypal to [email protected]
If you want a simpler 'one-click' process, go to this thread: Easier 1-2-3 Droid 2 Root for Windows / Linux / Mac
***NOTE: Proceed at your own risk. I and the providers of this code are not responsible for anything you do to your phone!***
Setup:
- Install adb (here) and Motorola drivers for windows(32-bit or 64-bit)
- Download attached archive
- Extract to a directory, I used c:\Droid2Root
- Make sure you have USB degugging enabled
- Change connection to PC Mode
Process:
- Open command prompt
- cd c:/wherever-your-sdk-tools-folder-is
- adb devices (to verify the connection)
- cd c:/Droid2Root
- adb push Superuser.apk /sdcard/Superuser.apk
- adb push su /sdcard/su
- adb push busybox /sdcard/busybox
- adb push rageagainstthecage-arm5.bin /data/local/tmp/rageagainstthecage-arm5.bin
- adb shell
- cd data/local/tmp
- chmod 0755 rageagainstthecage-arm5.bin
- ./rageagainstthecage-arm5.bin
- let the process run until it 'kicks' you out (may take a minute or two) to c:/Droid2Root
- cd c:/wherever-your-sdk-tools-folder-is
- adb kill-server
- adb devices (to verify the connection)
- adb shell (you should now have a # prompt, if not return to ./rage step above)
- mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
- cp /sdcard/Superuser.apk /system/app/Superuser.apk
- cp /sdcard/su /system/bin/su
- cp /sdcard/busybox /system/bin/busybox
- chmod 4755 /system/bin/su
- chmod 4755 /system/bin/busybox
- mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
- exit
- exit
I'm sure there are certain steps that could be streamlined or eliminated, so please feel free to make a suggestion and I'll edit the post.
Additional thanks to @rainabba and AllDroid.org for their excellent Droid X rooting tutorial, which assisted me greatly in this process.
waiting for a recovery, glad to see its rooted
Android n00b here, I can remove the Verizon crapware with this right? And tether?
thelolotov said:
Android n00b here, I can remove the Verizon crapware with this right? And tether?
Click to expand...
Click to collapse
yes and yes
thelolotov said:
Android n00b here, I can remove the Verizon crapware with this right? And tether?
Click to expand...
Click to collapse
I wouldn't remove anything yet since we don't have a sbf file to recover from partial bricks. However, tethering and any other apps that require root can be used now.
I'm new to doing this all the adb way.
When you say extract to a directory what do you mean to extract. After it downloads the achive files its done.....
i understand the rest of the commands but im lost there
Hmm, alright, that's still worth it, will I lose my data/have to hard reset to root?
Right click the downloaded archive and "extract files". You need to do this so adb can push them to the phone.
thelolotov said:
Hmm, alright, that's still worth it, will I lose my data/have to hard reset to root?
Click to expand...
Click to collapse
Nope, it just gives you access. Nothing deleted.
I'm retarded i didnt realize it was attached to the post, i thought it was what adb downloaded when i first opened it cause it called them archives.
cannot access
I got as far as pushing super user su and busy box onto my phone but it says that system in read only.. how do i fix this?
Anybody actually try this?
Hello,
I am following your directions and when I get to the "adb push Superuser.apk" step I receive the following error:
"failed to copy 'Superuser.apk' to '/system/app/Superuser.apk': Read-only file system"
I get this same error for the other adb push steps that follow.
Edit: To verify, I get a # shell.
Edit 2: I tried pushing the Superuser.apk to /data/local/tmp then cp to /system/app/, this also popped up a read-only file system error.
I'm currently trying it.
I have a 64 bit driver on my computer that i used to use for my D1 but it doesn't recognize my D2 when doing adb devices and i cant install the 32 bit driver
GSletta said:
I got as far as pushing super user su and busy box onto my phone but it says that system in read only.. how do i fix this?
Click to expand...
Click to collapse
Did you verify you have the # prompt three steps before that?
Yeah i get the # but it wont let me push superuser su and busybox
GSletta said:
Yeah i get the # but it wont let me push superuser su and busybox
Click to expand...
Click to collapse
Weird.. I didn't need to mount the system manually, but let me if there's a step I left out.
and some more screens (feel free to use in first post):
http://i.imgur.com/nPllt.jpg
http://i.imgur.com/COTEA.jpg
http://i.imgur.com/open3.jpg
djh816 said:
and some more screens (feel free to use in first post):
http://i.imgur.com/nPllt.jpg
http://i.imgur.com/COTEA.jpg
http://i.imgur.com/open3.jpg
Click to expand...
Click to collapse
Did you add any steps to mount the system? I don't believe I did, but it seems others are finding it to be read-only.
jerseyh22accord said:
I'm currently trying it.
I have a 64 bit driver on my computer that i used to use for my D1 but it doesn't recognize my D2 when doing adb devices and i cant install the 32 bit driver
Click to expand...
Click to collapse
Don't know if it will help you, but if it's anything like the DInc, you could just use the SDK's drivers and add a few device identifier lines to the INF file before installing them.

[MOD][HOW TO][Update: 05-Aug-2011] 2nd-init port for Milestone2

Credit for koush for Droid2 Bootstrap
Credit for edgardcastro for sharing lots of information about 2nd-boot on Milestone1
Credit for Skrilax_CZ for 2nd-init and sh hijack
If you just want to install 2nd-init on your phone you can skip the whole guide and flash update-2nd-init.zip into your phone. As usual I will not hold responsibility to any damages it may cause.
WARNING: Use this ONLY if you know exactly what you are doing. This guide will make major changes in the /system partition and may turn the phone inoperative. I won’t hold responsibility if you brick your phone or to any damages it may cause.
Pre-requisites: A computer with Android SDK and ADB drivers installed and working. It’s recommended to have RSD Lite 4.9 and the appropriate SBF image just in case anything goes wrong.
This guide was made using a Brazilian Motorola Milestone2 based on Brazil Retail SBF and a computer running Windows Vista 32-bits. I started it from the scratch by flashing my phone with RSD Lite 4.9 and performing a full data/cache wipe, just to make sure any changes were discarded.
Note: Commands that should be entered in command prompt will be listed as: “C:\> <command>”. Commands issued to ADB Shell will be listed as: “# <command>”.
1. Enable USB Debugging on your phone;
2. Get permanent root. I used the app z4root which can be found here on XDA;
3. Install Droid2 Bootstrap. It may be downloaded from Market to support the developer. More info here http://www.koushikdutta.com/2010/08/droid-x-recovery.html;
4. Open Droid2 Bootstrap and click “Bootstrap Recovery”;
5. Use bootstrap to reboot into Clockwork Recovery and backup your phone;
6. Reboot;
7. C:\> adb remount
8. # stop
9. # mkdir /system/etc/rootfs
10. # cp /*.rc /system/etc/rootfs
11. # mkdir /system/etc/init.d
12. # cp /system/bin/sh /system/bin/_sh
13. # cp /init_prep_keypad.sh /system/bin
14. C:\> adb push sh_hijack.sh /system/bin/
15. C:\> adb push 2nd-init /system/bin/
16. C:\> adb push sysinit /system/bin/
WARNING: at this point you should keep a terminal window (adb shell) opened before replacing the 'sh' binary. This is so because you wont be able to open a new abd shell window to run the chmod command.
17. C:\> adb push sh /system/bin/
18. # chmod 755 /system/bin/sh
19. # chmod 755 /system/bin/sh_hijack.sh
20. # chmod 755 /system/bin/2nd-init
21. # chmod 755 /system/bin/sysinit
22. # ln -s /system/bin/busybox /system/xbin/mount
23. # ln -s /system/bin/busybox /system/xbin/rmdir
24. # ln -s /system/bin/busybox /system/xbin/cp
25. # ln -s /system/bin/busybox /system/xbin/umount
26. # ln -s /system/bin/busybox /system/xbin/run-parts
27. # reboot
28. At this point you should be getting into Clockwork Recovery every time, no matter how many times you have rebooted or if you’ve taken the battery of or not. THIS IS NORMAL. It means that the 2nd-boot + sh hijack is working as it should. The boots into clock recovery are caused by a conflict between sh hijack and logwrapper hijack (used by Droid2 Bootstrap). Continue the guide to fix this issue.
29. In clock recovery menu go to: mounts and storage>mount /system;
30. Open ADB Shell again (it will be available in clockwork recovery as well);
31. # cp /system/bin/logwrapper.bin /system/bin/mylogwrapper
32. C:\> adb pull /system/etc/rootfs/
33. Open init.rc and init.mapphone_umts.rc into a text editor that preserves unix end-line format (e.g.: notepad++). Find all entries of “/system/bin/logwrapper” replacing for “/system/bin/mylogwrapper”.
34. In init.mapphone_umts.rc find entry for “exec /init_prep_keypad.sh” replacing for “exec /system/bin/init_prep_keypad.sh”. Add the following text to the end of this file to be able to run all scripts in /system/etc/init.d at boot time:
Code:
service bootscripts /system/bin/sysinit
class post-zygote_services
disabled
oneshot
35. Save and close.
36. C:\> adb push init.rc /system/etc/rootfs/
37. C:\> adb push init.mapphone_umts.rc /system/etc/rootfs/
38. # chmod 755 /system/etc/rootfs/init.rc
39. # chmod 755 /system/etc/rootfs/init.mapphone_umts.rc
40. Choose “Reboot system now” in clock recovery menu;
You’re all set! Now it is just a matter of changing the rc files in /system/etc/rootfs to customize your system boot.
If you want to log the system boot you may also copy the provided log-init.sh script into /system/etc/rootfs and uncomment the line “exec /log_init.sh” from my init.rc file. Doing so will create the /data/logcat.log file that may get huge in sometime.
2nd-init files and my modified *.rc files attached.
Have fun!
UPDATED to version 2.0.0 (froyo) this version exploits /system/bin/mount_ext3.sh instead of sh binary. It's a new method I developed in order of starting 2nd-init earlier but also keeping compatibility with Droid2bootstrapper (recovery takes place first). This might help me booting Leaked GB from 2nd-init, which wasn't possible on the previous version. Take note it's not ready yet to apply on GB.
I just missed the exec /system/bin/init_prep_keypad thanks!
What is this for?
Sent from my A953 using XDA App
inheme said:
What is this for?
Sent from my A953 using XDA App
Click to expand...
Click to collapse
A method to customize initialization scripts of android system. It's a major hack used be some Milestone1 custom ROM's. I've succeeded into porting this to MS2, and I think some modders here of XDA may be interested into adding this to custom ROM's. It may be added to the stock ROM (as I did) but it is not something that everyone is willing to try.
Word of advise: If you don't know what it is you don't need it
Ok thanks for the explanation
So it means that custom roms will be easier to create?
Sent from my A953 using XDA App
That's some major news for our little community.
Tell me if I'm wrong, but since init starts after the kernel is loaded, it's not useful at all for loading a custom kernel, true?
But having a custom init script is a step to CyanogenMod 6 port on Milestone 2, still true?
Anyways, great job, and great howto.
momus87 said:
That's some major news for our little community.
Tell me if I'm wrong, but since init starts after the kernel is loaded, it's not useful at all for loading a custom kernel, true?
Click to expand...
Click to collapse
To load a custom kernel we'll need that kexec hack that team freemymoto is working on.
But having a custom init script is a step to CyanogenMod 6 port on Milestone 2, still true?
Click to expand...
Click to collapse
Well, it's possible, but I believe the big issue here is the impossibility of running custom kernels. Even so, a skilled Modder may be able to overcome that and port CM6 to MS2 using Motorola's stock kernel. It has been done for the MS1.
Anyways, great job, and great howto.
Click to expand...
Click to collapse
You're welcome.
Thanks, r2beta0... this is going to help us out a lot!
r2beta0 said:
Well, it's possible, but I believe the big issue here is the impossibility of running custom kernels. Even so, a skilled Modder may be able to overcome that and port CM6 to MS2 using Motorola's stock kernel. It has been done for the MS1.
You're welcome.
Click to expand...
Click to collapse
Guess that would be me
nah just kidding. I've just happened to have some luck porting Froyo and Gingerbread to the bootloader-locked x10 mini pro. I've just ordered my milestone 2 and I will work on CM6. AWESOME JOB on the 2nd init man! Really, thanks!!
edit: just can't stop thanking you! You saved me a lot of work and porting CM will be easy as sh*t for me now! THANKS
Mikevhl said:
Guess that would be me
nah just kidding. I've just happened to have some luck porting Froyo and Gingerbread to the bootloader-locked x10 mini pro. I've just ordered my milestone 2 and I will work on CM6. AWESOME JOB on the 2nd init man! Really, thanks!!
edit: just can't stop thanking you! You saved me a lot of work and porting CM will be easy as sh*t for me now! THANKS
Click to expand...
Click to collapse
You're welcome! You can count on me to provide as much help as I can to free our MS2's from Motorola's hand. I would be very grateful if you could share your knowledge of porting CM to locked devices. I was trying to port MIUI and Shadow mod BR to MS2 but I got stuck when dealing with proprietary files.
Sent from my A953 using XDA App
@r2beta0
Could this port work on Motorola defy?
Sent from my MOTO Defy
demolition23 said:
@r2beta0
Could this port work on Motorola defy?
Sent from my MOTO Defy
Click to expand...
Click to collapse
It's very likely, since the 2 devices are very similar. Most of the files I attached are from Milestone1 and works perfectly on MS2. Though I recommend you to NOT replace your *.rc files with the attached ones since they could be not compatible. It would be better if you edit your own files. Also try it ONLY if you have a working version of ClockworkMod Recovery (or other custom recovery). You may adapt this guide for your device and post it here on XDA, just remember to mention my name on credits
Already posted and hoping someone to port this..
http://forum.xda-developers.com/showthread.php?t=1003449
demolition23 said:
Already posted and hoping someone to port this..
http://forum.xda-developers.com/showthread.php?t=1003449
Click to expand...
Click to collapse
BTW, why do you want to use 2nd-init? You know, this guide is more inclined for devs/mods who want (need) to include this feature on their ROM's. With this you can change the way things are loaded on linux system before android starts up. But to take advantage of that you should know a lot about how linux works and so on. Regular users should look for a ROM based on the features he needs. Most ROM's already have 2nd-init implemented, but it's not something users are aware of.
Possible issue I've come across:
When replacing sh, i can no longer re-open the shell for obvious reasons... potentially I need to already have a second terminal open with shell running in it already?
SBFing and trying again :3
smacky_wolf said:
Possible issue I've come across:
When replacing sh, i can no longer re-open the shell for obvious reasons... potentially I need to already have a second terminal open with shell running in it already?
SBFing and trying again :3
Click to expand...
Click to collapse
I had no such issue here. When executing the steps of this guide I kept two windows opened all the time. One command prompt to run adb push/pull and another window running adb shell.
Thanks to point that out! I will post a warning in the main post. You should have a adb shell window already running to be able to run chmod just after replacing sh.
But don't worry, you don't need to SBF. Just reboot into clockwork recovery, mount /system via menu, and open your adb shell. It uses a different shell so you can fix the problem in /system/bin.
Looks like Motorola Defy now has CyanogenMod 7 using 2nd-init script! Wish same were the case for MS2.
syl0n said:
Looks like Motorola Defy now has CyanogenMod 7 using 2nd-init script! Wish same were the case for MS2.
Click to expand...
Click to collapse
I'm on it, but development is slow
No necessary to use 2nd init.
Just install "droid 2 bootstrap" and Rom Manager will work perfectly.
keylight65 said:
No necessary to use 2nd init.
Just install "droid 2 bootstrap" and Rom Manager will work perfectly.
Click to expand...
Click to collapse
What are you talking about? This guide isn't related to ROM Manager.

[HTC EXPLORER] Flash back to Yannou90's recovery after flashing CWM

The official CWM has problems in mounting SD-EXT, thus, Jaggyrom and other custom roms (except stock) won't work properly and your phone will reboot everytime you install apps. You'll also get a lot of app crashes because Dalvik cache can't move properly. Now here's how to flash back to Yannou90's recovery using only Android Terminal Emulator.
__________
THINGS YOU NEED:
1. Your HTC Explorer must be rooted
2. Flash_image and Recovery (You can download it here on this thread)
3. Root File Explorers (Like Root Explorer and ES File Manager, at play store)
STEPS:
1. Download the zip file, read the readme inside the zip, and extract flash_image and recovery.img to the root of your SD Card
2. Download Root Explorer from play store, you can use ES file explorer if you want a root file explorer for free
3. Using your root explorer, copy flash_image to /system/bin/ but before you do that, make sure you mount /system/bin/ as R/W.
4. After copying flash_image, set flash_image permissions to rwxrwxrwx
5.Download Android Terminal Emulator on Play store
6. Run Terminal Emulator and open up preferences.
7. at the initial command, put this:
export PATH=/system/bin:$path
7. Go back to Terminal and Type su
8. Superuser should prompt. Accept it.
9. If you saw # it means you are running it as root, which is that we really needed. If you saw $ , it's not running as root and do type su again.
10. now type this:
flash_image recovery /sdcard/recovery.img
11. Wait for it and if it's done, boot your phone to recovery.
12. CONGRATULATIONS AND YOU ARE BACK TO YANNOU90's RECOVERY
DOWNLOAD LINK:
Flash_Image and Recovery.zip
mrchezco1995 said:
......
2. Flash_image and Recovery (You can download it here on this thread)
......
Click to expand...
Click to collapse
Sorry, on trying to download the following message shows up.
"The page you have requested does not exist. Please check your spelling and try again."
Can you please re-upload the Flash_image and Recovery.zip ?
Download link 404..
Sent from my HTC desire_HD using xda app-developers app
beegeevee said:
Sorry, on trying to download the following message shows up.
"The page you have requested does not exist. Please check your spelling and try again."
Can you please re-upload the Flash_image and Recovery.zip ?
Click to expand...
Click to collapse
Deivi_Z said:
Download link 404..
Sent from my HTC desire_HD using xda app-developers app
Click to expand...
Click to collapse
Download link fixed. Uploaded it to mediafire instead. Thanks for reminding guys.
permission denied
followed all the steps....still got the "Permission Denied" message
followed all the steps....still got the "Permission Denied" message
Click to expand...
Click to collapse
Check superuser and make sure Terminal is allowed. And type su in all lowercase, not uppercase like SU. That wont work
Sent from my HTC Explorer using XDA
mrchezco1995 said:
The official CWM has problems in mounting SD-EXT, thus, Jaggyrom and other custom roms (except stock) won't work properly and your phone will reboot everytime you install apps. You'll also get a lot of app crashes because Dalvik cache can't move properly. Now here's how to flash back to Yannou90's recovery using only Android Terminal Emulator.
__________
THINGS YOU NEED:
1. Your HTC Explorer must be rooted
2. Flash_image and Recovery (You can download it here on this thread)
3. Root File Explorers (Like Root Explorer and ES File Manager, at play store)
STEPS:
1. Download the zip file, read the readme inside the zip, and extract flash_image and recovery.img to the root of your SD Card
2. Download Root Explorer from play store, you can use ES file explorer if you want a root file explorer for free
3. Using your root explorer, copy flash_image to /system/bin/ but before you do that, make sure you mount /system/bin/ as R/W.
4. After copying flash_image, download Android Terminal Emulator on Play store
5. Run Terminal Emulator and open up preferences.
6. at the initial command, put this:
export PATH=/system/bin:$path
7. Go back to Terminal and Type su
8. Superuser should prompt. Accept it.
9. If you saw # it means you are running it as root, which is that we really needed. If you saw $ , it's not running as root and do type su again.
10. now type this:
flash_image recovery /sdcard/recovery.img
...
After this step what I get is as follows
usage: flash_image partition file.img
sh-3.2#
Click to expand...
Click to collapse
Superuser worked fine on terminal. But also got permission denied on last command in terminal.. should I push it via ADB?
You can simply flash the recovery using fastboot. Download this ZIP: http://forum.xda-developers.com/attachment.php?attachmentid=913094&d=1329843100 (courtesy of jaggyjags), start your phone in fastboot mode (ROM Manager might be able to reboot your phone into this mode, otherwise just turn it off, pull out the battery and replace it, then turn on while holding volume down and choose "FASTBOOT" from the menu that appears), then run "recovery.bat" from inside the ZIP. It's simpler than having to mess with adding files to /system/bin.
FYI, you need to set permissions on flash_image to allow it to be executed. I think typing this in the terminal emulator should work:
Code:
chmod 777 /system/bin/flash_image
(otherwise use your file manager to change the permissions to give read, write and execute permissions to all users i.e. tick all the boxes). This is the missing step from your guide to make it work from terminal emulator.
Also, you don't need multiple apps, you can just use terminal emulator for it all by using the "cp" command e.g. if flash_image is on the root of your SD card, use the following commands:
Code:
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cp /sdcard/flash_image /system/bin/flash_image
then use the chmod command above and then the original command from the first post.
[BTW, if you're wondering, the first command identifies as root, the second remounts /system as RW, the last copies the file]
So the full process for terminal emulator ONLY, would be this:
Code:
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cp /sdcard/flash_image /system/bin/flash_image
chmod 777 /system/bin/flash_image
flash_image recovery /sdcard/recovery.img
{rm /sdcard/flash_image
rm /sdcard/recovery.img}
The commands in the {} are optional and just delete the two files from your SD card. The 2nd and 3rd commands can be excluded if you copy flash_image with a root capable file manager, as can the 4th if you change permissions with the file manager.
(This post ended up being much longer than I originally intended. I was just going to post the first paragraph, but figured I may as well post how to make it work the way the OP described as well - or at least what I think should make it work, I haven't actually tested the full process [I have tested the exact same process with other binaries {viewmem, tcpdump} and it works perfectly. Provided the usage of flash_image as in the OP is correct and works, this method will work])
EDIT: You also shouldn't have to change the initial command, /system/bin is already specified in $PATH. If it wasn't, pretty much nothing on the phone will work.
SifJar said:
You can simply flash the recovery using fastboot. Download this ZIP: http://forum.xda-developers.com/attachment.php?attachmentid=913094&d=1329843100 (courtesy of jaggyjags), start your phone in fastboot mode (ROM Manager might be able to reboot your phone into this mode, otherwise just turn it off, pull out the battery and replace it, then turn on while holding volume down and choose "FASTBOOT" from the menu that appears), then run "recovery.bat" from inside the ZIP. It's simpler than having to mess with adding files to /system/bin.
FYI, you need to set permissions on flash_image to allow it to be executed. I think typing this in the terminal emulator should work:
Code:
chmod 777 /system/bin/flash_image
(otherwise use your file manager to change the permissions to give read, write and execute permissions to all users i.e. tick all the boxes). This is the missing step from your guide to make it work from terminal emulator.
Also, you don't need multiple apps, you can just use terminal emulator for it all by using the "cp" command e.g. if flash_image is on the root of your SD card, use the following commands:
Code:
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cp /sdcard/flash_image /system/bin/flash_image
then use the chmod command above and then the original command from the first post.
So the full process for terminal emulator ONLY, would be this:
Code:
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cp /sdcard/flash_image /system/bin/flash_image
chmod 777 /system/bin/flash_image
flash_image recovery /sdcard/recovery.img
{rm /sdcard/flash_image
rm /sdcard/recovery.img}
The commands in the {} are optional and just delete the two files from your SD card. The 2nd and 3rd commands can be excluded if you copy flash_image with a root capable file manager, as can the 4th if you change permissions with the file manager.
(This post ended up being much longer than I originally intended. I was just going to post the first paragraph, but figured I may as well post how to make it work the way the OP described as well - or at least what I think should make it work, I haven't actually tested the full process [I have tested the exact same process with other binaries {viewmem, tcpdump} and it works perfectly. Provided the usage of flash_image as in the OP is correct and works, this method will work])
EDIT: You also shouldn't have to change the initial command, /system/bin is already specified in $PATH. If it wasn't, pretty much nothing on the phone will work.
Click to expand...
Click to collapse
Thank You. U completed this thread. Decided to use fastboot (faster) instead of terminal emulator way.
SifJar said:
You can simply flash the recovery using fastboot. Download this ZIP: http://forum.xda-developers.com/attachment.php?attachmentid=913094&d=1329843100 (courtesy of jaggyjags), start your phone in fastboot mode (ROM Manager might be able to reboot your phone into this mode, otherwise just turn it off, pull out the battery and replace it, then turn on while holding volume down and choose "FASTBOOT" from the menu that appears), then run "recovery.bat" from inside the ZIP. It's simpler than having to mess with adding files to /system/bin.
FYI, you need to set permissions on flash_image to allow it to be executed. I think typing this in the terminal emulator should work:
Code:
chmod 777 /system/bin/flash_image
(otherwise use your file manager to change the permissions to give read, write and execute permissions to all users i.e. tick all the boxes). This is the missing step from your guide to make it work from terminal emulator.
Also, you don't need multiple apps, you can just use terminal emulator for it all by using the "cp" command e.g. if flash_image is on the root of your SD card, use the following commands:
Code:
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cp /sdcard/flash_image /system/bin/flash_image
then use the chmod command above and then the original command from the first post.
So the full process for terminal emulator ONLY, would be this:
Code:
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cp /sdcard/flash_image /system/bin/flash_image
chmod 777 /system/bin/flash_image
flash_image recovery /sdcard/recovery.img
{rm /sdcard/flash_image
rm /sdcard/recovery.img}
The commands in the {} are optional and just delete the two files from your SD card. The 2nd and 3rd commands can be excluded if you copy flash_image with a root capable file manager, as can the 4th if you change permissions with the file manager.
(This post ended up being much longer than I originally intended. I was just going to post the first paragraph, but figured I may as well post how to make it work the way the OP described as well - or at least what I think should make it work, I haven't actually tested the full process [I have tested the exact same process with other binaries {viewmem, tcpdump} and it works perfectly. Provided the usage of flash_image as in the OP is correct and works, this method will work])
EDIT: You also shouldn't have to change the initial command, /system/bin is already specified in $PATH. If it wasn't, pretty much nothing on the phone will work.
Click to expand...
Click to collapse
Mine worked for me on terminal without any problems, but thanks for filling up what I just missrf for others. Hehe
Sent from my HTC Explorer using XDA
mrchezco1995 said:
10. now type this:
flash_image recovery /sdcard/recovery.img
11. Wait for it and if it's done, boot your phone to recovery.
]
Click to expand...
Click to collapse
I did upto this point when I write and enter this string nothing happens it gives me another sh-3.2# to write in. How would I know that the Yannou90 recovery has completed??? I'm stuck
SherazHashmi said:
I did upto this point when I write and enter this string nothing happens it gives me another sh-3.2# to write in. How would I know that the Yannou90 recovery has completed??? I'm stuck
Click to expand...
Click to collapse
Why don't you try step 3 from jaggyjag's rooting tutorial....
Sent from my HTC Explorer A310e using xda app-developers app
My HTC Explorer's recovery was stuck green logo, but what thing that helped to get back my clockword recovery
is just downloading you recovery file and renamed it recovery.img
And...
I used Android SDK tool, and used the below command in command prompt and then I reboot the mobile, and I got back:
fastboot flash recovery recovery.img
Thanks for this valuable thread
SU not found !
after changing the INITIAL COMMAND
i restarted d terminal and now the initial command just gets printed and after that i typed 'su'...d output was 'su not found'..
wats d problem ???
I even tried d fastboot method...dats epic, whenever i try to install any .zip from it dis is wat i see
"Installing update...
Installation aborted."
Plz suggest nythng else other than REFLASHING it...its just that sumthng is restricting it to install :laugh:
hi! I have a question regarding recoveries... i have a recovery by yannou90 installed on my htc explorer, will this recovery work for other roms such as CM9 and CM10? It worked well with JaggyJags rom (3.2.1).. i am wondering if I need to switch to other recovery prior to installing CM roms.. thanks!
iamwin said:
hi! I have a question regarding recoveries... i have a recovery by yannou90 installed on my htc explorer, will this recovery work for other roms such as CM9 and CM10? It worked well with JaggyJags rom (3.2.1).. i am wondering if I need to switch to other recovery prior to installing CM roms.. thanks!
Click to expand...
Click to collapse
Yeah, ll work for all rom installation...
Hit :thumbup: if i helped...
R. SAINT said:
Yeah, ll work for all rom installation...
Hit :thumbup: if i helped...
Click to expand...
Click to collapse
got it man!
the steos for flashing the recovery worked for me but after 2 weeks now it responds to nothing when i try to wipe dalwik cache or perform any other funtion it displays nothing only the green title saying yonnou90 recovery.
Mayank T said:
the steos for flashing the recovery worked for me but after 2 weeks now it responds to nothing when i try to wipe dalwik cache or perform any other funtion it displays nothing only the green title saying yonnou90 recovery.
Click to expand...
Click to collapse
My initial response to such a situation would be start the phone in fastboot mode and then flash the recovery from there. Download the ZIP here: http://forum.xda-developers.com/attachment.php?attachmentid=913094&d=1329843100, extract it and double click "recovery.bat" once the phone is in fastboot mode (start phone holding volume down, select fastboot from menu instead of recovery).
This assumes you're on Windows. If you're on Mac/Linux, find the fastboot binary for your platform and run the following command in a terminal:
Code:
./fastboot flash recovery recovery.img
where recovery.img is taken from the ZIP I linked above.
Alternatively, you could install a more up-to-date recovery such as TWRP or a newer build of CWM (not sure of links for the latest versions of either, but have a look around the forum and you should find them. Also some older builds of CWM had bugs [hence this thread exists], but I think the newer builds work fine on the Explorer; not 100% sure as I still use yannou90's build)

[HOW TO] re-odex your ROM by yourself...

Big Thanks: original [email protected] [http://classic.cx/android/dexo-universal-odex-tool/]
ADVANTAGES & DISADVANTANGES OF RE-ODEX
Advantages:
-All needed things are in one apk, so modding/theming is (better) possible
-Needs less space on /system
Disavantages:
-Needs more space on /data
-Is not so stable than a odexed rom
-Slower on first boot(because a odexed rom has already execute ready .odex files, a deodexed rom needs to generate dalvik cache)
===============================================
First step, please make a nandroid if you are unsure of what you are doing.
Second step, install busybox if it is not already installed. Either from the app or
from the binary I included (ie, adb shell busybox –install /system/xbin/)
Third step, push the four files zip, zipalign, dexo and dexopt-wrapper to /system/bin/
Fourth step, give the three files executable permissions (ie, chmod 755 zip zipalign dexo dexopt-wrapper)
Fifth step, run it!
Once the script is done, your phone will reboot. Your device will appear to be “frozen” until it reboots. That is ok.
Then all you will have to do is run:
adb pull /system/framework # JUST INCASE...YOU CAN SKIP THIS STEP.
adb pull /system/app # JUST INCASE...YOU CAN SKIP THIS STEP.
You are now done! The tool will automatically remove the classes.dex from your files as well as zipalign them. So you are optimized and ready to go.
Sample Terminal/Command prompt session. Basically you can copy and paste, ignoring the text after the # of course:
# Commands on Host computer
cd Downloads/universal-odex # change to the location you unzipped the odex tool.
adb remount
adb push dexo /system/bin/
adb push dexopt-wrapper /system/bin/
adb push zip /system/xbin/
adb push zipalign /system/xbin
adb push busybox /system/xbin # you may or may not already have busybox installed, but this will ensure that you have the correct applets installed
# Commands in ADB SHELL
adb shell # you just entered your Device’s shell
chmod 755 /system/bin/dexo /system/bin/dexopt-wrapper /system/xbin/zip /system/xbin/zipalign /system/xbin/busybox
busybox –install /system/xbin # maybe fail in this step..but it seems okay,go to the next step anyway.
dexo # this will be the last command before your exit adb shell and your device reboots
# The “dexo” command executes SUPER fast. It should be done within 30s-1m, depending on ROM and device
# Commands on Host computer
cd Desktop
mkdir framework
mkdir app
adb pull /system/framework framework
adb pull /system/app app
# Rejoice.
If it doesn’t work for you, then you did something wrong. This is version 3.1 of the script and I’d like to think that I’ve fool-proofed it pretty well.
If you have any questions, comments, or suggestions, please post here.
Exclusive to theMikMik.
Tommy
enjoy the possibilities…
FILES_NEEDED:
View attachment re_odex_needed.tar.gz
Bro, you mean de-odex instead of re-odex??
Or even re-de-odex lol
Sent from my Nexus 7 using Tapatalk 2
kingCV said:
Bro, you mean de-odex instead of re-odex??
Click to expand...
Click to collapse
yesyes..

Categories

Resources