[DUMP] Sidekick 4G Partition + Kernel Source (Bootloader, Recovery, etc) - T-Mobile Sidekick 4G

Credit to sofauxboho for performing dumps.
Partition Dump
http://gititbit.ch/sk4g2 - partition dump
Code:
bml1 256 KB contains boot.bin (262144 bytes), Primary Boot Loader (low-level hardware initialization)
bml2 256 KB contains PIT file first 512 bytes
bml3 10240 KB /dev/block/stl3 /efs
bml4 1280 KB contains Sbl.bin (1310720 bytes) Secondary Boot Loader (loads the Linux kernel and passes the necessary arguments)
bml5 1280 KB contains Secondary Boot Loader (for recovery, ect)
bml6 5120 KB param.lfs /mnt/.lfs j4fs
bml7 7680 KB contains zImage and initramfs
bml8 7680 KB empty - on Epic 4G and Fascinate, contains recovery.bin
bml9 293376 KB factoryfs.rfs ( /system RFS Partition) /dev/block/stl9
bml10 137216 KB dbdata.rfs ( /dbdata RFS Partition) /dev/block/stl10
bml11 35840 KB cache.rfs ( /cache RFS Partition) /dev/block/stl11
bml12 12800 KB modem.bin
EDIT: It has come to my attention that the Super One Click works, no need for a script.
More Mirrors
http://gititbit.ch/sk41 - Sidekick 4G system dump
http://gititbit.ch/sk4g1 - Sidekick 4G Info Dump
dev.txt
devblock.txt
efs.txt
mount.txt
partitions.txt
proc.txt
Kernel + Platform Source
http://gititbit.ch/sk4g5 - SGH-T839_OpenSource.zip
Now for custom roms...
SK4G development chat can be found at irc.freenode.net #sk4g

hey, sorry i'm not super code-savvy.... do i simply place the .rar file on my sd card, or open it with say, 7zip, and copy the autoroot folder over? i'm getting 'unable to chmod, operation not permitted' the second way, and 'not found, no such directory, etc' when i place the .rar file on my sd card. both of these are appearing after the first line with chmod 755 etc.

Use winrar to extract the .rar then place the extracted folder onto the sdcard.

dasmoover said:
Use winrar to extract the .rar then place the extracted folder onto the sdcard.
Click to expand...
Click to collapse
ok, think i did that, but am still getting 'operation not permitted'..... perhaps i'll hold off and see if someone else has success with it?

Hmm...
Should line 14 specify the su file rather than the containing directory?
It currently reads:
Code:
cp su /system/xbin/ && chmod 4755 /system/xbin/
But perhaps it should read:
Code:
cp su /system/xbin/ && chmod 4755 /system/xbin/su

Updated the script in the main download.

yogi2010 said:
hey, sorry i'm not super code-savvy.... do i simply place the .rar file on my sd card, or open it with say, 7zip, and copy the autoroot folder over? i'm getting 'unable to chmod, operation not permitted' the second way, and 'not found, no such directory, etc' when i place the .rar file on my sd card. both of these are appearing after the first line with chmod 755 etc.
Click to expand...
Click to collapse
Im getting this when I try the lines too.

When I copied the autoroot folder to my SK4G, the contents of the folder were already set to 775, so there should be no need to chmod (though I also get the permission error when trying to chmod them).
The bigger issue is that my device doesn't have the cp command. I'd assume it would be in /system/bin along with things like ls and mv, but it's not.

Huh. That's odd. You guys are using the newer download, right?
Do you have any idea which chmod command is erroring out? I'm wondering if it's the chmod on the rage...bin in line 9 or the chmod on su in line 14.
Unfortunately I can't test without wiping my SK4G back to unrooted, which I would rather not do as it's my primary handset.
If you don't know which line is causing the trouble, could you try copying the kit but then entering each line manually?

sofauxboho said:
Huh. That's odd. You guys are using the newer download, right?
Do you have any idea which chmod command is erroring out? I'm wondering if it's the chmod on the rage...bin in line 9 or the chmod on su in line 14.
Unfortunately I can't test without wiping my SK4G back to unrooted, which I would rather not do as it's my primary handset.
If you don't know which line is causing the trouble, could you try copying the kit but then entering each line manually?
Click to expand...
Click to collapse
No I was usin the old link didn't try new one yet. Still says same thing on new version
Sent From SK4G

sofauxboho said:
Huh. That's odd. You guys are using the newer download, right?
Do you have any idea which chmod command is erroring out? I'm wondering if it's the chmod on the rage...bin in line 9 or the chmod on su in line 14.
Unfortunately I can't test without wiping my SK4G back to unrooted, which I would rather not do as it's my primary handset.
If you don't know which line is causing the trouble, could you try copying the kit but then entering each line manually?
Click to expand...
Click to collapse
I tried the newer download. All of the chmods error because my user doesn't own those files or already have write permissions for any of them. I don't have read, write, or execute permissions for /data/local/tmp either, so I can't list or copy to that location. But, separate from that, there is no cp command, so I can't copy anything anywhere.

jarrodlombardo said:
When I copied the autoroot folder to my SK4G, the contents of the folder were already set to 775, so there should be no need to chmod (though I also get the permission error when trying to chmod them).
The bigger issue is that my device doesn't have the cp command. I'd assume it would be in /system/bin along with things like ls and mv, but it's not.
Click to expand...
Click to collapse
Ah, right! That's why I used cat instead of cp when I rooted mine.
Try this:
Code:
#!/bin/sh
#autoroot script for sidekick v0.1
#chmod 755 autoroot.sh
echo "Copying binaries to /data/local/tmp/"
cat su > /data/local/tmp/su
cat Superuser.apk > /data/local/tmp/Superuser.apk
cat rageagainstthecage-arm5.bin > /data/local/tmp/rageagainstthecage-arm5.bin
cd /data/local/tmp/
echo "I'm about to chmod rageagainstthecage-arm5.bin"
chmod 755 rageagainstthecage-arm5.bin
echo "Executing exploit, please wait"
./rageagainstthecage-arm5.bin
sleep 20
echo "Attempting to spawn root shell"
sh
whoami
echo "Attempting to mount /system read-write"
mount -o remount,rw /dev/block/stl9 /system
echo "Attempting to copy and chmod su"
cat /data/local/tmp/su > /system/xbin/su && chmod 4755 /system/xbin/su
echo "Attempting to copy Superuser.apk"
cat /data/local/tmp/Superuser.apk > /system/app/Superuser.apk
sleep 5
mount -o remount,ro /dev/block/stl9 /system
#add root entry to passwd and group
echo "root::0:0:root:/data/local:/system/bin/sh" > /etc/passwd
echo "root::0:" > /etc/group
echo "autoroot completed succesfully."
I've also added a bunch of echoed comments to help us track where things go wrong if it doesn't work.

sofauxboho said:
Ah, right! That's why I used cat instead of cp when I rooted mine.
Try this:
Code:
#!/bin/sh
#autoroot script for sidekick v0.1
#chmod 755 autoroot.sh
echo "Copying binaries to /data/local/tmp/"
cat su > /data/local/tmp/su
cat Superuser.apk > /data/local/tmp/Superuser.apk
cat rageagainstthecage-arm5.bin > /data/local/tmp/rageagainstthecage-arm5.bin
cd /data/local/tmp/
echo "I'm about to chmod rageagainstthecage-arm5.bin"
chmod 755 rageagainstthecage-arm5.bin
echo "Executing exploit, please wait"
./rageagainstthecage-arm5.bin
sleep 20
echo "Attempting to spawn root shell"
sh
whoami
echo "Attempting to mount /system read-write"
mount -o remount,rw /dev/block/stl9 /system
echo "Attempting to copy and chmod su"
cat /data/local/tmp/su > /system/xbin/su && chmod 4755 /system/xbin/su
echo "Attempting to copy Superuser.apk"
cat /data/local/tmp/Superuser.apk > /system/app/Superuser.apk
sleep 5
mount -o remount,ro /dev/block/stl9 /system
#add root entry to passwd and group
echo "root::0:0:root:/data/local:/system/bin/sh" > /etc/passwd
echo "root::0:" > /etc/group
echo "autoroot completed succesfully."
I've also added a bunch of echoed comments to help us track where things go wrong if it doesn't work.
Click to expand...
Click to collapse
Type this into terminal right?

Actually, I whipped up a modified version of dasmoover's tool with my changes:
http://notfine.com/android/sk4g/autoroot-V01b-sfb.zip
Unzip that and copy the "autoroot" folder to your SD card.
Next, eject your SK, turn off USB Storage mode, and unplug it from your computer.
Then follow dasmoover's instructions (I've cleaned them up slightlly):
1. Place autoroot folder on sdcard
2. Install the Terminal Emulator app from the Marketplace
3. Open the Terminal Emulator app and type the following commands exactly, one at a time, hitting enter at the end of the line:
Code:
chmod 755 /sdcard/autoroot/autoroot.sh
./sdcard/autoroot/autoroot.sh
If the sdcard is mounted as noexec, follow these steps:
1. Place autoroot folder on sdcard
2. Install the Terminal Emulator app from the Marketplace
3. Open the Terminal Emulator app and type the following commands exactly, one at a time, hitting enter at the end of the line:
Code:
cat > /sdcard/autoroot/autoroot.sh /data/local/tmp/autoroot.sh
chmod 755 /data/local/tmp/autoroot.sh
cd /sdcard/autoroot/
./data/local/tmp/autoroot.sh
Click to expand...
Click to collapse
All credit to dasmoover, btw! Thanks, and I hope you don't mind me modifying and repackaging your tool. Just trying to help get it working.

