Modded recovery and boot images - G1 Android Development

Here is a zip file containing a modified recovery and boot image, as well as a few other things:
http://rapidshare.com/files/166164961/AndroidMod.zip
http://jf.nyquil.org/AndroidMod.zip
http://android-dls.com/forum/index.php?f=24&t=191&rb_v=viewtopic (see post for actual link to file)
NOTE: if you need a complete RC30 to v1.3 guide, see this page.
The recovery image (recovery_testkeys.img) uses the test keys that are distributed with the android platform source. This means that an OTA update or an update.zip update must be signed with the test key in order for it to install. In other words, it will no longer install OTA updates from t-mobile. You don't want them stealing back root access from you now do you? .
I've also included the test keys and the SignApk.jar tool, so you can sign your own update scripts (for use only with the modified recovery image). You can resign any image, even if it has been signed before. So for example, if you needed to install an "official" t-mobile update, you must re-sign it with the test keys first.
Another bonus in this recovery image is that ADB is enabled while in recovery mode. You can't adb into a shell (no sh binary), but you can at least use it to push and pull files from the device. For example, you could push an update.zip file to the sdcard.
The boot image (boot_nosecure.img) has been modified so that adb has root access by default. So when you do an adb shell, you automatically get a root shell. You can remount the system image using adb, and then push files directly to the system partition.
Finally, the "update - Restore Original RC29 Boot Image.zip" file is an update.zip file signed with the test keys, which will restore your boot partition back to the stock RC29 image. Useful if you accidentally hose your boot partition..
To install the recovery image onto your phone:
Code:
D:\Android\AndroidMod>adb push recovery_testkeys.img /data/local/recovery.img
912 KB/s (0 bytes in 1767424.001s)
D:\Android\AndroidMod>adb shell
$ su
su
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
# cd /system
cd /system
# cat /data/local/recovery.img > recovery.img
cat /data/local/recovery.img > recovery.img
# flash_image recovery recovery.img
flash_image recovery recovery.img
#
Note: You must place the recovery image at /system/recovery.img. the init.rc boot script automatically flashes the recovery partition with that file every time you boot up the phone.
At this point, it's probably a good idea to reboot the phone into recovery mode, and make sure it loads OK. If the recovery image is corrupt somehow, it will throw you back into SPL mode (the multi-color bootloader screen). If that happens, just boot the phone normally, and reflash recovery image.
Once it boots into recovery mode, press alt+L, and the next to top line of text should say something like "using test keys.". If it doesn't, then you're still using the original recovery image.
Note: If you are planning on installing the modified RC30 update, you can ignore the following - there is no need to install the boot image. The update already has a newer, modified boot image.
Now that you know you have the modified recovery image loaded, you can install the boot image:
Code:
D:\Android\AndroidMod>adb push boot_nosecure.img /data/local/boot.img
939 KB/s (0 bytes in 1533952.001s)
D:\Android\AndroidMod>adb shell
$ su
su
# flash_image boot /data/local/boot.img
flash_image boot /data/local/boot.img
# rm /data/local/boot.img
rm /data/local/boot.img
#
Now reboot the phone and let it boot normally. If the boot image was corrupted, it will boot into recovery mode instead. You can use the included update zip file to reload the original RC29 boot image.
Otherwise, if it boots up normally, open a command prompt however you like (telnet, adb, terminal emulator app, etc.) and type "getprop ro.secure". If it says 0, then you're running the modified boot image. Otherwise, if it says 1, you're still running the original boot image.

Attachement..
Hmm. It doesn't look like the attachment made it.. Does anyone have some space I could throw the file up at? It's around 5mb.

JesusFreke said:
Hmm. It doesn't look like the attachment made it.. Does anyone have some space I could throw the file up at? It's around 5mb.
Click to expand...
Click to collapse
I should have some space let me know

JesusFreke said:
Hmm. It doesn't look like the attachment made it.. Does anyone have some space I could throw the file up at? It's around 5mb.
Click to expand...
Click to collapse
Sent you an email with u/p if you need space.

test
anyway to test and make sure i did this correctly.. other than my phone booted and is not a paperweight

jriley60 said:
anyway to test and make sure i did this correctly.. other than my phone booted and is not a paperweight
Click to expand...
Click to collapse
To check the boot image, boot the phone normally, and then get a shell with adb. Type "id", and see if you are root
To check the recovery image, boot up the phone into recovery mode. Once you're in recovery mode, Press alt-l to show the text. The next to top line should say something like "using test keys"

JesusFreke said:
To check the boot image, boot the phone normally, and then get a shell with adb. Type "id", and see if you are root
To check the recovery image, boot up the phone into recovery mode. Once you're in recovery mode, Press alt-l to show the text. The next to top line should say something like "using test keys"
Click to expand...
Click to collapse
When will we see the files? Can you just upload to RS and we will mirror?

neoobs said:
When will we see the files? Can you just upload to RS and we will mirror?
Click to expand...
Click to collapse
Look at the original post. I added a link for the zip file..

boot.img is in correct. assuming typing id in telnet returning uid=0(root) gid=0(root) means i'm root then i'm good, thank you so much. looks like i really should install the emulator it might make things a little easier

JesusFreke said:
Look at the original post. I added a link for the zip file..
Click to expand...
Click to collapse
thank you. Sorry

jriley60 said:
boot.img is in correct. assuming typing id in telnet returning uid=0(root) gid=0(root) means i'm root then i'm good, thank you so much. looks like i really should install the emulator it might make things a little easier
Click to expand...
Click to collapse
Well, that does mean you have root, but that doesn't say anything about whether the boot.img was installed correctly. If you're telneting in, then you would have root access regardless of whether you are running a stock boot image or my modified one.
My boot image allows adb to connect to the phone as root. If you don't use adb, there's no reason to install my modified boot image.
Actually, there's an easier way to tell if you're running my boot image. Get to a command prompt (telnet, adb, terminal emulator app, whatever), and type
getprop ro.secure
If it says 0, then you correctly installed my boot image. Otherwise, if it says 1, you're still running the stock image.

Thanks! Was waiting for this.
Now to screw with my phone like crazy

Not that I don't trust you... but...
Ok... I don't trust you implicitly enough to reflash my phone with your stuff
Any chance you can post diffs against the android source tree so I can apply your changes and build it myself?
No offense - I just like to know what's going on...

