shellshock (bash bug) - ONE General

Did a search for this topic, but couldn't find anything.
So if you want to check if your device is affected, just open a terminal app on the device and enter:
Code:
su
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Check with adb:
Code:
adb shell env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
if the output is:
Code:
vulnerable
this is a test
then your device is affected.
There already was a commit in CM's source regarding this problem, but as far as I see, more problems with this were discovered and it is not 100% fixed yet.
But it doesn't seem to be as big of a problem on CM as Joey Hewitt mentioned in the last part of his comment:
Quote:
...
We certainly don't have the problem of bash being the /system/bin/sh shell, right? That's what's so bad for the rest of Linux. I couldn't find any scripts in CM11's /system that explicitly use bash either. You might be able to just remove bash altogether, if you want to avoid future problems (I have a feeling there will be more, but hopefully not as bad.)
Click to expand...
Click to collapse

Related

Where to find an Ubuntu guide to root and remove stock apps on the Hero?

If anyone can post a link to a detailed Ubuntu guide for newbies to root the Hero and remove stock apps, I would appreciate it. The guide posted doesn't go into too much detail in Ubuntu since the OP said that he could not get it to work in Ubuntu. Thanks.
killabee44 said:
If anyone can post a link to a detailed Ubuntu guide for newbies to root the Hero and remove stock apps, I would appreciate it. The guide posted doesn't go into too much detail in Ubuntu since the OP said that he could not get it to work in Ubuntu. Thanks.
Click to expand...
Click to collapse
Wouldnt the Mac version work since they are both *nix?
I was able to root my Sprint HTC hero just fine running Jaunty. I followed the instructions in the guide you mentioned, for Ubuntu. One thing I noticed is before adb recognized my phone, I had to start "HTC Sync" from the phone's notifications. Just ignore the error about it not finding HTC Sync on your PC. Obviously it never will since HTC Sync is a Windows app
Here's the step by step that worked for me: http://romeosidvicious.com/2009/11/09/rooting-the-htc-hero-with-ubuntu-karmic/
I typed it so I could find it easily if necessary and figured why not share it....
romeosidvicious,
Thanks for all your hard work. I and others really appreciate it.
Stevious said:
I was able to root my Sprint HTC hero just fine running Jaunty. I followed the instructions in the guide you mentioned, for Ubuntu. One thing I noticed is before adb recognized my phone, I had to start "HTC Sync" from the phone's notifications. Just ignore the error about it not finding HTC Sync on your PC. Obviously it never will since HTC Sync is a Windows app
Click to expand...
Click to collapse
Yep, that is something I had to do in windows XP as well. It will help many others as well. Thanks.
Stevious said:
I was able to root my Sprint HTC hero just fine running Jaunty. I followed the instructions in the guide you mentioned, for Ubuntu. One thing I noticed is before adb recognized my phone, I had to start "HTC Sync" from the phone's notifications. Just ignore the error about it not finding HTC Sync on your PC. Obviously it never will since HTC Sync is a Windows app
Click to expand...
Click to collapse
Great, now my Ubuntu Jaunty machine won't detect the phone. I did the above but it still won't work. Im gonna reboot and retry...
Edit:
Nope, no love for my Ubuntu. It's not seeing the Hero. I will have to research this one.. If anyone has suggestions, please chime in.
Ok, found a solution:
http://forum.xda-developers.com/showthread.php?t=537508
----------------------------------------------------------------
Here is the part that solved it for me:
Setting up UDEV to recognize HTC Device -
1. Type the following into a terminal (Applications > Accessories > Terminal):
Code:
gksudo gedit /etc/udev/rules.d/51-android.rules
2. Now add the following line to the blank file:
Code:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
3. Click save and close.
4. To restart udev, open up a terminal and enter:
Code:
sudo /etc/init.d/udev restart
---------------------------------------------------------------------
Thanks to Wddglr for all the useful info. It looks like I will be using other things he posted about. Hopefully that info will help someone else.
Just curious, which version of Ubuntu are you running? I didn't have to make any UDEV changes in Jaunty.
romeosidvicious said:
Here's the step by step that worked for me: http://romeosidvicious.com/2009/11/09/rooting-the-htc-hero-with-ubuntu-karmic/
I typed it so I could find it easily if necessary and figured why not share it....
Click to expand...
Click to collapse
I want to follow through with this...
I was following this
http://www.youtube.com/watch?v=ArMO5IHS2eI
until the step came to plug it in and then he suggested typing "adb devices" which told me this.
"~/android-sdk-linux/tools$ adb devices
bash: adb: command not found"
So I came here and I want to follow the links tutorial.. two questions
Is it safe to proceed even though i've been told adb: Command not found
will i be able to proceed although ive been told this command is not found?
Onompoly2 said:
"~/android-sdk-linux/tools$ adb devices
bash: adb: command not found"
So I came here and I want to follow the links tutorial.. two questions
Is it safe to proceed even though i've been told adb: Command not found
will i be able to proceed although ive been told this command is not found?
Click to expand...
Click to collapse
Try:
sudo ./adb devices
From the same directory. Or, you can specify the full path:
sudo ~/android-sdk-linux/tools/adb devices
To answer your other questions, it won't work if it says the command is not found.
Okay
It worked but I must have turned into an idiot when i decided my operating system was good enough.
This isn't working, and I am not even upgraded to the operating system the tutorial is written for...
194 updates due... running 8.04 with a bunch of double half installed broken applications.. maybe I should reformat.
I'll let you guys know how things go which ever way it goes.
back again. fresh 9.10 install fully updated.
Following this
http://romeosidvicious.com/2009/11/09/rooting-the-htc-hero-with-ubuntu-karmic/
I get this far
[email protected]:~# sudo su
[email protected]:~# cd ~/android-sdk-linux/tools
[email protected]:~/android-sdk-linux/tools#
[email protected]:~/android-sdk-linux/tools#
[email protected]:~/android-sdk-linux/tools# ./adb push ../asroot2 /data/local/
711 KB/s (74512 bytes in 0.102s)
[email protected]:~/android-sdk-linux/tools# ./adb shell chmod 0755 /data/local/asroot2
[email protected]:~/android-sdk-linux/tools# /data/local/asroot2 /system/bin/sh
bash: /data/local/asroot2: No such file or directory
[email protected]:~/android-sdk-linux/tools# ./adb shell /data/local/asroot2 /system/bin/sh
[+] Using newer pipe_inode_info layout
Opening: /proc/559/fd/3
SUCCESS: Enjoy the shell.
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cd /system/bin
cat sh > su
chmod 4755 su
reboot
Click to expand...
Click to collapse
It seems as though after it says "SUCCESS" that my terminal just stops responding to code...
Tried reading the link to where he made the tutorial from, but its a mixture of ubuntu and windows with 30 pages of posts.
Any thoughts/help?
Thanks
[Continuing]
So just pretending that everything is going as planned I reboot the phone and it actually turns my computer off as well..
So I continue with the steps.
[email protected]:~# cd ~/android-sdk-linux/tools
[email protected]:~/android-sdk-linux/tools# ./adb push ../recovery-RA-heroc-v1.2.3.img /sdcard/
* daemon not running. starting it now *
* daemon started successfully *
1199 KB/s (3352576 bytes in 2.730s)
[email protected]:~/android-sdk-linux/tools# ./adb shell
$ su
su: permission denied
Click to expand...
Click to collapse
But Get permission denied.
I'm going to go ahead and start over but skip the first line that i input that said SUCCESS and stopped the terminal.
(really don't know what i'm doing but I think I need to get these two lines in
cat sh > su
chmod 4755 su)
EDIT: on second thought perhaps this has something to do with me being logged in as root on my computer from the get go, i'll try that.
A dummy and his cell phone perhaps soon part.
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
cd /system/bin
cat sh > su
chmod 4755 su
reboot
Click to expand...
Click to collapse
It looks like you copy/pasted this whole section as a block. I think you need to execute the commands one at a time, and wait for a new "#" prompt between each one. The reason the terminal stops responding is that as one long string, it's not a meaningful command.
buck2202 said:
It looks like you copy/pasted this whole section as a block. I think you need to execute the commands one at a time, and wait for a new "#" prompt between each one. The reason the terminal stops responding is that as one long string, it's not a meaningful command.
Click to expand...
Click to collapse
I didn't, although i did try that as well
after I would do the mount commands i would no longer get a $ or a # sign, it was just a bunch of nothingness...
I ended up booting up my girlfriends vista and then spent quite a while figuring out how to get the driver for adb, I had to follow two different windows guides for rooting for some reason as well... so if that says anything.. just imagine how long it took me to realize how to get the driver hahah
buck2202 said:
It looks like you copy/pasted this whole section as a block. I think you need to execute the commands one at a time, and wait for a new "#" prompt between each one. The reason the terminal stops responding is that as one long string, it's not a meaningful command.
Click to expand...
Click to collapse
no, I'm having the same problem. After the "mount" command it gives me nothing.
Edit: doing this in karmic
Odd. I've had no problems following the generic procedure from theunlockr on ubuntu. My only suggestion would be to turn
Code:
./adb shell /data/local/asroot2 /system/bin/sh
into
Code:
./adb shell
/data/local/asroot2 /system/bin/sh
I'm not sure why it should make a difference, but on my computer "./adb shell <command>" exits the shell when it finishes. From what you've pasted, it doesn't look like that's happening to you, but that's my only guess right now.
If you run "./adb devices" do you see your serial number?
And out of curiosity, why are you running as root on your computer? (sudo su) Have you tried just starting the adb server as root, and running the rest of the commands normally? Does this work?
Code:
./adb kill-server
sudo ./adb start-server
./adb devices