BTW, here are some good goodies on how this root exploit works for the technical and curious:
I'd read this one first: http://intrepidusgroup.com/insight/2010/09/android-root-source-code-looking-at-the-c-skills/
And this one second:
http://dtors.org/2010/08/25/reversing-latest-exploid-release/

How did you get rid of the $ sign and get a # ? When I type the first line with the ca it sayd directory can't be found.
Sent From SK4G

I copied the new cat version onto my device and did the following:
$ chmod 755 /sdcard/autoroot/autoroot.sh
Unable to chmod /sdcard/autoroot/autoroot.sh: Operation not permitted
$ cat /sdcard/autoroot/autoroot.sh > /data/local/tmp/autoroot.sh
Cannot create /data/local/tmp/autoroot.sh: permission denied
So, I'm still stuck since /data/local/tmp isn't writable. (Also, you'll note I fixed the small error in the cat line I used.)

Ace42 said:
How did you get rid of the $ sign and get a # ? When I type the first line with the ca it sayd directory can't be found.
Sent From SK4G
Click to expand...
Click to collapse
So, the # means root. The $ means not root. The whole point of this is to get the #, which indicates a root prompt.
If it says the directory can't be found then either the command was typed incorrectly or the files are in the wrong place. The files have to be in the exact right places with the exact right names.
Download my modified version:
http://notfine.com/android/sk4g/autoroot-V01b-sfb.zip
Unzip it, and it should give you a folder called "autoroot". Inside that should be four files:
autoroot.sh
rageagainstthecage-arm5.bin
su
Superuser.apk
Make sure there is only a folder named "autoroot" with those four files inside. If there is another directory inside it won't work. If the names are at all different it won't work.
Copy this "autoroot" folder to the top level of your SD card. There should be other folders there like Music, DCIM, Playlists, and Android. Maybe some others. Make sure it's at the very top level, along with these other directories.
Here, take a look at my directory structure:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(Yes, I'm on a Mac, but your SK and Android don't care. File locations work the same on Windows or Linux or whatever. Also, I may have some folders you don't have. That's ok.)
Next, eject your SK, turn off USB Storage mode, and unplug it from your computer. **I forgot this part earlier! It's important.**
Then open up Terminal Emulator an your SK4G. Type:
Code:
cd /sdcard/autoroot
Then type:
Code:
ls
This should list the same four files above. If it does, you're ready to start the instructions I posted previously.
If it doesn't, type:
Then type:
Code:
ls /sdcard/
Let me know what it says.

jarrodlombardo said:
I copied the new cat version onto my device and did the following:
$ chmod 755 /sdcard/autoroot/autoroot.sh
Unable to chmod /sdcard/autoroot/autoroot.sh: Operation not permitted
$ cat /sdcard/autoroot/autoroot.sh > /data/local/tmp/autoroot.sh
Cannot create /data/local/tmp/autoroot.sh: permission denied
So, I'm still stuck since /data/local/tmp isn't writable. (Also, you'll note I fixed the small error in the cat line I used.)
Click to expand...
Click to collapse
Yeah, I've confirmed this problem.
Folks, this thing won't work right now. We need a location that is both writable and allows execution. Any ideas?
(To confirm, you can still root by using adb to manually put these files at /data/local/tmp/ For some reason, adb has rights to this location. However, the standard Terminal Emulator does not. This is only a hang-up for on-device rooting, not rooting in general.)

sofauxboho said:
Yeah, I've confirmed this problem.
Folks, this thing won't work right now. We need a location that is both writable and allows execution. Any ideas?
Click to expand...
Click to collapse
I've poked around some and not found anywhere yet. :/

Related

help rooting CDMA Hero on windows 7 64 bit

I have been following the unlock instructions on these posts on how to unlock the Hero, but I am having some trouble. When to comes to making the adb shell, it just doesn't do it. It shows a dollar sign and says that the request is denied. I just don't get what I'm doing wrong. Are there extra steps for me because there are x86 files? If I have to put the android sdk into the program files x86 folder, how would I enter that into the commander? Any help would be appreciated guys, this is driving me crazy.
OK so you get to the dollar sign. What do you do then?
Kamar234 said:
I have been following the unlock instructions on these posts on how to unlock the Hero, but I am having some trouble. When to comes to making the adb shell, it just doesn't do it. It shows a dollar sign and says that the request is denied. I just don't get what I'm doing wrong. Are there extra steps for me because there are x86 files? If I have to put the android sdk into the program files x86 folder, how would I enter that into the commander? Any help would be appreciated guys, this is driving me crazy.
Click to expand...
Click to collapse
Just extract the sdk so its a folder. Then go to Start->Run-> type cmd.exe in the box that opens. Now navigate to where you extracted the sdk folder. If you extracted it straight onto the c:\ drive at top level, you'd do something like this:
Code:
cd c:\android-sdk\tools
That will get you into the directory that has adb.exe
Now follow the instructions in the "how to root" thread.
I can get down to the point where I execute the adp push and all the lines come up saying that the adp is restarted and there is obviously a command that is executed.
adb shell
chmod 0755 /data/local/asroot2
this part is when it says access is denied. I follow everything perfectly, but I just don't get it.
Oh, easy.
Type "su" and hit enter.
The dollar sign prompt indicates you are running as a regular user. Run su and it will give you a # prompt indicating you are running as root.
Then do the chmod.
It specifically says after entering this line
/data/local/asroot2 /system/bin/sh
system cannot find the path specified. Any ideas?
so when the dollar sign comes up, just type su and hit enter, that's it?
Kamar234 said:
It specifically says after entering this line
/data/local/asroot2 /system/bin/sh
system cannot find the path specified. Any ideas?
Click to expand...
Click to collapse
Are you sure the asroot2 file has been copied over to your phone? What I did is extract asroot2 into the tools folder, so that I could just say adb push asroot2 /data/local/
My suggestion is to make sure the file is in /data/local/
Also, here is the full thing taken from the other thread:
Code:
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
Yup, I put it in the tool folder within the android sdk. I am using the 1.5 sdk as well.
I just really can't understand what I'm doing wrong
Do:
ls -al /data/local
Do you see asroot there?
it says not found. I entered it by the dollar sign
Kamar234 said:
it says not found. I entered it by the dollar sign
Click to expand...
Click to collapse
That means the file isn't copied over. You need to do the adb push line again, and make sure it copies the file over.
how do I do that? Is there a something that it does or says to let you know it has copied over?
Kamar234 said:
how do I do that? Is there a something that it does or says to let you know it has copied over?
Click to expand...
Click to collapse
The first line here:
Code:
adb push /directory_you_placed_asroot2/asroot2 /data/local/
That puts the asroot2 file into your phone's /data/local/ directory.
This line gets you into your phone's shell:
Code:
adb shell
AT THIS POINT, you should see a $ dollar sign. This means you are in your phone.
This line will let you check that asroot2 has been copied over:
Code:
ls -al /data/local
This line gives the file you just copied over, permission to execute/run:
Code:
chmod 0755 /data/local/asroot2
This line runs the file you copied over:
Code:
/data/local/asroot2 /system/bin/sh
This line mounts your file system on your phone as writable:
Code:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
I am also running windows 7 through vmware fusion, do you think that would make a difference.
Kamar234 said:
I am also running windows 7 through vmware fusion, do you think that would make a difference.
Click to expand...
Click to collapse
I don't know, I don't think it should. Can you type everything in and then paste us your results?
Type pwd and hit enter.
What do you see?
Thank you so much for all your help everyone. I think I may have finally gotten it. If I am installing an app that needs root access, will it install at all if the phone isn't rooted?

[Q] adb shell in batch

Hi,
I'm making a batch file (*.bat) for myself to try make some things easier file where I enter commands with adb.exe.
The problem is, any code after 'adb shell' is not executed in the batch.
So if I had a batch with the following:
Code:
adb shell
su
'su' will not be executed and stays at '$'.
It seems like it's too deep for a batch file to enter codes.
I also tried pushing a sh with the same script and run it from adb but then all I get it permission denied.
I have also tried 'adb shell su' without any luck.
Anyone with a solution?
Anyone? Or how about a .rc file that gets su and runs commands...
Sent from my HTC
To execute a script, you can always push your script and then execute it:
Code:
adb push script /sdcard/script
adb shell sh /sdcard/script
As for the commands you have shown, keep in mind that su doesn't simply change the running shell's permissions or the like but creates a new child environment within its own shell. You leave your script and after the new shell has finished, you're back in your old environment and the script continues.
mizch said:
To execute a script, you can always push your script and then execute it:
Code:
adb push script /sdcard/script
adb shell sh /sdcard/script
As for the commands you have shown, keep in mind that su doesn't simply change the running shell's permissions or the like but creates a new child environment within its own shell. You leave your script and after the new shell has finished, you're back in your old environment and the script continues.
Click to expand...
Click to collapse
yes, is there any way to automate the script inside the shell and use exit to finally go back to the batch script.
Can you provide me with an example of what you want to achieve?
To execute shell commands from a batch, it doesn't matter if I have to push a script and execute it. It's so that I get su and automate commands after that. Like flash_image, remount, chmod etc..
you will need to use the 'adb shell command' ad 'sh' files
I am trying to create a unix script file that copies files from /dbdata/databases to another folder as a backup.
When I try running the script in adb shell as SU, I get
cd: can't cd to /dbdata/databases
This is on a rooted Captivate. Any help would be greatly appreciated!
Hi,
su -c "command" should do the job for you. You will need to enclose the whole of the command in quotes however, otherwise su will be expecting the command to execute, doing nothing.
Example: adb shell "su -c 'sqlite3 /data/data/my.db/databases/mydb.db < /sdcard/dump.sql'" (run from a Unix or Windows(?) shell). Notice the use of "" and ''.
(in this case dump.sql contains .dump, for instance)
Of course the sqlite3 command could be placed within another script on the android device.
Hope that helps.
I looked around a bit and found the answer.
The simple answer is, wrap the command
Code:
cp "source" "destination"
in double quotes!
Thank you grindingbob for the adb shell "su -c 'sh /mnt/sdcard/tmp/2.sh'" command.
No probs I was more referring to executing commands as a su without interacting with adb shell.
As a side-note, cp might not be a good idea, unless you're sure no db accessing is taking place at the same time.
I am pretty sure well as sure as a novice can be! The files I am backing up are log files, call history and text message history.
The results from running a unix script which contains
Code:
cp "/dbdata/databases/com.android.providers.contacts/contacts2.db" "/mnt/sdcard/tmp4/contacts2.db"
cp "/dbdata/databases/com.android.providers.telephony/mmssms.db" "/mnt/sdcard/tmp4/mmssms.db"
cp "/dbdata/databases/com.sec.android.provider.logsprovider/logs.db" "/mnt/sdcard/tmp4/logs.db"
are only the logs.db file is copied, the other two are not.
grindingbob said:
No probs I was more referring to executing commands as a su without interacting with adb shell.
As a side-note, cp might not be a good idea, unless you're sure no db accessing is taking place at the same time.
Click to expand...
Click to collapse
Permission issues for *.sh files from ADB
Dear All,
I have a 3.2 device with Root permissions & Busybox.
I created a sample *.sh file, Pushed to SDcard, and gave '777' Permissions. When i Try to run it from ADB shell its not working Any help...
CMD prompt Traces:
Step -1: Created a sh file
cat TAB.sh
#!/bin/sh
cd /data/data/com.android.gallery/shared_prefs
Step -2 Pushed the file to SDcard
# ls -l *.sh
ls -l *.sh
-rw-rw-r-- root sdcard_rw 56 2012-03-13 15:06 SP.sh
-rw-rw-r-- root sdcard_rw 62 2012-03-13 15:05 TAB.sh
Step -3 Gave 777 permission for *.sh files
# chmod 777 *.sh
chmod 777 *.sh
# ls -l
ls -l
-rw-rw-r-- root sdcard_rw 56 2012-03-13 15:06 SP.sh
-rw-rw-r-- root sdcard_rw 62 2012-03-13 15:05 TAB.sh
Execute permission not applied
Tried other operations, dint workout
Step 4 other options:
# chmod +X *.sh
chmod +X *.sh
Bad mode
# chmod +x *.sh
chmod +x *.sh
Bad mode
# chmod u+x *.sh
chmod u+x *.sh
Bad mode
Any Help?

[GUIDE] Basic Unix/Linux command to use with ADB SHELL

I am sure that many of the new people in here are not exactly sure how to use ADB under linux.
So Ive been reading the Evo 3D forum, and I found this really nice guide by vboyz103. You can find the thread HERE
All props go to vboyz103 for creating it, im just sharing it with you guys.
P.S. - I found it in the Android Development forum, so Im putting it in ours. If it does not belong here - MODs - please move it to General.
vboyz103 said:
So I have been reading quite a few threads here on XDA, and the one thing I noticed for noobs to linux/unix world is that they are struggling with some basic command once adb shell is gained. I decided to whip out this quick tutorial to help those noobs out to become more of an expert...like me...lol j/k
Here we go:
Prerequisites:
You must know how to invoke a adb shell command already to drop into your phone.
ALL commands in Unix/Linux are case sensitive
For more details, go to this ADB tutorial (very good one): http://forum.xda-developers.com/showthread.php?t=517874
Let's get going:
Once a shell is gained via adb, let's look at some of the basic commands you can do to navigate around the filesystem. Note: you must remove the double-quotes (") for the actual command.
Code:
"cd" = is change directory
to change to any directory, you type: cd dir_name (where dir_name is a full path)
Example: I want to go to /data/local/tmp in my phone, I would do
cd /data/local/tmp <hit ENTER>
You can also use the ".." to go UP one directory.
Example: I'm in /data/local/tmp and I want to go up to /data folder, a command would be: cd ../.. alternatively, if I do cd .. then i'll drop into /data/local folder instead.
Code:
"ls" = list files/directories
to list files/directories within a folder, the command should be:
ls <hit enter> => this will list all NON-HIDDEN file/directories within your CURRENT directory.
ls /data/local/tmp => this will list all NON-HIDDEN file/directories within /data/local/tmp directory.
ls -l => this will list all NON-HIDDEN file/directories within your CURRENT directory, plus additional details. Consider this is like a "Details" view in Windows Explorer.
ls -a => this will list all files/directories (including hidden files) within your CURRENT directory.
ls -la => this will list all files/directories (including hidden files) within your CURRENT directory, plus details.
Code:
"chmod" = change mode
Goes to wikipedia for more details: https://secure.wikimedia.org/wikipedia/en/wiki/Chmod
Most commonly used modes on android phones are:
"755" or "777".
So if you have a root.sh shell script that you downloaded from XDA, and uploaded to your phone and try to execute it with ./root.sh and it said "Permission denied". That means your script does not have the execute permission. You need to do:
chmod 755 root.sh <hit enter>
[B]IMPORTANT: There is *NO* negative sign (-) in front of the mode bit. So it is NOT chmod -755 root.sh[/B]
If you get a "File or directory not found" error, which means you are chmod-ing a file that doesn't exist in your current directory. To execute a chmod on root.sh in /data/local/tmp you do:
chmod 755 /data/local/tmp/root.sh
If you want to chmod an ENTIRE DIRECTORY and ALL files underneath it you do:
chmod -R 755 /data/local/tmp => this will set /data/local/tmp and ALL files/folders underneath it to be 755.
Code:
"chown" = change ownership
Go to wikipedia for details: https://secure.wikimedia.org/wikipedia/en/wiki/Chown
Most common used chown for android is: "root:root" or "root:shell"
Example: if you want to change ownership of root.sh to root:shell then you do:
chown root:shell root.sh
NOTE: the -R (recursive) option is also available for chown.
chown -R root:shell /data/local/tmp
Code:
"pwd" = print working directory
so when you are within a directory and you want to know which directory you are in, then you issue the command:
pwd <hit enter>
The system will reply back with the currently directory you are in.
I'll try to add more if I think of anything else useful, or if you have suggestions, please feel free to add.
Click to expand...
Click to collapse

[How to] get full ubuntu and your favorite desktop in webtop

Ok, Today I will show how to fully unlock the webtop feature in the Atrix 2, so that you can use your favorite Linux apps and desktop, to be more productive while using webtop.
This will be in several posts to make this easier to read and understand.
There are several requirements I will list here, first:
1) A way to use webtop - The HD, or lapdock, or have completed the webtop mod for the HDMI connection Here
2) This is most important, and if you completed 1, then you most likely have done it, root your Atrix 2
3) A USB SDcard reader. I have the Sandisk imagemagick, but any one you like will do
4) Be able to ADB from your computer to your phone
5) Not afraid of a little command line work
Partition Instructions:
Depending upon your operating system, free software is available so that you can partition and format your device without losing all the data on it.
You will need to get one of the apps / iso images below, I recommend the live iso with gparted on it, just because I am a UNIX/ Linux guy by trade and choice, and this is what I use.
Linux gparted live iso image:
http://gparted.sourceforge.net/livecd.php
Windows MiniTool Partition Wizard:
http://www.partitionwizard.com/free-partition-manager.html
You must create a parition on your SDcard for webtop, as this is is a full Operating System and takes a good bit of space. I made mine around 8GB on my 32GB card, and for the purpose of showing you here, I created a 4GB partition on a spare 16GB card I have. 1GB is the minimum, because that is what is already being used on the Atrix2 and I think it is about 80% full or so.
The partition you create MUST be a primary partition and formated to ext3.
For Windows here are some screen shots from another board that may help, with instructions:
This is what the MiniTool Partition Wizard screen looks like when I have an 8 GB SD card inserted. As you can see, there's currently one single FAT32 partition present.
http://forum.xda-developers.com/attachment.php?attachmentid=651143&d=1310342755
When you right click on the partition, you'll see a Move/Resize option. That's the one you want to select for non-destructive partitioning.
http://forum.xda-developers.com/attachment.php?attachmentid=651144&d=1310342755
At that point, you can select how large you want your partition to be. You want to make sure that the "Unallocated Space Before" stays at 0.00 MB, so that the new partition will be the second one. In my case, I've opted to create a 4 GB partition as the second partition.
http://forum.xda-developers.com/attachment.php?attachmentid=651145&d=1310342755
Once that has been set up, right click on the Unallocated space, then select Create.
http://forum.xda-developers.com/attachment.php?attachmentid=651146&d=1310342766
We're not worried about the warning that Windows throws up, particularly since we know we'll be creating a partition that Windows can't read anyways. So just hit Yes.
http://forum.xda-developers.com/attachment.php?attachmentid=651147&d=1310342766
Create the second partition at the maximum size with the following settings:
Create As: Primary
File System: Ext3
http://forum.xda-developers.com/attachment.php?attachmentid=651148&d=1310342766
After that's done, click on the Apply Changes button.
http://forum.xda-developers.com/attachment.php?attachmentid=651149&d=1310342766
And now you're done! Put the card back into your Atrix2
Now for gparted:
If you are familiar with Linux and know how to use gparted, just resize your FAT32 partition to whatever size you want, then create a partition at least 1GB in size (I recommend 4GB), and make it an EXT3.
Now for the rest that are using the iso here is some info and screen prints:
Launch gparted:
Here is a screen print of my desktop with gparted running:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Now in the upper right corner there is a little drop down that has something like /dev/sda in it, change this to your SDcard, mine was /dev/sdc.
Next right click on the partition in the middle of the screen, it should be surrounded in green, then click Resize/Move:
Then when the next screen comes up, drag the arrow from the left to the middle of the screen to resize the partition, to the size you want, this is in MegaBytes:
Now will have one partition that is ready to resize, and it should look like this, you will click on the "Apply all Operations button":
Then a little window with the percentage will show up and tell you when it is complete, just click the close button when it finishes.
Next you will right click on the unallocated part of the SDcard and click new:
Then you will tell it how big in new size box, I let it do the whole thing at 4GB, then select ext3 in the File system drop down menu:
Then after you click add in the last screen, you will click the "Apply all Operations button" Again:
Now it will show the percentage window again, and when it is complete, click the close button.
Done! Now it should look like this:
Put your SDcard back into your phone now.
Next will be how to copy over some patches and a script that will do a lot more, and a manual way for the brave.
Ok, so now that we are partitioned we can do some real fun stuff, and by fun stuff I mean command line.
I would make sure you are plugged into a power source when you are doing this part, becuase the script will run for a very long time, it is copying 1GB of data to your SDcard, and installing a patch that includes another 100 or so MB of needed programs.
Go get this tarball
IT IS VERY IMPORTANT THAT YOU COPY THIS INTO /data/local ON YOUR PHONE
Copy this to your system with:
adb push webtop_unlock.tar /data/local
Now connect to your phone with ADB
adb shell
su
cd /data/local
tar -xvf webtop_unlock.tar
chmod 755 setup_webtop.sh
sh ./setup_webtop.sh
This will do a whole lot of things, like copy the webtop install to your SDcard, then patch it, so that you can run synaptic and a termial and disable the FACLs and MACLs that Motorola has implemented, so that it is not locked down anymore.
***Note: I only had a chance to run and test this script once, so if it is an issue please let me know nicely in a post here, or PM me, but please copy any errors or get a screen print if you can, so that I know what to fix. Please don't post a reply with it did not work, give me as much info as you can.
After your phone reboots ADB into it again, and do this:
su
mount -o remount, rw /
**take note that you must run the "mount -o remount, rw /" command anytime you reboot your phone because any programs you get thru apt-get or synaptic will error out during installation
Now that you have most of what you need Do this:
Connect to webtop with whatever method you like, HD dock, or lapdock, or TV (you most likely have to have a bluetooth keyboard mouse to use your TV).
Then when the webtop session starts:
Ctrl+Alt+T
When the Terminal launches type this at the command line and hit return
sudo apt-get update
From here, you can run "gksu synaptic" and use the password "test" to start installing various different programs and packages that are normally available on Ubuntu.
Dependencies
Take caution when modding Webtop because there are some dependencies that will break Webtop if they are upgraded such as anything ending in a .mot or anything resembling that.
Credits
Please thank [mbm] for fixing what Motorola took out, without him, none of this would be possible without his patch.
Sogarth for being the pioneer of Webtop hacking.
Now that you can get into synaptic, go find a desktop you like and install it.
I use gnome and I like it, but here is a list of KNOWN working apps, I am sure there are many more, just know some will not work at all.
Working Programs:
OpenOffice
XFCE4
Xchat
LxTerminal
Transmission
lxpanel
rdesktop
VLC Player (Video is choppy)
Gnome-Panel
Evolution Email
Chrome-Browser
Now that you have a desktop you want to run, lets set it up to start for you instead of that launcher at the bottom of the screen now.
After installing your DE of choice thru apt-get or synaptic, navigate on your phone with Root File Explorer to /osh/usr/local/bin/ and open the file "start-oshwt-2.sh" in the text editor and you will be presented with something that looks like this:
#! /bin/sh
### BEGIN INIT INFO
# Provides: start_lxde2.sh
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:
# Short-Description: started by adas user at login
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
. /lib/lsb/init-functions
export `fbcp_dsba`
log_action_msg "Will now start OSHWT 2 scripts"
sfalv -i "/usr/lib/gvfs/gvfs-gdu-volume-monitor"
# start OSHWT 2 scripts
sfalv -i "awn-autostart"
sfalv -i "webtop-panel"
sfalv -i "webtop-wallpaper"
sfalv -i "evbridge"
webtop-wallpaper &
evbridge &
sfalv -i "window_switcher"
system-config-printer-applet >/dev/null 2>/dev/null &
sr-test avahi_start &
# IKXWEBTOP-5690 workaround.
# xkb is broken in 10.10 in that each time a keyboard is connected
# the layout of all other keyboards become the layout of
# the last connected keyboard.
# There is an xorg.conf.d rule that forces all keyboards to
# layout 'us(android)' but for some reason it is not working for
# evfwd. Here we force xkb to work with 'us(android)' so evfwd
# is assigned the right layout.
setxkbmap 'us(android)'
Note:
I highlighted the section you are interested in in Blue.
The sfalv -i "awn-autostart" command might also bin the file /osh/usr/local/bin/start-oshwt-1.sh
From here, if you comment out the sfalv -i "awn-autostart", then add to the script sfalv -i "xfdesktop" and sfalv -i "xfce4-panel" if you installed xfce4 or whatever Desktop environment you installed. If you followed this, your script should look like this:
#! /bin/sh
### BEGIN INIT INFO
# Provides: start_lxde2.sh
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:
# Short-Description: started by adas user at login
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
. /lib/lsb/init-functions
export `fbcp_dsba`
log_action_msg "Will now start OSHWT 2 scripts"
sfalv -i "/usr/lib/gvfs/gvfs-gdu-volume-monitor"
# start OSHWT 2 scripts
#sfalv -i "awn-autostart"
sfalv -i "webtop-panel"
sfalv -i "xfdesktop"
sfalv -i "xfce4-panel"
#sfalv -i "webtop-wallpaper"
#sfalv -i "evbridge"
webtop-wallpaper &
evbridge &
sfalv -i "window_switcher"
system-config-printer-applet >/dev/null 2>/dev/null &
sr-test avahi_start &
# IKXWEBTOP-5690 workaround.
# xkb is broken in 10.10 in that each time a keyboard is connected
# the layout of all other keyboards become the layout of
# the last connected keyboard.
# There is an xorg.conf.d rule that forces all keyboards to
# layout 'us(android)' but for some reason it is not working for
# evfwd. Here we force xkb to work with 'us(android)' so evfwd
# is assigned the right layout.
setxkbmap 'us(android)'
Hiya Jim! Thanks for posting this!
Question:
So with this it says you have to have a bluetooth keyboard and mouse for use with a TV. Did they disable the onscreen keyboard and mouse then?
voodoomurphy said:
Hiya Jim! Thanks for posting this!
Question:
So with this it says you have to have a bluetooth keyboard and mouse for use with a TV. Did they disable the onscreen keyboard and mouse then?
Click to expand...
Click to collapse
If you use the webtop patch for connecting to a tv, I THINK you can still use the touch screen on the phone for keyboard and mouse, but I will be real honest, I have not tried it, since I have the HD dock and I have used a lapdock or two to play with.
Jim,
I gparted my **** the other day and made a 4 gig partition called Linux, but when I ran the script I got this:
done. Sit back this will all take a while. ==========================================================
Finding the partition you setup and formatted to ext3....
Copying the scripts that will mount the osh partition on your sdcard at every boot.
Copied mountosh into place
stat: cannot stat '/tmp/osh': No such file or directory
Mounting your sdcard linux partition so that we can copy over the wetop install to it
link_image[1964]: 10279 could not load needed library 'liblog.so' for '/system/bin/mount' (link_image[1964]: 10279 could not load needed library 'libgcc_s.so.1' for 'liblog.so' (load_library[1106]: Library 'libgcc_s.so.1' not found))CANNOT LINK EXECUTABLE
[: 45881: unknown operand
Your SD card did not mount properly; Please send the log to the author of this script
[email protected]:/data/local# Chris-Murphys-MacBook-Pro:~ chrismurphy$
and now the web top will not load to my TV. I am using the hdmi hack for that. Thoughts?
voodoomurphy said:
Jim,
I gparted my **** the other day and made a 4 gig partition called Linux, but when I ran the script I got this:
done. Sit back this will all take a while. ==========================================================
Finding the partition you setup and formatted to ext3....
Copying the scripts that will mount the osh partition on your sdcard at every boot.
Copied mountosh into place
stat: cannot stat '/tmp/osh': No such file or directory
Mounting your sdcard linux partition so that we can copy over the wetop install to it
link_image[1964]: 10279 could not load needed library 'liblog.so' for '/system/bin/mount' (link_image[1964]: 10279 could not load needed library 'libgcc_s.so.1' for 'liblog.so' (load_library[1106]: Library 'libgcc_s.so.1' not found))CANNOT LINK EXECUTABLE
[: 45881: unknown operand
Your SD card did not mount properly; Please send the log to the author of this script
[email protected]:/data/local# Chris-Murphys-MacBook-Pro:~ chrismurphy$
and now the web top will not load to my TV. I am using the hdmi hack for that. Thoughts?
Click to expand...
Click to collapse
ok adb in and remove the files you used.
Code:
adb shell
cd /data/local
rm setup_webtop.sh
rm mountosh
rm mountosh1
rm unlock_webtop.tar
rm webtop_setup.log
mount -o remount, rw /system
cd /system/bin
rm mountosh
mv mountosh.orig mountosh
cd /data/local
mount -o remount, rw /system
End Code
Then go download the tarball again from the link in the OP (I made a slight change in the script that should fix the error about stating the /tmp/osh directory), and do the instructions in OP again.
jimbridgman said:
ok adb in and remove the files you used.
Code:
adb shell
cd /data/local
rm setup_webtop.sh
rm mountosh
rm mountosh1
rm unlock_webtop.tar
rm webtop_setup.log
mount -o remount, rw /system
cd /system/bin
rm mountosh
mv mountosh.orig mountosh
cd /data/local
mount -o remount, rw /system
End Code
Then go download the tarball again from the link in the OP (I made a slight change in the script that should fix the error about stating the /tmp/osh directory), and do the instructions in OP again.
Click to expand...
Click to collapse
ok so when I tried to rm mountosh it gave me permissions denied.
EDIT** Ahh, I needed to be su after going into dab
Edit***: Jim When I try to run the webtop SH file I get this:
[email protected]:/data/local# sh ./setup_webtop.sh
./setup_webtop.sh: 116: Syntax error: "}" unexpected (expecting "fi")
[email protected]:/data/local#
voodoomurphy said:
ok so when I tried to rm mountosh it gave me permissions denied.
EDIT** Ahh, I needed to be su after going into dab
Edit***: Jim When I try to run the webtop SH file I get this:
[email protected]:/data/local# sh ./setup_webtop.sh
./setup_webtop.sh: 116: Syntax error: "}" unexpected (expecting "fi")
[email protected]:/data/local#
Click to expand...
Click to collapse
Ok, I found the issue, I forgot to close out a new if loop I had to add to fix the last issue.
I have updated it, go re download and remove the files in /data/local
check to make sure that there is not a /system/mountosh.orig,
if there is, move it back to mountosh, and remove the mountosh script ONLY if there is a mountosh.orig. I am guessing that there is not one since this most likely did not run at all.
P.S. I can't test it, since I don't have my replacement phone yet, they did not have any in stock at the repair center, so Motorola had to send me a new one on Sat. I should have it tomorrow or Wed. at the latest, I will have to do all of these things again, and I can test it then is depth a little more. Otherwise if you don't mind Being the guinea pig I will fix any issues ASAP.
jimbridgman said:
Ok, I found the issue, I forgot to close out a new if loop I had to add to fix the last issue.
I have updated it, go re download and remove the files in /data/local
check to make sure that there is not a /system/mountosh.orig,
if there is, move it back to mountosh, and remove the mountosh script ONLY if there is a mountosh.orig. I am guessing that there is not one since this most likely did not run at all.
P.S. I can't test it, since I don't have my replacement phone yet, they did not have any in stock at the repair center, so Motorola had to send me a new one on Sat. I should have it tomorrow or Wed. at the latest, I will have to do all of these things again, and I can test it then is depth a little more. Otherwise if you don't mind Being the guinea pig I will fix any issues ASAP.
Click to expand...
Click to collapse
Well Now I get this when I try to open the sh file:
[email protected]:/data/local# sh ./setup_webtop.sh
.: Can't open /osh/upath.sh
[email protected]:/data/local#
I'll Keep trying as long as you think it's fixable. Last thing I want is to lose my web top entirely.
EDIT**: Right now when I connect my phone to my monitor I get a moving Motorola logo like it's a screen saver.
voodoomurphy said:
Well Now I get this when I try to open the sh file:
[email protected]:/data/local# sh ./setup_webtop.sh
.: Can't open /osh/upath.sh
[email protected]:/data/local#
I'll Keep trying as long as you think it's fixable. Last thing I want is to lose my web top entirely.
EDIT**: Right now when I connect my phone to my monitor I get a moving Motorola logo like it's a screen saver.
Click to expand...
Click to collapse
It is fixable! I used to be a system admin, (before I switched to consulting and system architecture) and you can always fix it until it no longer boots.
when you ran the script, did fully run and did you see files being copied, and did it reboot your phone?
ok, now I need you to run a few commands and collect some data. post the output here, after you get it.
Code:
adb shell
su
/system/bin/fdisk -l /dev/block/mmcblk0 | grep -i linux
busybox df -h
ls -l /system/mountosh
ls -l /system/mountosh.orig
cd /osh
cd /osh/etc
ls -l
End Code
I am suspecting that the script somehow applied the patch, and the FACLs and MACLs are still in place.
If things look good, then we will try and move tomoyo out of the way.
jimbridgman said:
It is fixable! I used to be a system admin, (before I switched to consulting and system architecture) and you can always fix it until it no longer boots.
when you ran the script, did fully run and did you see files being copied, and did it reboot your phone?
ok, now I need you to run a few commands and collect some data. post the output here, after you get it.
Code:
adb shell
su
/system/bin/fdisk -l /dev/block/mmcblk0 | grep -i linux
busybox df -h
ls -l /system/mountosh
ls -l /system/mountosh.orig
cd /osh
cd /osh/etc
ls -l
End Code
I am suspecting that the script somehow applied the patch, and the FACLs and MACLs are still in place.
If things look good, then we will try and move tomoyo out of the way.
Click to expand...
Click to collapse
files did copy, but then it all errored out. BTW I went back in and followed your instructions for the partitioning.
here's what I have from the code you asked for:
Chris-Murphys-MacBook-Pro:~ chrismurphy$ adb shell
[email protected]:/$ su
[email protected]:/# /system/bin/fdisk -l /dev/block/mmcblk0 | grep -i linux
/dev/block/mmcblk0p2 33 192864 6170624 83 Linux
[email protected]:/# busybox df -h
Filesystem Size Used Available Use% Mounted on
tmpfs 464.7M 76.0K 464.6M 0% /dev
tmpfs 464.7M 0 464.7M 0% /mnt/asec
tmpfs 464.7M 0 464.7M 0% /mnt/obb
/dev/block/system 477.5M 329.2M 148.3M 69% /system
/dev/block/userdata 4.5G 457.2M 4.1G 10% /data
/dev/block/cache 688.6M 16.7M 671.9M 2% /cache
/dev/block/pds 3.9M 1.1M 2.8M 28% /pds
/dev/block/preinstall
274.7M 23.5M 251.3M 9% /preinstall
/dev/block/vold/179:1
23.8G 4.0G 19.8G 17% /mnt/sdcard
/dev/block/vold/179:1
23.8G 4.0G 19.8G 17% /mnt/secure/asec
df: /mnt/sdcard/.android_secure: Invalid cross-device link
/mnt/sdcard 23.8G 4.0G 19.8G 17% /mnt/sdcard
/dev/block/dm-0 3.0M 1.8M 1.2M 60% /mnt/asec/com.ea.worms_na-1
[email protected]:/# ls -l /system/mountosh
/system/mountosh: No such file or directory
[email protected]:/# ls -l /system/mountosh.orig
/system/mountosh.orig: No such file or directory
[email protected]:/# cd /osh
[email protected]:/osh# cd /osh/etc
cd: can't cd to /osh/etc
[email protected]:/osh# ls -l
[email protected]:/osh# ls
[email protected]:/osh#
voodoomurphy said:
files did copy, but then it all errored out. BTW I went back in and followed your instructions for the partitioning.
here's what I have from the code you asked for:
Chris-Murphys-MacBook-Pro:~ chrismurphy$ adb shell
[email protected]:/$ su
[email protected]:/# /system/bin/fdisk -l /dev/block/mmcblk0 | grep -i linux
/dev/block/mmcblk0p2 33 192864 6170624 83 Linux
[email protected]son:/# busybox df -h
Filesystem Size Used Available Use% Mounted on
tmpfs 464.7M 76.0K 464.6M 0% /dev
tmpfs 464.7M 0 464.7M 0% /mnt/asec
tmpfs 464.7M 0 464.7M 0% /mnt/obb
/dev/block/system 477.5M 329.2M 148.3M 69% /system
/dev/block/userdata 4.5G 457.2M 4.1G 10% /data
/dev/block/cache 688.6M 16.7M 671.9M 2% /cache
/dev/block/pds 3.9M 1.1M 2.8M 28% /pds
/dev/block/preinstall
274.7M 23.5M 251.3M 9% /preinstall
/dev/block/vold/179:1
23.8G 4.0G 19.8G 17% /mnt/sdcard
/dev/block/vold/179:1
23.8G 4.0G 19.8G 17% /mnt/secure/asec
df: /mnt/sdcard/.android_secure: Invalid cross-device link
/mnt/sdcard 23.8G 4.0G 19.8G 17% /mnt/sdcard
/dev/block/dm-0 3.0M 1.8M 1.2M 60% /mnt/asec/com.ea.worms_na-1
[email protected]:/# ls -l /system/mountosh
/system/mountosh: No such file or directory
[email protected]:/# ls -l /system/mountosh.orig
/system/mountosh.orig: No such file or directory
[email protected]:/# cd /osh
[email protected]:/osh# cd /osh/etc
cd: can't cd to /osh/etc
[email protected]:/osh# ls -l
[email protected]:/osh# ls
[email protected]:/osh#
Click to expand...
Click to collapse
Ok, I see one issue, I think I miss-typed on location in those commands...
Run this for me.
Code:
adb shell
su
ls -l /system/bin/mountosh
ls -l /system/bin/mountosh.orig
End Code
show that to me...
It looks like /osh just is not mounted or the mountosh script is missing... That is easy to fix, at worst case if it is not there, that I can get for you when I get my replacement today or tomorrow.
jimbridgman said:
You are missing the script to mount the /osh parition completely that is why everything is not working. That means that right now, Android can't see anything on that partition, either the one you created or the one that ships with the phone.
About the best thing I can do right now is to have you hang tight until I have my replacement in hand and I can get a copy of the original mountosh file for you, so that the /osh parition will mount up again, that is a very easy fix for all this. Once I have that for you I will give you instructions on what to do to get you back up and running.
I was hoping that is all it was.
It looks like when you were cleaning up after one of the script runs you removed the mountosh.orig instead of moving it back to mountosh.
Click to expand...
Click to collapse
crap. User error strikes again. No Worries Jim, I will wait patiently. I wish there was a way to restore the whole phone to stock including the OSH info. Resetting up my phone prefs is damned easy. lol
voodoomurphy said:
crap. User error strikes again. No Worries Jim, I will wait patiently. I wish there was a way to restore the whole phone to stock including the OSH info. Resetting up my phone prefs is damned easy. lol
Click to expand...
Click to collapse
Wait I edited my post after you read it... I misread, re read.... oh well, here, twas my issue..
Ok, I see one issue, I think I miss-typed on location in those commands...
Run this for me.
Code:
adb shell
su
ls -l /system/bin/mountosh
ls -l /system/bin/mountosh.orig
End Code
show that to me...
It looks like /osh just is not mounted or the mountosh script is missing... That is easy to fix, at worst case if it is not there, that I can get for you when I get my replacement today or tomorrow.
jimbridgman said:
Wait I edited my post after you read it... I misread, re read.... oh well, here, twas my issue..
Ok, I see one issue, I think I miss-typed on location in those commands...
Run this for me.
Code:
adb shell
su
ls -l /system/bin/mountosh
ls -l /system/bin/mountosh.orig
End Code
show that to me...
It looks like /osh just is not mounted or the mountosh script is missing... That is easy to fix, at worst case if it is not there, that I can get for you when I get my replacement today or tomorrow.
Click to expand...
Click to collapse
[email protected]:/# ls -l /system/mountosh
/system/mountosh: No such file or directory
[email protected]:/# ls -l /system/mountosh.orig
/system/mountosh.orig: No such file or directory
[email protected]:/#
here's an LS of the directory:
[email protected]:/# ls
cdrom
misc
pds
config
cache
sdcard-ext
sdcard
acct
tmp
preinstall
osh
mnt
vendor
d
etc
ueventd.rc
ueventd.mapphone_umts.rc
ueventd.mapphone_cdma.rc
ueventd.goldfish.rc
system
sys
sbin
proc
init_prep_keypad.sh
init.rc
init.mapphone_umts.rc
init.mapphone_cdma.rc
init.goldfish.rc
init
default.prop
data
bin
root
dev
[email protected]:/#
voodoomurphy said:
[email protected]:/# ls -l /system/mountosh
/system/mountosh: No such file or directory
[email protected]:/# ls -l /system/mountosh.orig
/system/mountosh.orig: No such file or directory
[email protected]:/#
here's an LS of the directory:
[email protected]:/# ls
cdrom
misc
pds
config
cache
sdcard-ext
sdcard
acct
tmp
preinstall
osh
mnt
vendor
d
etc
ueventd.rc
ueventd.mapphone_umts.rc
ueventd.mapphone_cdma.rc
ueventd.goldfish.rc
system
sys
sbin
proc
init_prep_keypad.sh
init.rc
init.mapphone_umts.rc
init.mapphone_cdma.rc
init.goldfish.rc
init
default.prop
data
bin
root
dev
[email protected]:/#
Click to expand...
Click to collapse
I did the same thing.... take a look again.
it is....
Code:
adb shell
su
ls -l /system/bin/mountosh
ls -l /system/bin/mountosh.orig
End Code
I typed it wrong the first time....
jimbridgman said:
I did the same thing.... take a look again.
it is....
Code:
adb shell
su
ls -l /system/bin/mountosh
ls -l /system/bin/mountosh.orig
End Code
I typed it wrong the first time....
Click to expand...
Click to collapse
[email protected]:/# ls -l /system/bin/mountosh
/system/bin/mountosh: No such file or directory
[email protected]:/# ls -l /system/bin/mountosh.orig
/system/bin/mountosh.orig: No such file or directory
[email protected]:/#
voodoomurphy said:
[email protected]:/# ls -l /system/bin/mountosh
/system/bin/mountosh: No such file or directory
[email protected]:/# ls -l /system/bin/mountosh.orig
/system/bin/mountosh.orig: No such file or directory
[email protected]:/#
Click to expand...
Click to collapse
Ok, so then they really are not there... So, Sit tight I will get the original mountosh that they ship on my replacement, and get it uploaded for you, then you can run the script again... that is why all the errors happened, since /osh was not mounted, from the original ( do alot of tests for it to be there in my script), and it could not mount since the script that does this was not there, nor the one I hacked to mount our partition over the default one.

[GUIDE] Rooting Samsung Galaxy [email protected] GT-B5330

This might work on other devices.
WARNING: this might brick your phone use it at your own risk.
Warning you have to have some knowlage of linux to do this kind of stuff.
WARNING: actually you have to have _good_ knowlage of linux/gnu stuff to do it.
The idea is this is to make the /system/bin/toolbox from the stock rom suid (permision 6755, it originaly has 0755)
This is how I did it. It might be simpler.
get a stock rom that you want. for me it was B5330XWALH3
it is now available at samsung-updates.
You need odin (heimdal will not work with my phone) (my was 3.07)
unpack the zip.
you get a .tar.md5 file (the tar file has broken headers so tar from ubuntu 12.04 will not unpackit).
the tar file works in sectors of 512 bytes.
take out the md5sum at the end of file. (some thing like: head -c (the size up to the last md5sum) original.tar.md5 > file1)
split the file so you will have the system.img.md5 separated (some thing like: head -c (the size upto "system.img.md5") file1 > file2;
head -c (the size upto "dt-blob.md5") file1 | tail -c +(the size upto "system.img.md5" + 1) > file3;
tail -c +(the size upto "dt-blob.md5" + 1) file1 > file4
file3 now has the system.img.md5, trim the md5sum from the tail and the tar headr from head (ex.:
head -c (upto the md5sum output from the rear of the file) file3 | tail -c +513 > file5)
file5 is a sparce image file of an ext4 filesystem. run simg2img (from ext4fs_utils (search on xda)) (ex.:
simg2img file5 file6)
sudo mount -o loop,ro file6 /mnt
look for the file /mnt/bin/toolbox (ex.: ls -l /mnt/bin/toolbox) it will give you an output like this:
-rwxr-xr-x 1 root 2000 99068 Aug 9 07:59 /mnt/bin/toolbox
sudo umount /mnt
the permisions and the size of the file yield the following hex sequence that you get in the file (we will hexedit the ext4 fs): ED 81 00 00 FC 82 01 00
in file3 edit the sequence (it should be only one in the file) from ED 81 00 00 FC 82 01 00 to ED 8D 00 00 FC 82 01 00 (practically adding the suid guid bits to the inode of the toolbox)
we are almost done, now to pack our bags and go.
verify that you have indeed put suid guid to toolbox:
head -c (upto the md5sum output from the rear of the file) file3 | tail -c +513 > file5;
simg2img file5 file6;
sudo mount -o loop,ro file6 /mnt;
ls -l /mnt/bin/toolbox
It should give an output:
-rwsr-sr-x 1 root 2000 99068 Aug 9 07:59 /mnt/bin/toolbox
sudo umount /mnt
recalculate the md5sum to the _expanded_ image: md5sum file6 > file7
overide the md5sum at the end of file3 with the one from file7
now pack the pieces in one tar: cat file2 file3 file4 > myfirmware.tar
add the md5sum to it: md5sum myfirmware.tar >> myfirmware.tar
change the name to .tar.md5: mv myfirmware.tar myfirmware.tar.md5
copy the file on a windowze machine (that has odin and the samsung drivers intalled).
update with odin the new firmware (which you should put in the PDA section) (don't forget to un check the repartitioning).
you should have now a practivally rooted device.
in order to have su and Superuser.apk on it you have to do the following steps:
push with adb su, busybox and Superuser.apk into /data/local/tmp on device (you get the files from other forums here at xda)
the next steps are on device (use adb shell)
verify that indeed we have a suid toolbox: ls -l /system/bin/toolbox should give that wanderfull -rwsr-sr-x permission.
find a rw mount that has suid (in my case a tmpfs is mounted /mnt/obb)
copy su to /mnt/obb (remember that we have suid toolbox this means that toolbox now gives you root on any command):
dd if=/data/local/tmp/su of=/mnt/obb/su
give su suid and make it owned by root: chmod 6755 /mnt/obb/su; chown 0.0 /mnt/obb/su
run su now and enjoy the #: /mnt/obb/su -
Click to expand...
Click to collapse
Ofcorse after you get # you should remount /system as rw, copy su in /system/xbin, copy Superuser.apk in /system/app, copy busybox in /system/xbin, make symlinks to busybox for all the comands in /system/xbin.
You should also upon success remove suid from toolbox so as to not mistakely do damage to the system (for instance "rm /")
And here you have it.
If you do not understand what I have done, you should read more linux / tar / ext4 / md5sum.
This method should work for any phone provided that it has odin as bootloader and there is the stock rom available.
hello
I don't have knowledge about how you have rooted the firmware for b5330, the steps you made are waaaay to dificult for me . Could you provide here an already rooted firmware, to download and install. thanks in advance
ETTT said:
This might work on other devices.
WARNING: this might brick your phone use it at your own risk.
Warning you have to have some knowlage of linux to do this kind of stuff.
WARNING: actually you have to have _good_ knowlage of linux/gnu stuff to do it.
The idea is this is to make the /system/bin/toolbox from the stock rom suid (permision 6755, it originaly has 0755)
This is how I did it. It might be simpler.
Ofcorse after you get # you should remount /system as rw, copy su in /system/xbin, copy Superuser.apk in /system/app, copy busybox in /system/xbin, make symlinks to busybox for all the comands in /system/xbin.
You should also upon success remove suid from toolbox so as to not mistakely do damage to the system (for instance "rm /")
And here you have it.
If you do not understand what I have done, you should read more linux / tar / ext4 / md5sum.
This method should work for any phone provided that it has odin as bootloader and there is the stock rom available.
Click to expand...
Click to collapse
bogdan_rize said:
I don't have knowledge about how you have rooted the firmware for b5330, the steps you made are waaaay to dificult for me . Could you provide here an already rooted firmware, to download and install. thanks in advance
Click to expand...
Click to collapse
no need to upload 400M for this little modification.
I'm unable to post links, goto samsung-updates
go and download B5330XWALI2_B5330OXXALI2_B5330XWLH1_HOME stock firmware.
and apply this xdelta patch over it.
xdelta patch sGTB5330.patch B5330XWALI2_B5330OXXALI2_B5330XWLH1_HOME.tar.md5 myfrm.tar.md5
Click to expand...
Click to collapse
after that you have the firmware that I use to root my phone.
Still... this firmware will not have "su" install, it will just be a rootable firware because it has a suid'ed toolbox.
a suid'ed toolbox in android means that you can exec chown and chmod as a root.
So. After the patching of the stock rom and flashing it. you have to have this md5sum output:
032b4344ab503c8413db9127efaa3d83 myfrm.tar.md5
Click to expand...
Click to collapse
odin will accept it (I've used Oding 3.07).
after that you push the files from the attached tar.gz to /data/local/tmp
tar -xzf superuser_stuff.tar.gz
adb push su /data/local/tmp
adb push Superuser.apk /data/local/tmp
adb push busybox /data/local/tmp
Click to expand...
Click to collapse
after that you bassically have to run this commands in an android shell in order to get to a stardard rooted android:
adb shell # enter the in the phone
dd if=/data/local/tmp/su of=/mnt/obb/su # copy the su binary to a place that can be sudoed
chown 0.0 /mnt/obb/su # modify the owner
chmod 6755 /mnt/obb/su # set SUID flag.
/mnt/obb/su # becomes root !!
mount -o remount,rw /system # remount the system partition as readwrite.
dd if=/data/local/tmp/su of=/system/xbin/su #copy su in path
chown 0.0 /system/xbin/su
chmod 6755 /system/xbin/su
chmod 755 /system/bin/toolbox # close the security hole (toolbox is nologer with SUID)
dd if=/data/local/tmp/Superuser.apk of=/system/app/Superuser.apk # copy the superuser application
chown 0.0 /system/app/Superuser.apk
chmod 666 /system/app/Superuser.apk
#now this is done for busybox
dd if=/data/local/tmp/busybox of=/system/xbin/busybox
chown 0.0 /system/xbin/busybox
chmod 755 /system/xbin/busybox
Click to expand...
Click to collapse
have fun.
I downloaded this firmware: Samsung-Updates.com-GT-B5330_COA_1_20120913171601_pducfx5hbw.zip. Where, how, what???...i unzipped it and now how to apply the patch? The rest of the stept i think i get it....i think For you it's easy to say, for me it's hard to do. I've had sgs1, sgs2 and sgs3, and the root of those was sooooooo easy... but this piece of crap b5330 drives me crazy )
ETTT said:
no need to upload 400M for this little modification.
I'm unable to post links, goto samsung-updates
go and download B5330XWALI2_B5330OXXALI2_B5330XWLH1_HOME stock firmware.
and apply this xdelta patch over it.
after that you have the firmware that I use to root my phone.
Still... this firmware will not have "su" install, it will just be a rootable firware because it has a suid'ed toolbox.
a suid'ed toolbox in android means that you can exec chown and chmod as a root.
So. After the patching of the stock rom and flashing it. you have to have this md5sum output:
odin will accept it (I've used Oding 3.07).
after that you push the files from the attached tar.gz to /data/local/tmp
after that you bassically have to run this commands in an android shell in order to get to a stardard rooted android:
have fun.
Click to expand...
Click to collapse
bogdan_rize said:
I downloaded this firmware: Samsung-Updates.com-GT-B5330_COA_1_20120913171601_pducfx5hbw.zip. Where, how, what???...i unzipped it and now how to apply the patch? The rest of the stept i think i get it....i think For you it's easy to say, for me it's hard to do. I've had sgs1, sgs2 and sgs3, and the root of those was sooooooo easy... but this piece of crap b5330 drives me crazy )
Click to expand...
Click to collapse
I've used xdelta package.
if you are on win then you're on your own.
there is xdelta.org and it seems to have pachage for windows.
for sgs[123] was easy because are main streams. may hackers were working on it.
this device is very new/obscure.
I whould have made a script, but alas, "heimdal" firmware loader whould not work with this device.
I've used linux to patch the firmware and windowze to upload it.
So a script whould be imposible, but after you pach .tar.md5 file and load it on your phone is just about cut and paste form my previous post.
My hope is that a more android savy guy will take this concept and make it a script.
I am just happy that I can now have debian on my phone.
yes, i am on win....there is no way to patch that COA firmware (i am from romania) and upload somewhere to download???i know i am probably asking to much from you, but i dont't think i will manage by my own...this rooting busines is driving me crazyyyyy :crying::crying::crying: thank you so much for your answer!!!
ETTT said:
I've used xdelta package.
if you are on win then you're on your own.
there is xdelta.org and it seems to have pachage for windows.
for sgs[123] was easy because are main streams. may hackers were working on it.
this device is very new/obscure.
I whould have made a script, but alas, "heimdal" firmware loader whould not work with this device.
I've used linux to patch the firmware and windowze to upload it.
So a script whould be imposible, but after you pach .tar.md5 file and load it on your phone is just about cut and paste form my previous post.
My hope is that a more android savy guy will take this concept and make it a script.
I am just happy that I can now have debian on my phone.
Click to expand...
Click to collapse
bogdan_rize said:
yes, i am on win....there is no way to patch that COA firmware (i am from romania) and upload somewhere to download???i know i am probably asking to much from you, but i dont't think i will manage by my own...this rooting busines is driving me crazyyyyy :crying::crying::crying: thank you so much for your answer!!!
Click to expand...
Click to collapse
ok here it is the modified firmware.
http://dl.transfer.ro/myfrm-transfer_ro-29oct-8a4089.zip
Interesting, reading carefully
Sent from my GT-B5330 using xda app-developers app
Thank you so much, tomorow morning i know how i'll spend my time...installing and rooting my b5330, unfortunately this evening i don't have my laptop on me forgoted at work ), but i've downloaded the firmware from phone and now waiting to have it done...finally!!! I'll let you know what have i done. Have a nice day and once again thanks!!!
ETTT said:
ok here it is the modified firmware.
http://dl.transfer.ro/myfrm-transfer_ro-29oct-8a4089.zip
Click to expand...
Click to collapse
it's not working, when i'm trying to adb remont it says: remount failed: Opertaion not permited. After i flashed with odin the firmware you gave to me, i think i do not have permission to make any changes, and i don't know why
ETTT said:
ok here it is the modified firmware.
http://dl.transfer.ro/myfrm-transfer_ro-29oct-8a4089.zip
Click to expand...
Click to collapse
Can you make patch for dxlh3..? Thanks
Sent from my GT-B5330 using xda app-developers app
bogdan_rize said:
it's not working, when i'm trying to adb remont it says: remount failed: Opertaion not permited. After i flashed with odin the firmware you gave to me, i think i do not have permission to make any changes, and i don't know why
Click to expand...
Click to collapse
There commands are supposed to be given in a command line box (cmd on win).
where does it gives you error?
adb shell # enter the in the phone
dd if=/data/local/tmp/su of=/mnt/obb/su # copy the su binary to a place that can be sudoed
chown 0.0 /mnt/obb/su # modify the owner
chmod 6755 /mnt/obb/su # set SUID flag.
/mnt/obb/su # becomes root !!
mount -o remount,rw /system # remount the system partition as readwrite.
dd if=/data/local/tmp/su of=/system/xbin/su #copy su in path
chown 0.0 /system/xbin/su
chmod 6755 /system/xbin/su
chmod 755 /system/bin/toolbox # close the security hole (toolbox is nologer with SUID)
dd if=/data/local/tmp/Superuser.apk of=/system/app/Superuser.apk # copy the superuser application
chown 0.0 /system/app/Superuser.apk
chmod 666 /system/app/Superuser.apk
#now this is done for busybox
dd if=/data/local/tmp/busybox of=/system/xbin/busybox
chown 0.0 /system/xbin/busybox
chmod 755 /system/xbin/busybox
finally it worked
yeeeees, damn you're good!!!! i have managed to root my b5330, root checher tell me that i am rooted and busybox is instaled...the only problem is that it shows me that i do not have installed superuser and supersu. Is there a problem if i just copy paste the apk file (supersu.apk and superuser.apk -> i've downloaded the pro version of bouth of them ) straight into the directory /data/local/tmp where it should be? or to copy-paste in another directory. Thanks in advance, CMD(and adb shell) gave me headache, but i finally got it an succedeed )) :victory::good:
ETTT said:
There commands are supposed to be given in a command line box (cmd on win).
where does it gives you error?
adb shell # enter the in the phone
dd if=/data/local/tmp/su of=/mnt/obb/su # copy the su binary to a place that can be sudoed
chown 0.0 /mnt/obb/su # modify the owner
chmod 6755 /mnt/obb/su # set SUID flag.
/mnt/obb/su # becomes root !!
mount -o remount,rw /system # remount the system partition as readwrite.
dd if=/data/local/tmp/su of=/system/xbin/su #copy su in path
chown 0.0 /system/xbin/su
chmod 6755 /system/xbin/su
chmod 755 /system/bin/toolbox # close the security hole (toolbox is nologer with SUID)
dd if=/data/local/tmp/Superuser.apk of=/system/app/Superuser.apk # copy the superuser application
chown 0.0 /system/app/Superuser.apk
chmod 666 /system/app/Superuser.apk
#now this is done for busybox
dd if=/data/local/tmp/busybox of=/system/xbin/busybox
chown 0.0 /system/xbin/busybox
chmod 755 /system/xbin/busybox
Click to expand...
Click to collapse
bogdan_rize said:
yeeeees, damn you're good!!!! i have managed to root my b5330, root checher tell me that i am rooted and busybox is instaled...the only problem is that it shows me that i do not have installed superuser and supersu. Is there a problem if i just copy paste the apk file (supersu.apk and superuser.apk -> i've downloaded the pro version of bouth of them ) straight into the directory /data/local/tmp where it should be? or to copy-paste in another directory. Thanks in advance, CMD(and adb shell) gave me headache, but i finally got it an succedeed )) :victory::good:
Click to expand...
Click to collapse
1. I'm glad you got it.
2. You should give thanks (that button) if I helped you.
3. I'm you dont read instructions. Maybe it's a problem with us romanian engineers, or maybe engineers in general
look at item 11. from my previous post. maybe I just c&p here.
dd if=/data/local/tmp/Superuser.apk of=/system/app/Superuser.apk
So, when you are in adb shell and you go root (su command, you get the promt with #) and you have the /system mounted rw.
Then any apk that you copy to /system/app folder will get intalled and when you list your application (the button with 16 squares) you should see it.
Have fun.
i was having trouble understanding adb shell and cmd from the begining. I never used this command tool...ever ) and i think from yesterday to this day i managed really ok . Anyway i think i will just copy-paste the superuser.apk in "app" folder directly in the system (it's the same thing, isn't it??). I have done that in item 11., and after a restart supersu was instaled, only superuser.apk didn't, i think i wrote something wrong in adb shell
ETTT said:
1. I'm glad you got it.
2. You should give thanks (that button) if I helped you.
3. I'm you dont read instructions. Maybe it's a problem with us romanian engineers, or maybe engineers in general
look at item 11. from my previous post. maybe I just c&p here.
dd if=/data/local/tmp/Superuser.apk of=/system/app/Superuser.apk
So, when you are in adb shell and you go root (su command, you get the promt with #) and you have the /system mounted rw.
Then any apk that you copy to /system/app folder will get intalled and when you list your application (the button with 16 squares) you should see it.
Have fun.
Click to expand...
Click to collapse
hihihi
neeeah, my bad, i thought that in "superuser_stuff" is superuser and supersu files, it was just su->for superuser.apk, easy peasy, it worked and installed from the first time...it was just me verry verry dizzy and confused. Your guide is 100% OK, my phone is rooted and now i can enjoy !!!
ETTT said:
1. I'm glad you got it.
2. You should give thanks (that button) if I helped you.
3. I'm you dont read instructions. Maybe it's a problem with us romanian engineers, or maybe engineers in general
look at item 11. from my previous post. maybe I just c&p here.
dd if=/data/local/tmp/Superuser.apk of=/system/app/Superuser.apk
So, when you are in adb shell and you go root (su command, you get the promt with #) and you have the /system mounted rw.
Then any apk that you copy to /system/app folder will get intalled and when you list your application (the button with 16 squares) you should see it.
Have fun.
Click to expand...
Click to collapse
can you release xdelta patch for your XWALH3 because we have the same device..
phyxar said:
can you release xdelta patch for your XWALH3 because we have the same device..
Click to expand...
Click to collapse
I've started a new more universal thread:
http://forum.xda-developers.com/showthread.php?t=1965600
There you have the shell-script that will patch the firmware for you.
If you still want an xdelta patch I'll make one for you but:
Give a man a fish and it will be full for the day, teach him how to fish and it will never go hungry again.
Have fun.
ETTT said:
ok here it is the modified firmware.
dl.transfer.ro/myfrm-transfer_ro-29oct-8a4089.zip
Click to expand...
Click to collapse
Hello, i'm new here and i don't know about scripting, so need your help..
i downloaded your firmware and install it to my b5330 and did the cmd command, and it worked, thanks..:good:
but now i've a new problem that my b5330 can't type a question mark ('?').. can you help me please..
whenever i want to type a question mark it always typed a comma (',') in the screen..:crying:
it also it change the symbol and language key to emoticon and symbol, but that's not a problem for me..
andhikarogue said:
Hello, i'm new here and i don't know about scripting, so need your help..
i downloaded your firmware and install it to my b5330 and did the cmd command, and it worked, thanks..:good:
but now i've a new problem that my b5330 can't type a question mark ('?').. can you help me please..
whenever i want to type a question mark it always typed a comma (',') in the screen..:crying:
it also it change the symbol and language key to emoticon and symbol, but that's not a problem for me..
Click to expand...
Click to collapse
That's because you have use the romanian firmware. whitch has a qwerty layout keyboard.
you have to do it the right way:
first. find the firmaware for your region:
http://samsung-updates.com/device/?id=GT-B5330
second. find a linux machine and run the script from the thread.
It is unrealistic for me to just upload all the 40 version of the firmware patched.
That is why I've made the script.
If you don't have a linux machine then look for a virtual box ubuntu and run on it.
Cheers.

Categories

Resources