RyeBrye said:
Ok... I don't trust you implicitly enough to reflash my phone with your stuff
Any chance you can post diffs against the android source tree so I can apply your changes and build it myself?
No offense - I just like to know what's going on...
Click to expand...
Click to collapse
Not at all
The recovery tool is just a stock build (almost) from the android source, using the test keys, which is the default if you don't specify keys of your own. The only change I made was to make it print out "using test keys" when it runs, just to make it easy to tell if it's running. I can give you a diff if you really want.. but it's a simple change though, and doesn't affect the actual functionality.
For the boot image, I replaced the initramfs image in the boot.img included in the official RC29 update, with the initramfs image from a default build of the android source, which has the ro.secure property set to 0.
I first tried the boot.img that was generated by the default android build, but I had issues with getting wifi to work, so I tried merging the initramfs image with the RC29 boot.img, and it seems to work fine.
I suspect you could accomplish the same thing by extracting the initramfs image from the RC29 boot.img, un-gzipping and un-cpioing it, and then modifying the default.prop file to set ro.secure to 0. Then you would have to package it back up and stick it back into the RC29 boot.img.
ro.secure is the property that the adb service looks at to determine if it should use root user, or drop to the shell user. When ro.secure is 0, adb will run as root.
It can be a bit of a pain to get the android source to build though. Make sure you get the dream specific product files (they aren't downloaded by default when you do a "repo sync"). You'll also encounter issues where it can't find libaudio.so or librpc.so. You'll have to copy these from the phone to a couple of output folders in order for the build to proceed.
If you get stuck, feel free to give me a holler and I'll try and help out.
Be warned.. the build takes quite a while.. on the order of an hour or two at least. But then again, I was doing it in a VM.. it may be faster if you do it on a native linux box.

i cant get it to work i know I'm doing something wrong can you(everyone)help me out(i have Vista 64) i get this error
this i what i type​# C:\Android\AndroidMod>adb push recovery_testkeys.img /data/local/recovery.img​
this is the error​C:AndroidAndroidMod: not found​
please and thank you
EDIT: could we do it off the sdcard?
EDIT2: i think i found my own mistake this cant be done in Windows i need to have shell with adb meaning time to whip out VM

JesusFreke said:
For the boot image, I replaced the initramfs image in the boot.img included in the official RC29 update, with the initramfs image from a default build of the android source, which has the ro.secure property set to 0.
I first tried the boot.img that was generated by the default android build, but I had issues with getting wifi to work, so I tried merging the initramfs image with the RC29 boot.img, and it seems to work fine.
Click to expand...
Click to collapse
Can you talk more about this step of the process? How did you do this "merging"? Did you use mkbootimg?
JesusFreke said:
I suspect you could accomplish the same thing by extracting the initramfs image from the RC29 boot.img, un-gzipping and un-cpioing it, and then modifying the default.prop file to set ro.secure to 0. Then you would have to package it back up and stick it back into the RC29 boot.img.
Click to expand...
Click to collapse
And this could be done without going through the whole process of doing an Android build, right? I'm just thinking about how one might build a simple utility to allow editing of the ramdisk.

alansj said:
Can you talk more about this step of the process? How did you do this "merging"? Did you use mkbootimg?
Click to expand...
Click to collapse
I just used the good ol hex-editor. The gzip file starts with a few specific bytes (don't remember them offhand..), so you can search through the image. There are 2 gzip files, the initramfs is the last one. In mine, it starts at offset 0x00154000.
Once you find it, just cut it out and dump the new one in (there is some 00 padding after the gzip file ends.. not sure if you need to keep the padding or not). You also have to update the size of the initramfs, which is at offset 0x00000010.
alansj said:
And this could be done without going through the whole process of doing an Android build, right? I'm just thinking about how one might build a simple utility to allow editing of the ramdisk.
Click to expand...
Click to collapse
Yes.

Anyway to make this using the update.zip sd card method?

JesusFreke, per some requests in #android on freenode I have setup a wiki (not a device wiki like xda's but more like an "information about android/g1 and how to tweak it" wiki) and would like to put this on there. Let me know if you care (unless you would like to add it in your own words), the wiki is http://android-dls.com/wiki and its still very new, but im trying to to get it built up (RyeBrye is doing most of the work).

humble said:
i cant get it to work i know I'm doing something wrong can you(everyone)help me out(i have Vista 64) i get this error
this i what i type​# C:\Android\AndroidMod>adb push recovery_testkeys.img /data/local/recovery.img​
this is the error​C:AndroidAndroidMod: not found​
please and thank you
EDIT: could we do it off the sdcard?
Click to expand...
Click to collapse
First of, you do know that when we refer to "C:\..." we refer to windows via a command prompt (or "cmd") and when you see "# ..." we refer to a shell connection to the Android phone.
Second, you do have the Android SDK right? If not download it HERE. Now extract that to a folder, preferably close to the C: root. (ex. C:\AndroidSDK)
1)Either extract/copy the files from the "AndroidMod.zip" to the Android Tools folder from the SDK (ex. C:\AndroidSDK\Tools) OR copy "adb.exe" and "AdbWinApi.dll" from the Android Tools folder from the SDK (ex. C:\AndroidSDK\Tools)to the folder where you have extracted the "AndroidMod.zip" to.
2)Open up a command prompt. Start -> Run (or Windows key + R) and type "cmd"
3)CD to the directory where the files are.
EXAMPLE:
C:\Users\[your_user_name_here]> cd \
C:> cd androidsdk\tools
C:\AndroidSDK\Tools>
4) Now follow the Instructions.

Related

How to emulate cooked rom?