[Q] Syslog for Android?

I'm trying to start busybox's httpd at boot w/o success. However, I can start it manually post-boot w/o problems. Can I enable a syslog facility so I can see what happens when the bootup script calls it?
Code:
httpd -p 80 -u 80 -h /sdcard/www -c /etc/httpd.conf
I've tried running the process as -u 80 and as -u 0, both work post-boot, not before.
It's Linux - if there is an rc.local you should be able to drop a string in there to make it start.
KaiserLinux said:
It's Linux - if there is an rc.local you should be able to drop a string in there to make it start.
Click to expand...
Click to collapse
Not that simple
There is no rc.local, but I inserted
Code:
/sbin/syslogd -O /data/log/syslog
into the beginning of init.rc, but it logs nothing.
Go into applications and turn on debugging mode. Plug your phone into your computer and run 'adb logcat' or something to that effect. You can play around with your phone and watch the log scroll by.
Your gonna need the whole ADB setup. Go to the samsung epic 4G wiki and check the article about getting root and flashing a new kernel. This will have the instructions for getting ADB on your system as well.
KaiserLinux said:
Go into applications and turn on debugging mode. Plug your phone into your computer and run 'adb logcat' or something to that effect. You can play around with your phone and watch the log scroll by.
Your gonna need the whole ADB setup. Go to the samsung epic 4G wiki and check the article about getting root and flashing a new kernel. This will have the instructions for getting ADB on your system as well.
Click to expand...
Click to collapse
I've compiled my own rooted kernel and a new busybox with syslogd to see if I can diagnose why bb's httpd isn't starting at boot. As I mentioned, it starts manually w/o a problem. adb logcat isn't very useful in this particular situation. Thanks for the reply though.
jocala said:
There is no rc.local, but I inserted
Code:
/sbin/syslogd -O /data/log/syslog
into the beginning of init.rc, but it logs nothing.
Click to expand...
Click to collapse
I'm kind of a noob myself, but I recall reading that init.rc isn't really a shell script. It has a special syntax that is parsed by Android init, I'm not sure just throwing shell commands in there is going to work. I'd post a link to the doc but I can't post links yet
coldguy said:
I'm kind of a noob myself, but I recall reading that init.rc isn't really a shell script. It has a special syntax that is parsed by Android init, I'm not sure just throwing shell commands in there is going to work. I'd post a link to the doc but I can't post links yet
Click to expand...
Click to collapse
Weird, the first 500 lines of init.rc are nothing BUT shell commands.
i.e. chmod 0666 /dev/input/event0
Anyway, further along in init.rc the daemon processes are started up. syntax looks like:
Code:
service playlogo /system/bin/playlogo
user root
oneshot
I've tried setting up my programs (httpd,syslogd) as services, no joy.
jocala said:
Not that simple
There is no rc.local, but I inserted
Code:
/sbin/syslogd -O /data/log/syslog
into the beginning of init.rc, but it logs nothing.
Click to expand...
Click to collapse
sorry to hijack your post.
but i want to know how do you modify the /init.rc,
because when i reboot, the /init.rc will automatic recovery the old verison.
did you check the /init.rc, is it modified, after your phone reboot?
Does logcat not give you the info you want?
You can go here to find out how to redirect stdout and stderr to the logcat as well.
init.rc is part of the root fs, which is compiled into the kernel. So, a custom kernel is required. Search for custom kernel for details.