Hello.
I cooked a rom with some changes and my question is... How can I try it? I know there's a metod to emulate roms, but I want to check if the update.zip is signed correctly, so what I want is to emulate recovery or fastboot, but I can't.
Somebody knows how to do it?
Thanks.
realjumy said:
Hello.
I cooked a rom with some changes and my question is... How can I try it? I know there's a metod to emulate roms, but I want to check if the update.zip is signed correctly, so what I want is to emulate recovery or fastboot, but I can't.
Somebody knows how to do it?
Thanks.
Click to expand...
Click to collapse
should be moved to Q&A
but i have the same questions i went through everything emulator related on the android site and through the command line help functions and i got as for as creating a sysdir image and i got stuck where you do the kernel image .....
I only found this:
http://android.modaco.com/content/g...p-and-running-a-full-rom-with-the-market-etc/
But I can't enter in bootloader or fastboot with [Home Key], [Back Key], o [Menu Key] While it's loading.
what SDK are you using (HUGE DEAL)
if your using the latest SDK have you precompiled your AVD profile (android virtual device) see http://developer.android.com/guide/developing/tools/avd.html#creating
if you have compiled your AVD and pointed your emulator at the correct AVD profile
http://developer.android.com/guide/developing/tools/emulator.html
if your booting an actual update.zip youll have to flash do a NAND dump of the phone and copy your NAND files to your pc and boot those through your emulator to ensure it runs correctly
(i only say this because i dont know if its possible to enter recovery mode straight from the emulator)
you place your system.img and your AVD stuff in the same folder
9. Copy the above file (referring to system.img{which would be the dump of your /system folder in a img format} to the location of the enhanced.avd directory ('C:\Documents and Settings\<user>\.android\enhanced.avd' on Windows XP, and 'C:\Users\<user>\.android\enhanced.avd' on Windows Vista).
10. You're ready! Type 'emulator -avd enhanced' to run! Note: inital boot may take a few minutes!
Click to expand...
Click to collapse
::::EDIT:::::
if you did have success making an AVD or know where i can find some premade profiles for the HTC Magic/Dream lmk
:::EDIT2::::
i just gotta finish downloading my JDK and i can get it to boot
does anyone know how to compile a system.img from just my /system folder or in essence can the /system folder just be booted without having to compile it into system.img format?
Zarboz said:
does anyone know how to compile a system.img from just my /system folder or in essence can the /system folder just be booted without having to compile it into system.img format?
Click to expand...
Click to collapse
I may be dead wrong, but you can extract a .img file to the system folder contents by unyaffs-ing it, so I assume you could do the reverse...maybe.
bcrook said:
I may be dead wrong, but you can extract a .img file to the system folder contents by unyaffs-ing it, so I assume you could do the reverse...maybe.
Click to expand...
Click to collapse
im not super linux familiar... im learning as i go and reading everything i can about it
thanks for the info :thumbsup:
so you mean
su
mkyaffs /system
or
su
mkyaffs /block/devblock/mmc0blk (i think thats system idk for sure right now tho)
just checked the unyaffs google code page... says it only supports unyaffs right now not making system.img's.....
but theres links for a mkyaffs so maybe thatll do it
---checking google site sdk site for info on compiling system.imgs maybe theres a tool included---
NOPE NOTHING!
umm
i have an idea for you man
boot into your environment and then adb shell in and just try it because the whole image that you booted to should be read write
once you boot into your emulator load a sd card file with the mksdcard commands
http://developer.android.com/guide/developing/tools/othertools.html#mksdcard
then your gunna get your adb and
adb push cyanogen1.4recovery.img /sdcard
adb shell
$ su
# flash_image recovery /sdcard/cyanogen1.4recovery.img
#reboot recovery
and see if itll do it that way if it boots into recovery with the custom recovery.img sweet action your good to go grab your ADB window and
adb push (your custom rom).zip /sdcard
adb shell
#reboot recovery
then select choose update.zip to flash and choose your custom rom and in theory it should flash it to your Readwrite system.img........
someone anyone correct me if im wrong cuz im gunna have to try this when i get home
THIS IS ALL IN THEORY I HAVE NOT TESTED NOR DO I KNOW IF THIS WILL WORK JUST AN IDEA FOR YA
Zarboz said:
im not super linux familiar... im learning as i go and reading everything i can about it
thanks for the info :thumbsup:
so you mean
su
mkyaffs /system
or
su
mkyaffs /block/devblock/mmc0blk (i think thats system idk for sure right now tho)
just checked the unyaffs google code page... says it only supports unyaffs right now not making system.img's.....
but theres links for a mkyaffs so maybe thatll do it
---checking google site sdk site for info on compiling system.imgs maybe theres a tool included---
NOPE NOTHING!
umm
i have an idea for you man
boot into your environment and then adb shell in and just try it because the whole image that you booted to should be read write
once you boot into your emulator load a sd card file with the mksdcard commands
http://developer.android.com/guide/developing/tools/othertools.html#mksdcard
then your gunna get your adb and
adb push cyanogen1.4recovery.img /sdcard
adb shell
$ su
# flash_image recovery /sdcard/cyanogen1.4recovery.img
#reboot recovery
and see if itll do it that way if it boots into recovery with the custom recovery.img sweet action your good to go grab your ADB window and
adb push (your custom rom).zip /sdcard
adb shell
#reboot recovery
then select choose update.zip to flash and choose your custom rom and in theory it should flash it to your Readwrite system.img........
someone anyone correct me if im wrong cuz im gunna have to try this when i get home
THIS IS ALL IN THEORY I HAVE NOT TESTED NOR DO I KNOW IF THIS WILL WORK JUST AN IDEA FOR YA
Click to expand...
Click to collapse
I tried before, but emulator freezes when I try to reboot it. I think can install Cyanogenmod and the CMUpdater and use my own update.zip to do the update, but I think it will not work.
realjumy said:
I tried before, but emulator freezes when I try to reboot it. I think can install Cyanogenmod and the CMUpdater and use my own update.zip to do the update, but I think it will not work.
Click to expand...
Click to collapse
it doesnt work you have to nandroid the update.zip
i was up till like 4 am last night trying to compile a tattoo build and i kept getting stuck on flash at my update script where it CHMOD CHOWN system:xbin
toooo tired to care to mess with it anymore...
tried everything to get the emulator to boot my custom rom but no go
tried doing it like
emulator -sysdir c:\c\herosysimage\ -avd hero
and like
emulator -system C:\c\herosysimage\system.img -avd hero
no boot
also tried putting system.img in the avd folder

[HOW-TO] ROM-HACKING: init.rc ext2-auto-mount / ROM Signing / ROM Kitchen

AS MENTIONED IN THE INTRODUCTION TEXT THIS HAS ONLY BEEN TESTED ON AMON RA ROM 1.6.2 BUT SHOULD REALLY WORK ON ANY ROM THAT HAS NO EXT2 AUTO-MOUNT. AND YEAH THIS WHOLE PROCESS HAS BEEN DONE ON A 32a BOARD. FOR THOSE THAT TRY THIS ON OTHER ROMS LET ME KNOW HOW IT GOES.
I've searched and shuffled through the entire forum and made inquiries to ROM authors without much light being shed on this issue. I doubt I am the only one who has been looking for a way of doing this so I decided to do a small HOW-TO. Here I will explain step by step as to how you can implement a script to be part of your ROM that will auto mount an ext2 partition on boot up if such partition is present. I have included all the tools I've used in order to pull this off, and as the title suggests this has only been done on Amon Ra's latest 1.6.2 ROM. In order to follow these instructions you are expected to allready have set up an adb enviroment on your linux box and for the signing process to work you must have sun-java present, the gnu java wont work. And of course a microSD card with an ext2 partition
1. Download install.sh to your home directory
Code:
wget http://www.grindhouse.no/androidtools/install.sh
chmod a+x install.sh
2. Now execute the install.sh script which will create a directory to work in and download a tool and script package and unpack it.
Code:
./install.sh
When the install.sh script is done you need to move the mkbootimg preferebly to your tools directory of your SDK.
Code:
mv toolstomove/mkbootimg <path/to/sdk/tools/mkbootimg>
3. Unpack the RA1.6.2 ROM into a directory in your home dir. In this HOW-TO we will use directory name "ra1.6.2" as an example through out the entire process.
4. Copy the boot.img from ra1.6.2 to the ROM-cooker dir
Code:
cp $HOME/ra1.6.2/boot.img $HOME/ROM-cooker/boot.img
cd $HOME/ROM-cooker
5. Use unpack.pl to extract the ramdisk from the boot image. I've modified the script a little so it automates the entire process and decompresses the ramdisk to a directory
Code:
./unpack boot.img
6. Now you can either replace the init.rc file here with the one I've included in this package or you can add these lines by yourself. In wich case do the following
Code:
cd boot.img-ramdisk
pico init.rc
Press CTRL+w and then CTRL+t and input 27. hit enter. This will take you to line 27 of init.rc so you can add a line right before the init process remounts the rootfs in read-only mode. Add following line:
Code:
mkdir /sdext2 0771 system system
Now scroll down to the end of the init.rc file and add the following:
Code:
service mountsdext2 /system/bin/mountsd
user root
group root
oneshot
7. You have now edited (or replaced) your init.rc file and prepared it to execute a script on boot that will detect an ext2 partition and boot it if there is one to be found. Now you have to make the mountsd script a part of the ROM. Do the following:
Code:
cd $HOME/ROM-cooker
mv toolstomove/mountsd $HOME/ra1.6.2/system/bin/mountsd
rm -rf toolstomove
8. Now that the init.rc file is sorted out and mountsd has been placed in /system/bin of the ROM so it is time to re-pack the boot.img:
Code:
cd $HOME/ROM-cooker
./repack boot.img-kernel boot.img-ramdisk boot.img
rm $HOME/ra1.6.2/boot.img
mv boot.img $HOME/ra1.6.2/boot.img
9. Your ROM now has a new boot image with an updated init.rc and the /system/bin dir has the script needed to auto-mount the microsd ext2. Now you must re-zip the ROM and sign it. Do the following:
Code:
cd $HOME/ra1.6.2
zip -r update.zip *
mv update.zip $HOME/ROM-cooker/update.zip
cd $HOME/ROM-cooker
./sign.pl update.zip
10. The ROM is now signed and you now have a file called update-signed.zip. Connect the phone to your computer and execute thus:
Code:
./push update-signed.zip
11. Now you are ready to flash the modified ROM which will auto-mount an ext2 partition on your microSD. There is no need to wipe before flashing. If you have no prior experience with ROM flashing or whatever just backup your current install. If you're using OpenHOME or anything similar, nothing will be changed or damaged but if you're using MontAlbert's themes with the ROM you will have to flash them again after flashing this modified ROM.
Code:
adb reboot recovery
12. Flash from choose zip and of course choose update-signed.zip. Reboot. After the system boots up again you can now check whats what with either one of the commands:
Code:
[email protected]:~$ adb shell mount | grep sdext2
/dev/block/mmcblk0p2 on /sdext2 type ext2 (rw,noatime,nodiratime,errors=continue)
[email protected]:~/boot$ adb shell busybox df -h | grep sdext2
/dev/block/mmcblk0p2 893.7M 13.0K 846.0M 0% /sdext2
13. Voila! Your RA 1.6.2 ROM now detects and mounts your microSD ext2 partition on boot. Woohoo?
I hope the HOW-TO was easy reading and that you have succeeded in hacking up your ROM. I know that certain ROMs have this as a built-in function but Amon Ra's does not. But since alot of people including myself use his ROM because of the high speed and stability I thought I should contribute to his project and add a cool (and missed?) function to it.
Mind you that you can use the ROM-cooker set to further adjust and hack up the ROM as you see fit. Happy learning!
Very nice!
Now the question many people will ask : why would you automount ext2 if you don't use apps2sd ?
I personally have ubuntu on my ext2 And besides this approach can be used for a number of things, people who have had the need, or wanted to experiment with init.rc doing things on boot, the mountsd script can easily be altered to do what ever needed.
For me its been a learning curve finding these things out, so by sharing it I may spare some people breaking their backs over this whole init.rc thing. people may want to modify init.rc for whatever reason, so I'm sure people wont have a problem finding a way of putting this to use, and its a subject that isnt all that covered on the forum .. and hey .. at least they get a rom kitchen out of the whole shabang
Very interesting! Thank you.
I used your unpack-program to unpack a recovery-image. It seems to work fine. What I am trying to do is change the state the recovery-image returns the phone to. Would it be possible to just replace your mountsd-script with, for example, a script that installs apps? Or is there a better way to do what Im trying to achieve?
Cheers,
edit: I noticed that on the emulator it is sufficient to just place an apk-file in "data/app" to get it installed. Could it be possible that this is all I need a script to do? :O or could I hurt my poor phone by doing so you think?
sandis84 said:
edit: I noticed that on the emulator it is sufficient to just place an apk-file in "data/app" to get it installed. Could it be possible that this is all I need a script to do? :O or could I hurt my poor phone by doing so you think?
Click to expand...
Click to collapse
That's indeed all you need to do.
Hi!
So I tried to create a signed update.zip, but it failed. It didnt create a "update-script"-file, so my device refused to install it. I wrote my own "update-script"-file, but then it complained "no digest" for the file. How do I solve this?
post the contents of your script people might see whats up
so is this all on linux?
also where are the script files for your tutorial
thanks for the time to put together
sitimber said:
so is this all on linux?
also where are the script files for your tutorial
thanks for the time to put together
Click to expand...
Click to collapse
Says where its at in the first line : )
Code:
wget http://www.grindhouse.no/androidtools/install.sh
But now that I checked, I have to apologize, I see I have a missed payment with my hosting, I'll fix that within the day. Also sorry I havent been answering the few questions here I've been afk cause of surgery.
sitimber said:
post the contents of your script people might see whats up
Click to expand...
Click to collapse
well, I looked in another "update-script" file and found this:
assert compatible_with("0.2") == "true"
assert getprop("ro.product.device") == "dream" || getprop("ro.build.product") == "dream"
show_progress 0.5 0
write_radio_image PACKAGE:radio.img
show_progress 0.5 10
Click to expand...
Click to collapse
So I figured that nothing was essential other then the line "write_radio_image PACKAGE:radio.img". Also ofcourse I made sure it contained the name of my image-file instead of "radio.img". This gave me the "no digest" message, so now I feel unsure on how to create a working update.zip.
edit:
SOLVED! How silly of me. When you sign the update, a hash of each file is put in manifest.mf. Since I added the update-script after signing the file, ofcourse the digest(hash) was missing. Now everything works alot better and I can proceed... until I get stuck again
Cheers,
edit2:
Just to get a better understanding, what exactly does each line do here? Or where can I read about this?
Code:
service mountsdext2 /system/bin/mountsd
user root
group root
oneshot
edit3:
Ok, so I have experimentet, but I still dont manage to solve those last steps. I tried to edit init.rc and just add "mkdir /testdir 0000 system system" where the other directories were created. I then repacked it, zipped it, signed it, put it on my sdcard, started up a custom recovery, installed the update and rebooted. Everything seems to work fine. But when I start adb and check around, I dont see the "testdir"-directory. Also when I check in init.rc my line is gone. Do you guys have an idea of where I went wrong?
sitimber said:
so is this all on linux?
also where are the script files for your tutorial
thanks for the time to put together
Click to expand...
Click to collapse
it doesnot necesarily have to be linux ...you can also do it in windows using cygwin and dsxda's android rom kitchen

Question about rooting and flashing recovery image..

Just curious, what happens if I follow the rooting steps in the other thread but only do this:
adb push /directory_you_placed_asroot2/asroot2 /data/local/
adb shell
chmod 0755 /data/local/asroot2
/data/local/asroot2 /system/bin/sh
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cd /system/bin
cat sh > su
chmod 4755 su
At this point, what state is the phone in? Do I have full root access to the file system? What are the issues/concerns if I don't proceed with flashing the recovery image. Just trying to understand the process and what each step is for. I understand the part above but can't understand why you have to flash a recovery image and can't just use the phone after root is achieved.
Thanks in advance. FYI...all I want to do with root access is delete some system files, nothing more.
mobilehavoc said:
Just curious, what happens if I follow the rooting steps in the other thread but only do this:
adb push /directory_you_placed_asroot2/asroot2 /data/local/
adb shell
chmod 0755 /data/local/asroot2
/data/local/asroot2 /system/bin/sh
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cd /system/bin
cat sh > su
chmod 4755 su
At this point, what state is the phone in? Do I have full root access to the file system? What are the issues/concerns if I don't proceed with flashing the recovery image. Just trying to understand the process and what each step is for. I understand the part above but can't understand why you have to flash a recovery image and can't just use the phone after root is achieved.
Thanks in advance. FYI...all I want to do with root access is delete some system files, nothing more.
Click to expand...
Click to collapse
You don't have to flash the recovery image. I believe from that code you would have root and can run programs that require root. However, you would be unable to flash a new rom or any other update.zip (which means no auto apps2sd), partition your sd card easily or backup your phone in case something goes wrong. I suppose you are probably just asking for the sake of asking and knowledge but this is why a recovery image is HIGHLY recommended.
chuckhriczko said:
You don't have to flash the recovery image. I believe from that code you would have root and can run programs that require root. However, you would be unable to flash a new rom or any other update.zip (which means no auto apps2sd), partition your sd card easily or backup your phone in case something goes wrong. I suppose you are probably just asking for the sake of asking and knowledge but this is why a recovery image is HIGHLY recommended.
Click to expand...
Click to collapse
thanks. So if I don't flash the recovery image, I can't update to cooked ROMs or do the stuff you suggested but will the phone otherwise function normal? i.e. I can update to a Sprint/HTC update, I can factory reset the phone (assuming that'll kill root), etc.? I may do the whole process with the recovery image later but don't need it right now.
I only need to do this as a stopgap until Sprint/HTC releases an update.
mobilehavoc said:
thanks. So if I don't flash the recovery image, I can't update to cooked ROMs or do the stuff you suggested but will the phone otherwise function normal? i.e. I can update to a Sprint/HTC update, I can factory reset the phone (assuming that'll kill root), etc.? I may do the whole process with the recovery image later but don't need it right now.
I only need to do this as a stopgap until Sprint/HTC releases an update.
Click to expand...
Click to collapse
Well, I wouldnt recommend doing a sprint update either. That will cause you to lose root most likely. The only way then to keep root is wait until we get a dump of the update and then cook a rom that includes root, in which case you would need to flash the recovery image. Updates usually fix the exploits we use to gain root.
chuckhriczko said:
Well, I wouldnt recommend doing a sprint update either. That will cause you to lose root most likely. The only way then to keep root is wait until we get a dump of the update and then cook a rom that includes root, in which case you would need to flash the recovery image. Updates usually fix the exploits we use to gain root.
Click to expand...
Click to collapse
What he said...but yes, at the steps you quoted, mobilehavoc, you are capable of root access (you don't actually have it until you run that "su" command ). That allows you to read and modify otherwise locked away files and tweak to your hearts content!
Ive rooted and played around some but very little and followed everyones instructions very closely ( thank you for teaching a newbie ). Now how do I go back to original state that I backed up ( think I did ).
When I press the power and volume down button I get to the droid on skateboard, then I press the Home for recovery. I get the screen with all the options and I go to nandroid v2.2 restore and press trackball. It says restore latest backup press home to confirm. I do that and get the following error
Error : run 'nandroid-mobile.sh restore' via console.
What does this mean? Do i have to be tethered to PC and run this command from cmd prompt?
I am now lost again, any help is appreciated
Grinder16 said:
Ive rooted and played around some but very little and followed everyones instructions very closely ( thank you for teaching a newbie ). Now how do I go back to original state that I backed up ( think I did ).
When I press the power and volume down button I get to the droid on skateboard, then I press the Home for recovery. I get the screen with all the options and I go to nandroid v2.2 restore and press trackball. It says restore latest backup press home to confirm. I do that and get the following error
Error : run 'nandroid-mobile.sh restore' via console.
What does this mean? Do i have to be tethered to PC and run this command from cmd prompt?
I am now lost again, any help is appreciated
Click to expand...
Click to collapse
Just to confirm since it wasn't mentioned, you did a Nandroid backup earlier right? can you confirm that there's a folder on your sdcard called "nandroid"?
thecodemonk said:
Just to confirm since it wasn't mentioned, you did a Nandroid backup earlier right? can you confirm that there's a folder on your sdcard called "nandroid"?
Click to expand...
Click to collapse
Dont see that folder - I guess that is not good. Any ideas?
Grinder16 said:
Dont see that folder - I guess that is not good. Any ideas?
Click to expand...
Click to collapse
You must do a backup BEFORE you can do a restore..
To clarify for everyone, here's a breakdown of the steps:
adb push /directory_you_placed_asroot2/asroot2 /data/local/
This copies the asroot2 program to the /data/local folder on your phone.
adb shell
This logs you into the phone. From here on out, you are no longer executing Windows commands from a DOS shell - you are actually executing Linux commands on the phone.
chmod 0755 /data/local/asroot2
This changes the permissions on the asroot2 program so that it can be executed.
/data/local/asroot2 /system/bin/sh
This actually runs the root exploit and creates a file called /system/bin/sh that we will later turn into su.
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
This unmounts the /system partition and remounts it as writeable.
cd /system/bin
This puts you into the /system/bin folder.
cat sh > su
This creates the su program.
chmod 4755 su
This changes the persmissions on the su file to allow it to be executed.
theresthatguy said:
You must do a backup BEFORE you can do a restore..
Click to expand...
Click to collapse
I thought I had. What are the steps? I have a flash recovery image on my SD card. I have followed all instructions that I could find
Grinder16 said:
I thought I had. What are the steps? I have a flash recovery image on my SD card. I have followed all instructions that I could find
Click to expand...
Click to collapse
Boot to the recovery image then select "nandroid backup"
jonnythan said:
Boot to the recovery image then select "nandroid backup"
Click to expand...
Click to collapse
Can you provide those steps? Sorry but complete newbie here
"I get the screen with all the options and I go to nandroid v2.2 restore and press trackball. It says restore latest backup press home to confirm. I do that and get the following error"
Go there but select Backup instead of Restore.
Turn the phone off, hold the Home key, and turn it on. When you get to the screen with the green text select nandroid backup.

[Guide] How to gain root on 2.2 for Mac

*******UPDATED 8/31/10 *******
This rooting method was adapted from regaw_leinad's method and toastcfh's method. By following these steps you will successfully downgrade your phone back to android 2.1 in order to gain root.
I don't trust unrevoked as I have had problems with it in the past.

I am not responsible for any damages to your phone.
special thanks to:
regaw_leinad
Sebastian Krahmer
Toastcfh
amon_ra
FILES YOU WILL NEED:
copy and paste into browser
Code:
sdx-downloads.com/sdx/evo/troot/eng-PC36IMG.zip
evo4g.me/downloads//count.php?target=evo-root.zip
files.androidspin.com/downloads.php?dir=amon_ra/RECOVERY/&file=recovery-RA-evo-v1.8.0.img
developer.android.com/sdk/index.html
You will need the Android SDK in order to communicate between your computer and your phone. Download it (last link above) and follow the setup instructions that it comes with.
Unzip the contents of the evo-root.zip and put all the files from it into the tools folder located in the android sdk folder.
Rename the eng-PC36IMG.zip to PC36IMG.zip and then put it the tools folder located in the android sdk folder. DO NOT UNZIP IT!

******* PC36IMG.zip md5sum~ fe8aba99893c766b8c4fd0a2734e4738 *******
Move the recovery-RA-evo-v1.8.0.img into the android sdk folder as well.
Make sure usb debugging is enabled on your device. To do so go to Settings > Applications > Development > and make sure the check box is checked.
Plug your phone into the computer. Select "Charge Only" from the notifications bar.
Open up terminal and navigate your way into the android sdk folder.
Code:
cd /
cd asdk
Push all the files onto your phone.
Code:
tools/adb push /asdk/tools/flash_image /sdcard/
tools/adb push /asdk/tools/rageagainstthecage-arm5.bin /data/local/tmp/
tools/adb push /asdk/tools/mtd-eng.img /sdcard/
tools/adb push /asdk/tools/PC36IMG.zip /sdcard/
tools/adb push /asdk/tools/recovery-RA-evo-v1.8.0.img /sdcard/
Note that the PC36IMG.zip will take longer than the other files to transfer to the sdcard because it is a large file.

Now we will make rageagainstthecage.bin executable.
Code:
tools/adb shell
chmod 0755 /data/local/tmp/rageagainstthecage-arm5.bin
You should see this (below) after it has made the change.
Code:
$
Now to use the rooted shell.
Code:
cd /data/local/tmp
./rageagainstthecage-arm5.bin
You will now see some text on your terminal screen describing the exploit. 

Wait for the adb shell to finish the process. At this point it may or may not terminate the current shell session in terminal. If it does then it should look like this:
Code:
users-iMac:asdk user$
If it doesn't it will return to
Code:
$
in that case you need to exit the current session. To do so type
Code:
exit

Now we need initiate a new shell which should now have root permissions.
Enter the following:
Code:
tools/adb shell
and you will see you now have a
Code:
#
instead of
Code:
$
Now we need to flash the mdt-eng.img in order for it to let us install a custom recovery
Code:
adb shell
cat /sdcard/flash_image > /data/flash_image
chmod 755 /data/flash_image
/data/flash_image misc /sdcard/mtd-eng.img
That will flash your misc partition with Toast's mtd-eng.img


This should return you to
Code:
#
Now boot into hBoot
Code:
reboot bootloader
This will reboot your phone into hBoot. It will scan for the PC36IMG.img. When it asks yes or no, select yes.
It should then reflash your phone into the engineering build.
When it asks to reboot select yes.
You will need to flash custom recovery in order to be able to flash other custom roms or modifications. I use Amon_RA's recovery because it works great and has NEVER caused me any problems.
Now, open up terminal and get back into the android sdk folder
Code:
cd /
cd asdk
Since we have already pushed the recovery onto the sdcard we only need to flash the recovery onto the phone so that we can use it
Code:
adb shell
cat /sdcard/flash_image > /data/flash_image
chmod 755 /data/flash_image
/data/flash_image recovery /sdcard/recovery-RA-evo-v1.8.0.img
Now lets rename that PC36IMG.zip file again
Code:
mv /sdcard/PC36IMG.zip /sdcard/eng-PC36IMG.zip
that way your phone doesn't try to flash it when you go into recovery each time
And last but not least we need to boot into it to flash a custom rom
Code:
reboot recovery
Your phone should then reboot into Amon_RA's recovery and you may now head over to the dev forum to find your new favorite custom rom.
very nice! can anyone confirm this? my buddy wants me to root his 2.2 and i would like to try this.
To make life easier for some people add this to your post mate, and apply it yourself if you would like.
Here is how to add your sdk/tools directory to your .bash_profile file so you won't have to navigate to the folder each time.
Download this so you'll be able to see your hidden files http://www.mediafire.com/?diimft1ninn Run it, check "Show Hidden Files" then click Restart finder. Now, navigate to your home folder (/Users/UserName/) and see if there's a .bash_profile already there. If not, create with textedit.
Now add this to the file: export PATH=${PATH}:/Path/Of/Your/Sdk/Tools/Folder
Mine is /Users/bmxrider4444/Documents/Android/SDK/tools
Now do not save it as rich text. If yours is in rich text, click on "Format" in the menu bar, and click "make plain text". Now save it as .bash_profile and uncheck "if no extension is provided, use .txt".
Now you can go back to Ghost and uncheck "Show all hidden files" and restart finder again (special thanks to ajones7279 for these steps)
Enjoy!
Just as clarification as to what this does, it enables you to run adb commands and other commands without having to navigate to the /android/tools/ folder every time you want to run adb or whatever.
does this work?
seekis said:
At this point we need to push the recovery onto the sdcard
Code:
tools/adb push "location of recovery-RA-evo-v1.8.0.img" /sdcard/
Click to expand...
Click to collapse
This is great! Thanks for the guide - I am planning on rooting my Wife's EVO but have been waiting for an easier method than the other one posted. Question on the above where we write "location of recovery-ra-evo-v1.8.0.img". Is that the exact code, or should we be adding a directory or folder location into this line? I rooted my 2.1 EVO on my Mac a couple months ago and don't remember this step. Once again - very much appreciate the help.
One last question - would it make more sense to have a custom ROM already on your SD Card prior to rooting, so that you can flash it right after you flash AMON-RA for the first time? Probably doesn't matter but thought i'd ask.
^^ same question as above, plus one other n00b question - does this method unlock NAND?
[edit] I was not insinuating that randymac88 is a n00b; I, however, am
seekis said:
I don't trust unrevoked as I have had problems with it in the past.

I am not responsible for any damages to your phone.
Click to expand...
Click to collapse
Don't trust us with the unrevoked 3.x/unrevoked forever application combo that's worked for thousands of users without sideeffects on regaw's post?
You should note to everyone that your method will screw up their PRI, reverting it back to 1.34. By using unrevoked and unrevoked forever, you can keep 1.40.
randymac88 said:
This is great! Thanks for the guide - I am planning on rooting my Wife's EVO but have been waiting for an easier method than the other one posted. Question on the above where we write "location of recovery-ra-evo-v1.8.0.img". Is that the exact code, or should we be adding a directory or folder location into this line? I rooted my 2.1 EVO on my Mac a couple months ago and don't remember this step. Once again - very much appreciate the help.
One last question - would it make more sense to have a custom ROM already on your SD Card prior to rooting, so that you can flash it right after you flash AMON-RA for the first time? Probably doesn't matter but thought i'd ask.
Click to expand...
Click to collapse
Thats not the exact code no. I just put that as a place holder you are suppose to put in the location of where you have the recovery.img. For example, the exact command for me would be:
Code:
/Users/seekis/Downloads/recovery-ra-evo-v1.8.0.img
Don't trust us with the unrevoked 3.x/unrevoked forever application combo that's worked for thousands of users without sideeffects on regaw's post?
You should note to everyone that your method will screw up their PRI, reverting it back to 1.34. By using unrevoked and unrevoked forever, you can keep 1.40.
Click to expand...
Click to collapse
As far as using unrevoked, I stated that I, ME, MYSELF, has had issues with it. not that anybody else has. By all means go and use it if you would like. I will not. It is true that you will loose PRI 1.40, but seeing as how even after installing the OTA from HTC my phone still didn't update it to 1.40, I don't see the issue.
rsage said:
^^ same question as above, plus one other n00b question - does this method unlock NAND?
[edit] I was not insinuating that randymac88 is a n00b; I, however, am
Click to expand...
Click to collapse
i believe it does unlock nand seeing as how i adapted it from toasts method
Hey Seekis - question, I'm stuck here. I keep getting "permission denied", or "operation not permitted" when trying to make the exploit executable at this step:
chmod 0755 /data/local/tmp/rageagainstthecage-arm5.bin
Am I missing something? I've tried a million times and can't seem to get past this. I've successfully pushed all the files onto the sdcard.
I've also have had some trouble finding the exact root path to these files. I've been able to navigate, but I would think a lot of users would have some trouble.
Regardless, many thanks for getting this posted...
EDIT: I pushed the rageagainstthecage file to the sdcard by mistake. Will try again tomorrow.
ok i got rid of that step by moving the file into the android sdk and pushing it with all the other files
Okay now I appear to be in big trouble as I've just messed up my wife's phone, and its probably going to be unusable for a while until I get this figured out (assuming I do!).
I got through most of the process. I flashed the PC36IMG.zip file; however when it asked to reboot, it just dumped me back into the bootloader. Whenever I say reboot, it just takes me back to the bootloader. Pull the battery, same thing - bootloader. Yikes.
I don't know how to get to the next step because I can't get into a booted rom in order to flash the amon-ra recovery. Am I totally effed? Can anyone help me here?
EDIT: Okay reflashed the PC36IMG.zip file, and it rebooted into the stock ROM. Onward! Phew!!
The wife's EVO is now fully rooted running Baked Snack 1.5 w/Netarchy's kernel. Touch and go there for a minute, but it all worked out. No 1.40 PRI, but I don't really care about that right now.
Woot! Thanks Seekis!!
do u have to push the pc36img with adb every time or will drag and drop work or copy and paste work?
FoxHound630 said:
do u have to push the pc36img with adb every time or will drag and drop work or copy and paste work?
Click to expand...
Click to collapse
You can mount the card on your system and copy paste it over as well, yes.
randymac88 said:
Okay now I appear to be in big trouble as I've just messed up my wife's phone, and its probably going to be unusable for a while until I get this figured out (assuming I do!).
I got through most of the process. I flashed the PC36IMG.zip file; however when it asked to reboot, it just dumped me back into the bootloader. Whenever I say reboot, it just takes me back to the bootloader. Pull the battery, same thing - bootloader. Yikes.
I don't know how to get to the next step because I can't get into a booted rom in order to flash the amon-ra recovery. Am I totally effed? Can anyone help me here?
EDIT: Okay reflashed the PC36IMG.zip file, and it rebooted into the stock ROM. Onward! Phew!!
Click to expand...
Click to collapse
Had the same issue. When i first booked into the bootloader i had to select recovery then flash PC36IMG.zip. Then boot loop. Then i went back into the bootloader and it automagically read in the PC36IMG.zip and flashed it, then i got stock 2.1 root. Just a few minutes of "oh crap"
I'm stuck. I got as far as flashing PC36IMG.zip, which was successful, as my phone now runs 2.1, but it doesn't appear I'm rooted. When I go back into the adb shell, I'm getting the $ prompt, and running
Code:
cat /sdcard/flash_image > /data/flash_image
gives me a permission denied error. Help!
atom_jack said:
I'm stuck. I got as far as flashing PC36IMG.zip, which was successful, as my phone now runs 2.1, but it doesn't appear I'm rooted. When I go back into the adb shell, I'm getting the $ prompt, and running
Code:
cat /sdcard/flash_image > /data/flash_image
gives me a permission denied error. Help!
Click to expand...
Click to collapse
i dont know what to tell you other than try again. this happened to me the first time through as well. i dont know why. i just started from the top and it worked the second time through.
seekis said:
i dont know what to tell you other than try again.
Click to expand...
Click to collapse
So after you flash PC36IMG.zip you should automatically get a root (#) prompt when going into the shell? ie, I'll have rooted 2.1 yes?
seekis said:
this happened to me the first time through as well. i dont know why. i just started from the top and it worked the second time through.
Click to expand...
Click to collapse
Aha. Ok, I will keep trying til it gives me a root shell, I guess. I also tried unrevoked3 but that didn't seem to work.
Success!! So, I stupidly assumed that all PC36IMG.zip's were the same, and was using the one from the original 2.2 PC thread. Once I got the correct one, voila!
You might want to post the md5 of the one you are using, so there's no confusion for others. Also, you missed a tiny step when you first start up hboot - you have to select fastboot for it to start scanning for PC36IMG.zip.
Thanks!

[Q] Question about removing system/bin/recovery?

OK, in the middle of writing up this topic, my situation has suddenly changed. (And changed again.)
The story begins: an old AT&T Samsung Infuse 4G, still on Froyo. Put it through a factory-reset and began to fiddle with how to install Clockwork Mod recovery. So there's the guide to upload a modified 3e recovery.
I run adblinux to push the modified recovery over the stock 3e at "system/bin/recovery" -- but "system/bin" was only in read-only mode and adblinux can't run "mount" and doesn't have permission to enter shell and run "su" (or enter shell as root) and File Manager HD (with Super User privledges) can't modify read-only folder "system/bin".
I managed to find a go around by pushing the modified-recovery into the sdcard's root and going through a terminal emulator on the phone to overwrite the file... but I rebooted the phone without running "chmod" on the newly overwritten file and the Infuse bricked so bad that even the battery in off-state refused to refresh.
I understand and accept what I did should be labelled as 'idiotic', but I did manage to wait at the Samsung logo until adblinux recognized the device and eventually restored the original recovery back to "system/bin" (I also found out adblinux didn't have permission to run chmod in the "system/bin" directory).
So... A few questions before I continue:
Why did (pushing the old recovery) work? ADB initially did not recognized the phone, but then the Infuse came up as "I997ae56e13f recovery" -- why was the name now 'recovery?'
And why does running "./adblinux reboot recovery" brings back the bootloop? (In fact, I cannot enter recovery mode, so something is still wrong -- the recovery file is not 755 and I can't chmod a read-only file-system either from adb or via super-user terminal. The temp-root method times out.)
OK, now I'm going home. I'll probably still try to re-install SuperUser. Maybe that will allow adblinux to run "su" in shell, but I'm not going to try anything too extreme.
Justin20 said:
OK, in the middle of writing up this topic, my situation has suddenly changed. (And changed again.)
The story begins: an old AT&T Samsung Infuse 4G, still on Froyo. Put it through a factory-reset and began to fiddle with how to install Clockwork Mod recovery. So there's the guide to upload a modified 3e recovery.
I run adblinux to push the modified recovery over the stock 3e at "system/bin/recovery" -- but "system/bin" was only in read-only mode and adblinux can't run "mount" and doesn't have permission to enter shell and run "su" (or enter shell as root) and File Manager HD (with Super User privledges) can't modify read-only folder "system/bin".
I managed to find a go around by pushing the modified-recovery into the sdcard's root and going through a terminal emulator on the phone to overwrite the file... but I rebooted the phone without running "chmod" on the newly overwritten file and the Infuse bricked so bad that even the battery in off-state refused to refresh.
I understand and accept what I did should be labelled as 'idiotic', but I did manage to wait at the Samsung logo until adblinux recognized the device and eventually restored the original recovery back to "system/bin" (I also found out adblinux didn't have permission to run chmod in the "system/bin" directory).
So... A few questions before I continue:
Why did (pushing the old recovery) work? ADB initially did not recognized the phone, but then the Infuse came up as "I997ae56e13f recovery" -- why was the name now 'recovery?'
And why does running "./adblinux reboot recovery" brings back the bootloop? (In fact, I cannot enter recovery mode, so something is still wrong -- the recovery file is not 755 and I can't chmod a read-only file-system either from adb or via super-user terminal. The temp-root method times out.)
OK, now I'm going home. I'll probably still try to re-install SuperUser. Maybe that will allow adblinux to run "su" in shell, but I'm not going to try anything too extreme.
Click to expand...
Click to collapse
I am curious how adblinux differs from the linux compiled version of adb. Usually it's just called adb.
Anyway, if you are using a Linux OS, and you pulled the original recovery to your PC before overwriting it, it should maintain it's permissions. Likewise, a push would set the permissions like they were on the host PC as well. They say to chmod afterward, because if you are using a windows packaged/downloaded file, or pushing with a Windows PC, the permissions could be anything in the end (rarely what you really want).
As to why the device name changes, not sure. Device names change based on the ROM installed (not always serial number), so it's not out of the question that recovery could tack on something else.
With above, problem is, even with Linux, it doesn't always line up so permissions can be influenced in a push but you may not get what you were asking for. Try chmod 755 the recovery on the local side and adb push the recovery again, after making a backup of the recovery that is there and see if it continues to bootloop.
If all else fails, as long as you have download mode, you can always use ODIN (or Heimdall) to go back to stock (albeit newer Gingerbread). Option A gives you root only, option D, root + recovery (CWM).
Hope this helps.
Thanks for replying!
joel.maxuel said:
I am curious how adblinux differs from the linux compiled version of adb. Usually it's just called adb.
Click to expand...
Click to collapse
I.. have no idea actually. I don't know how to configure Wine to properly emulate an environment for the Windows ADB and I can't get the correct phone-drivers for my WinXP system. (Kleis won't recognize the rooted phone, though if I leave the phone plugged in while installing Kleis, it will interrupt with a "Samsung Mobile Device connected" message.)
joel.maxuel said:
They say to chmod afterward, because if you are using a windows packaged/downloaded file, or pushing with a Windows PC, the permissions could be anything in the end (rarely what you really want).
With above, problem is, even with Linux, it doesn't always line up so permissions can be influenced in a push but you may not get what you were asking for. Try chmod 755 the recovery on the local side and adb push the recovery again, after making a backup of the recovery that is there and see if it continues to bootloop.
Click to expand...
Click to collapse
Unfortunately I can't chmod and push at the same end.
-I tried changing the permissions of recovery file on my PC, but I wouldn't be able to push it onto the "system/bin" directory in the phone.
-I tried changing the permissions on the existing "/system/bin/recovery" file, but the phone says it's a read-only filesystem.
-I tried chmod from the phone in a different directory, but I can't move the file into the "system/bin" directory (cross-device link), delete the existing recovery file (read-only filesystem), and.. why don't I have the copy command?
joel.maxuel said:
If all else fails, as long as you have download mode, you can always use ODIN (or Heimdall) to go back to stock (albeit newer Gingerbread). Option A gives you root only, option D, root + recovery (CWM).
Click to expand...
Click to collapse
I thought flashing with Odin/Heimdall required access to recovery (to wipe all user data and cache folders either before or after the flash).
Without a recovery mode to boot into, won't I be sunk if things go wrong?
Also, I seem to have a different Heimdall frontend, one that doesn't have slots for PDA. It might be because I'm using an newer/older (1.3.1) edition from Ubuntu 12.04 (the official downloads page only has it for 12.10~13.04 editions of my OS), so I'm probably going to have to command-line it.
Code:
heimdall --verbose flash --factoryfs factoryfs.rfs --cache cache.rfs --modem modem.bin --kernel zImage
Look about right? (No partition image table from the tarball found in that forum link?)
Justin20 said:
I.. have no idea actually. I don't know how to configure Wine to properly emulate an environment for the Windows ADB and I can't get the correct phone-drivers for my WinXP system. (Kleis won't recognize the rooted phone, though if I leave the phone plugged in while installing Kleis, it will interrupt with a "Samsung Mobile Device connected" message.)
Click to expand...
Click to collapse
There is adb for Linux, I think adb is natively Linux anyway (the Windows version being the port). Don't have to worry about drivers if in Linux, due to the native support. If using Debian, Ubuntu (or any other Debian derivative), just need to run:
Code:
sudo apt-get install adb
But judging by immediately below, a different version of ADB probably won't change much.
Justin20 said:
Unfortunately I can't chmod and push at the same end.
-I tried changing the permissions of recovery file on my PC, but I wouldn't be able to push it onto the "system/bin" directory in the phone.
-I tried changing the permissions on the existing "/system/bin/recovery" file, but the phone says it's a read-only filesystem.
-I tried chmod from the phone in a different directory, but I can't move the file into the "system/bin" directory (cross-device link), delete the existing recovery file (read-only filesystem), and.. why don't I have the copy command?
Click to expand...
Click to collapse
'cp' should exist, be interesting if it did not. A different ADB could change the outcome (#1), but as pointed out before, you probably won't get the permissions you wanted in the end. Outcomes 2 and 3 would end up being the same, as the device is mounted read only.
You may get lucky with this:
Code:
adb shell mount -o remount,rw system
If root has any influence with this ADB session, it will remount your /system so you can chmod your recovery file on the device end.
Justin20 said:
I thought flashing with Odin/Heimdall required access to recovery (to wipe all user data and cache folders either before or after the flash).
Without a recovery mode to boot into, won't I be sunk if things go wrong?
Click to expand...
Click to collapse
My understanding is that it is completely separate, as the process will replace recovery to stock as well. But just in case, keep this one as a last resort.
I never used Heimdall, just ODIN through a WinXP Virtual Machine (only heard about Heimdall later), but when I used ODIN, I never had any problem with these generic drivers (adbsetup-1.3):
http://dottech.org/21534/how-to-ins...ows-computer-for-use-with-your-android-phone/
Wow, I wish I took better notes last week. I had to go elsewhere and come back to this project and whatever progress I had made, I think I'm starting over from scratch.
I still can't mount/remount the system folder from anywhere (via ADB under Win/XP and Linux/Ubuntu 12.04); running "su chmod" from the phone still gives a permission denied, changing from Superuser to SuperSU didn't do anything (both programs did find the SU binary to be outdated), and adding a Busybox APK did not add a 'copy' function to my terminal emulator (on the phone) so running an ADB shell would be limited in that regard as well.
I'm going to have to take the phone to a McDonald's and attach a Google account to it. (I would have liked to have done all this offline somehow.)
joel.maxuel said:
when I used ODIN, I never had any problem with these generic drivers (adbsetup-1.3):
http://dottech.org/21534/how-to-ins...ows-computer-for-use-with-your-android-phone/
Click to expand...
Click to collapse
How did you manage to get your virtual OS to go "online?" When I tried installing the Google device drivers that came with adbsetup, a big red "X" popped up (Install failed).
I saw that there was a Java-based ODIN, but it's Java 8.0. Should I be using a later/earlier version of Odin/Heimdall? The latest versions don't support my OS (surprising since they support the latest, 14.04, and 12.10 but not anything between or 12.04, the other big release). The existing XDA threads all use Odin/Heimdall 1.1 -- the 1.3 version I have does NOT look like that (and does not have the "PDA" options in the GUI).
Justin20 said:
How did you manage to get your virtual OS to go "online?" When I tried installing the Google device drivers that came with adbsetup, a big red "X" popped up (Install failed).
Click to expand...
Click to collapse
Did the adbsetup binary change? I remember a DOS install process, so there shouldn't have even been a setup wizard (graphical anyway).
Anyway, to get the virtual OS to recognize, need to right click on the devices icon on the bottom status bar (at least in VirtualBox), looks like a USB drive, and select Android, or whatever pops up.
Hope this helps. Also, did the shell remount mentioned earlier have any effect (using adblinux)?
Sent from my Asus MeMO Pad 8"
joel.maxuel said:
Did the adbsetup binary change? I remember a DOS install process, so there shouldn't have even been a setup wizard (graphical anyway).
Click to expand...
Click to collapse
The DOS prompt process begins a driver install. From there, the Setup Wizard popped up.
joel.maxuel said:
Anyway, to get the virtual OS to recognize, need to right click on the devices icon on the bottom status bar (at least in VirtualBox), looks like a USB drive, and select Android, or whatever pops up.
Click to expand...
Click to collapse
Another bad sign: nothing pops up.
As for using mount/remount, the option "remount" was not found. (It would scroll down the whole list of options and switches.)
I think it's time for me to give up the ghost on fixing this issue. I still don't know how I managed to foul it up in the first place because I tried repeating it (entering the command-prompt from the phone, entering superuser, and moving files into "/system/bin") to no avail. So there is a modified 3e recovery file in "/system/bin" without the correct permissions that's preventing the phone from entering recovery mode (and slowing up the boot-up process and "battery recharge" icon when powered off), but other than that the device works, so that's something.
I still would like to try flashing the entire thing with ODIN/Heimdall if I could get either to work. (I ran the latest Heimdall, 1.4.0 32-bit, under WinXP only to find it was not a valid binary. The various Open Disk-Imager in a Nutshell (ODIN) apps out there, but nothing looks like those used on these forums (and did not include a PDA option).
Justin20 said:
The DOS prompt process begins a driver install. From there, the Setup Wizard popped up.
I still would like to try flashing the entire thing with ODIN/Heimdall if I could get either to work. (I ran the latest Heimdall, 1.4.0 32-bit, under WinXP only to find it was not a valid binary. The various Open Disk-Imager in a Nutshell (ODIN) apps out there, but nothing looks like those used on these forums (and did not include a PDA option).
Click to expand...
Click to collapse
The correct version of ODIN will be packaged with whatever image you choose. Just find a windows machine lying around, install the adbsetup drivers, and flash away. Hope this helps.

Categories

Resources