[HOWTO]: Rooting the Huawei S7 Android 2.2.2 stock

Well this was a bit of a mess!
Firstly updating:
http://forum.xda-developers.com/showthread.php?t=1043349
http://phonedock.net/huawei-ideos-s7-froyo-2-2-2-update.html I followed this nice writeup. Be sure to delete the log file in dload for the second round of the upgrade as your device might, like mine, just blink on and off for a while trying to flash what it thinks it finds is already flashed but what just gives an error!
http://www.androidtablets.net/forum...uawei-ideos-s7-official-firmware-2-2-2-a.html Links to 2.2.2 Brazil which is the best for the 101 apparently, some tests done in that post on which rom work best for which model.
Now,
REMOVE YOUR SDCARD IF ANY! AND REBOOT THE DEVICE ! THIS HACK RELIES HEAVILY ON HIGH STRANGENESS AND SPOOKY ACTION AT A DISTANCE!
Originally i though modifying an ol doroot.sh script to using the psneuter exploit from SuperOneClick i would manage to root the device. Not without some fuzz, no. Firstly i discovered "cp" and many basic fileutils im used to in the world of *nix was missing from the 2.2.2 image kindly provided by Huawei ( The Norwegian Telenor image i might add that the camera on a model 101 will not work with!) so i found an easier way! push push push!
Here's what i did, for convenience ill try making it a script, but be prepared to copy these commands manually instead! For windows simply remove the ./ and add .exe .
Now, to make this work, simply get SuperOneClick from http://shortfuse.org/?page_id=2 and unzip, i used the adb from the google android sdk, but i guess the adb binary that comes with SOC is a simpler route if your just in for a quick root fix. Simply rename the appropriate adb for your system and use this method.
The simplest thing to do i guess is to copy Exploits/psneuter or gingerbreak to the ADB folder (in SuperOneClick's folder) and go on from there, also copy su-v3 (rename it to su) and Superuser.apk from "Root/" to the folder (ADB), or if you choose to, rewrite this "script" with the appropriate paths. Im unsure if the following script will work in every case, so you might want to do it manually, but most should get the drift, if you are not comfortable with this procedure you probably have no business or reason rooting the device in the first place. Disclaimer; if this bricks your device don't blame me, this is a fact of "it worked for me", your results may differ.
Be sure to set your USB mode to "Developer" mode
AND BE ROOT ON YOUR MACHINE!
Code:
#/bin/bash
echo "The BackAsswardsRootScript!\n\n"
echo "Lets start the adb server.\n\n"
./adb kill-server
./adb start-server
echo "Pushing the exploit psneuter onto the device.\n\n"
./adb push psneuter /data/local/tmp/psneuter
./adb shell "chmod 0755 /data/local/tmp/psneuter"
./adb push busybox /data/local/tmp/busybox
./adb shell "chmod 4755 /data/local/tmp/busybox"
echo "Now we run the root exploit.\n\n"
./adb shell "./data/local/tmp/psneuter"
echo "We should be root now, making sure.\n\n"
./adb root
echo "Remointing the FS as RW!\n\n"
./adb shell " /data/local/tmp/busybox mount -o rw,remount /system"
echo "Pushing the system files in place\n"
./adb shell "/data/local/tmp/busybox cp /data/local/tmp/busybox /system/bin/busybox"
./adb push su /system/bin/su
./adb push Superuser.apk /system/app/Superuser.apk
echo "Correct permissions might be nice.\n"
./adb shell "chmod 4755 /system/bin/busybox"
./adb shell "chmod 4755 /system/bin/su"
./adb shell "chmod 755 /system/app/Superuser.apk"
# Lets go back to read only, just for kicks!
echo "Remounting the filesystem as Read-Only\n\n"
./adb shell "busybox mount -o ro,remount -t /system"
echo "You should now be rooted my friend.\n Enjoy!\n"
Please help feed my Linux addiction! Go to http://threader.zapto.org and click Donate!
Rooting S7 using Gingerbreak
Just too inform you. I've just succesfully rooted the Indonesian 2.2.2 running on a
S7-105 using Chainfire's Gingerbreak v1.2.
Cool, theres a gingerbreak exploit in the superoneclick package also, i tried that after i though psneuter didnt work, just a matter of replacing psneuter with gingerbreak. Did you use this method though or did you find some other way?
I didn't change or replace anything. My terminal skills are not on a level to have the guts anyway.
I simply updated from S7V100R001C43B010 to S7v100R001C98B021.
Then ran the Gingerbreak 1.2 exploit.
Interesting, yeah the gingerbreak exploit will work, when i wrote the fist post i used the gingerbreak exploit instead of the psneuter one thinking psneuter didnt work, turns out it did though and i went back to that one as its designed for 2.2.2, didnt know of this wrapper though, thanks!
Just granted su superuser permissions on the Australian s7
Great work. Just noticed a missing final quotation mark:
threader said:
./adb shell "chmod 0755 /data/local/tmp/psneuter
Click to expand...
Click to collapse
Probably works because of the end of line but should be:
./adb shell "chmod 0755 /data/local/tmp/psneuter"
threader said:
Well this was a bit of a mess!
Firstly updating:
http://forum.xda-developers.com/showthread.php?t=1043349
http://phonedock.net/huawei-ideos-s7-froyo-2-2-2-update.html I followed this nice writeup. Be sure to delete the log file in dload for the second round of the upgrade as your device might like mine just blink on and off for a while trying to flash what it finds is already flashed but what just gives an error. !
http://www.androidtablets.net/forum...uawei-ideos-s7-official-firmware-2-2-2-a.html Links to 2.2.2 Brazil which is the best for the 101 apparently, some tests there on which roms work best for which models also.
Now,
REMOVE YOUR SDCARD IF ANY! AND REBOOT THE DEVICE ! THIS HACK RELIES HEAVILY ON HIGH STRANGENESS AND SPOOKY ACTION AT A DISTANCE!
Originally i though modifying an ol doroot.sh script to using the psneuter exploit from SuperOneClick i would manage to root the device. Not without some fuzz, no. Firstly i discovered "cp" and many basic fileutils was missing from the 2.2.2 image kindly provided by Huawei (Norwegian Telenor image, that i might add, the camera on a model 101 will not work with!) soo i found an easier way! push push push!
Heres what i did, for convenience ill try making it a script, but im making it as i type this post so this is untested as a script(!) Be prepared to copy these commands instead!
Now, to make this work, simply get SuperOneClick from http://shortfuse.org/?page_id=2 and unzip, i used the adb from the google android sdk, but i guess the adblinux binary that comes with SOC will work just as well, simply rename it to adb and use this method. The simplest thing to do i guess is copy Exploits/psneuter to the ADB folder (in SuperOneClick's folder) and go from there, also copy su-v3 (and rename it to su) and Superuser.apk from Root to the folder (ADB), or rewrite this "script"/collection of commands i used" with the appropriate paths. Im unsure if the following script will work as is as i said, so you might want to do it manually, but most should get the drift, if not you probably have no business or reason rooting the device in the first place. Disclaimer; if this bricks your device don't blame me, this is a fact of "it worked for me", your results may differ.
Be sure to set your usb mode to Developer mode
BE ROOT!
#/bin/bash
echo "The backasswardsrootscript!\n\n"
echo "Lets start the adb\n\n"
./adb kill-server
./adb start-server
./adb push psneuter /data/local/tmp/psneuter
./adb shell "chmod 0755 /data/local/tmp/psneuter
echo "Now we run the root exploit.\n\n"
./adb shell "./data/local/tmp/psneuter"
echo "Should say we are already root now.\n\n"
./adb root
echo "Remointing the FS as RW!\n\n"
# This really should be /dev/block/mmcblk0p1, i have no idea why this works.
./adb shell "mount -o rw,remount -t ext3 /dev/block/mmcblk1p1 /system"
# Now instead of copying using cp or moving with mv, considering "cp" was missing
# and mv just didnt work for some reason...! I found just pushing the files straight to the
# system after remounting worked just fine
echo "Pushing the system files in place\n"
./adb push su /system/bin/su
./adb push Superuser.apk /system/app/Superuser.apk
./adb push busybox /system/bin/busybox
echo "Correct permissions might be nice.\n"
./adb shell "chmod 4755 /system/bin/busybox
./adb shell "chmod 4755 /system/bin/su"
./adb shell "chmod 755 /system/app/Superuser.apk"
# Lets go back to read only just for kicks!
echo "Remounting the filesystem as Read-Only\n"
./adb shell "mount -o ro,remount -t ext3 /dev/block/mmcblk1p1 /system"
echo "You should be rooted my friend\n Enjoy!\n BE SURE TO DONATE TO SUPERONECLICK!!!"
# One of the main strangenesses i found was the block device was logically enough placed on
# partioton 1, of block1 which really should have been block 0 part 1, but that doesnt work.
# So it boils down to that this shouldnt work but does for no apparent reason(!).
# even /etc/mtab says that mmcblk0p1 is mounted to a non existent /mnt/dcard
# as an EXT4 partition which isnt supposed to be supported until 2.3.x
Click to expand...
Click to collapse
Dear S7 users,I am using the ideos s7 by Teltra supllier and i did unlock sim by norwegian rom.I read a lot of document but i didnt find out an easy way to run clockwork that i can run cook rom,can u help me how to run it in easy way.Thanks and appreciate that.
http://www.androidtablets.net/forum...wegian-2-2-2-s7v100r001c57b111.html#post82863
PuZZleDucK said:
Just granted su superuser permissions on the Australian s7
Great work. Just noticed a missing final quotation mark:
Probably works because of the end of line but should be:
./adb shell "chmod 0755 /data/local/tmp/psneuter"
Click to expand...
Click to collapse
Great! Thanks! Ops, yeah missed that, fixed now, thank you for pointing that out. I haven't spent much more time on this. the pad has pretty much been untouched since i moved house. I would like to make this easier for less technical inclined here but its just a matter of replacing ./adb with adb.exe if your on windows. Besides, i don't want to be at fault for bricking someone. And maybe i could write some simple application for installing Gnu/Linux as well, ( http://forum.xda-developers.com/showthread.php?t=1109730 ) but that will have to wait until someone bribes me or hits me over the head i guess.
tell me how you did it. i have a s7 - 105 too. please tell me the full tutorial, beginning to the end. cause i'm new to this android stuff. please..
---------- Post added at 08:53 PM ---------- Previous post was at 08:51 PM ----------
Maniacnl said:
Just too inform you. I've just succesfully rooted the Indonesian 2.2.2 running on a
S7-105 using Chainfire's Gingerbreak v1.2.
Click to expand...
Click to collapse
tell me how you did it. i have a s7 - 105 too. please tell me the full tutorial, beginning to the end. cause i'm new to this android stuff. please..

[Q] busybox throwing "precmd" errors after rooting ICS

Hello,
Thanks for looking at this post! I wanted to post it to the rooting thread, but I'm too much of a noob to have access to developer threads. I searched around (both here and google), but couldn't find any useful info on my problem.
I'll get right to the point. I rooted my Acer A500 (after doing an OTA update to 4.0.3), as per the instructions on this thread:
http://forum.xda-developers.com/showthread.php?t=1546593
Everything seems to have worked well (I have root access, etc), but there is something quirky with Busybox. Every time I type a command in terminal (it doesn't matter which - I use both connectbot and terminal emulator), I get a "precmd: not found" message (even for simple things like directory changes). The odd thing is: the commands work, but I still get the message. For instance, if I ask for a directory listing, I'll get the listing, and at the end, it will say precmd: not found (usually with the name of the command it's referencing, e.g. bash: precmd: not found).
It seems to be looking for it in /system/xbin/bash, but bash is in /data/local; I tried creating a symlink but it didn't work ("link failed Cross-device link"). This is really a nuisance, and I'd like to try installing some linux user-land tools, but I fear the outcome might be disastrous if the busybox tools are misconfigured somehow.
I'd appreciate and help/suggestions. Many thanks.
mdhobbes said:
"precmd: not found" message
Click to expand...
Click to collapse
Connectbot seems to set shell variable 'PS1' to "$(precmd)[email protected]$HOSTNAME:${PWD:-?} $ ".
It means your shell (the busybox's ash applet) will try to use output from 'precmd' as a part of a command prompt.
So when 'precmd' was not provided, error messages will be generated wenever a prompt was to be shown.
Though the messages should be safe to ignore, you may get rid of them by setting something harmless to PS1 like:
PS1="> "​, or reset PS1 by:
unset PS1​from your (busybox) shell.
# The same method should work for terminal emulator.
precmd is a shell function.
To display it run this from the default shell:
Code:
typeset -f
You will see something like
Code:
function precmd {
typeset e=$?
let " e " && print -n "$e|"
}
If you add that to one of your shell's startup files (".profile", ".bashrc", etc.) you will have a working precmd.
It works (function runs), but shows nothing neither 0 or error code. What is it?
[edit]
Nvm, my fault, figured it out

[Q] Need help pushing a system file with adb

I have bricked my device when I tried to copy framework-res.apk to the system folder. I renamed the old framework-res.apk to framework-res.apk.bak but before I could paste the new one the phone freaked out and rebooted and now I'm stuck at the ATT white screen. I have adb access though so I'm hoping I can just push the framework-res file using adb. Every time I try this though I get an error saying file system is read only. I know all I probably need to do is get the computer to mount system as read/write. I just don't know how to do this. Is there anyone out there who can help me out?
Modified from:
http://forum.xda-developers.com/showthread.php?p=41339365
You may need to do:
mount -o remount,rw /system
chmod 777 /system/framework
Thank you for your quick reply. I'm kind of a novice when it comes to adb so bear with me, but when I use those commands I get 'mount' is not recognized as an internal or external command. I'm not sure if it matters or not but I'm running windows XP and my working directory is in c:\android-sdk\platform-tools when I tried executing "mount -o remount,rw /system".
Okay I tried changing the command to "adb shell mount -o remount,rw /system" now I get the error mount operation not permitted. I hope this doesn't mean I borked it. . . Also want to note that I did root the phone.
jack_slapped said:
Thank you for your quick reply. I'm kind of a novice when it comes to adb so bear with me, but when I use those commands I get 'mount' is not recognized as an internal or external command. I'm not sure if it matters or not but I'm running windows XP and my working directory is in c:\android-sdk\platform-tools when I tried executing "mount -o remount,rw /system".
Click to expand...
Click to collapse
You need to do some reading before you go any further - please. ADB is a command shell, and the commands he gave you are for running IN ADB after it's successfully connected to the phone.
There are lots of good writeups on using ADB all over the place.
jack_slapped said:
Okay I tried changing the command to "adb shell mount -o remount,rw /system" now I get the error mount operation not permitted. I hope this doesn't mean I borked it. . . Also want to note that I did root the phone.
Click to expand...
Click to collapse
You need to get INTO the shell first -- then execute the commands.
Also, always stop the system before modifying stuff, especially framework!
like so:
Code:
> [B]adb shell[/B]
$ [B]su[/B]
# [B]mount -o rw,remount /system[/B]
# [B]stop[/B]
# **[I]cp or mv whatever here[/I]**
# [B]reboot[/B]
your cmd prompt will return after reboot
alacrify said:
You need to do some reading before you go any further - please. ADB is a command shell, and the commands he gave you are for running IN ADB after it's successfully connected to the phone.
There are lots of good writeups on using ADB all over the place.
Click to expand...
Click to collapse
I know believe me when I say I'm trying to read as much as I possibly can. Nobody wants this phone fixed more than me. It's just alot of new stuff and I'm not entirely familiar with it. I think I'm connected with adb and started a shell using "adb -s myserial shell". I input the first command and got "mount: operation not permitted". Not really sure why it would say that considering I rooted the device.
jack_slapped said:
I know believe me when I say I'm trying to read as much as I possibly can. Nobody wants this phone fixed more than me. It's just alot of new stuff and I'm not entirely familiar with it. I think I'm connected with adb and started a shell using "adb -s myserial shell". I input the first command and got "mount: operation not permitted". Not really sure why it would say that considering I rooted the device.
Click to expand...
Click to collapse
Be sure to follow gwbard's directions a little closer. The first command inside the ADB shell is "su" which will elevate you to root - this will be necessary in order to execute the "mount" command.
From your command line (assuming in Windows), you'll run the "adb shell" command that gwbard showed. It should give you a prompt that ends with a dollar sign. Once you execute the "su" command, you'll see that change to a pound/hash sign (#).
gwbard said:
You need to get INTO the shell first -- then execute the commands.
Also, always stop the system before modifying stuff, especially framework!
like so:
Code:
> [B]adb shell[/B]
$ [B]su[/B]
# [B]mount -o rw,remount /system[/B]
# [B]stop[/B]
# **[I]cp or mv whatever here[/I]**
# [B]reboot[/B]
your cmd prompt will return after reboot
Click to expand...
Click to collapse
Dude you are the man! That did the trick. I really appreciate it. I'm still trying to figure out exactly what a shell is and how that ties into adb but I learned a good bit about it from today. I've used linux before and I have heard of a shell but never really understood what exactly it was. Anyways thanks again for everyone who helped me get this working.
Aou said:
Be sure to follow gwbard's directions a little closer. The first command inside the ADB shell is "su" which will elevate you to root - this will be necessary in order to execute the "mount" command.
From your command line (assuming in Windows), you'll run the "adb shell" command that gwbard showed. It should give you a prompt that ends with a dollar sign. Once you execute the "su" command, you'll see that change to a pound/hash sign (#).
Click to expand...
Click to collapse
Yea I posted that last one before I saw his instructions. They were right on point. Thanks guys!
jack_slapped said:
Dude you are the man! That did the trick. I really appreciate it. I'm still trying to figure out exactly what a shell is and how that ties into adb but I learned a good bit about it from today. I've used linux before and I have heard of a shell but never really understood what exactly it was. Anyways thanks again for everyone who helped me get this working.
Click to expand...
Click to collapse
When you click "start" and type "cmd", you're starting a shell. They're command interpreters that extend functionality in specific ways. like "dir" for the Windows/DOS command shell, and "su" or "mount" for adb. Lots of good writeups on that around too

Categories

Resources