I have BusyBox version v1.15.3 installed that came with the ROM gingerdx 31b. This busybox version cannot be updated/changed, because if it's being updated, the phone goes into a bootloop on the next reboot, it is said not to update the busybox in the ROM thread too.

The problem is, this busybox version doesn't include the applet pgrep. Whenever pgrep is typed in the shell & executed it gives out a pgrep: not found error. "pgrep" is needed by the "super charger" script to do some tasks.

So, I tried creating a symbolic link to a working pgrep from another busybox version. I stored the busybox file in the /data/ folder, made it chmod 777, then cd to that directory. Then execute the command;

ln -sf "busybox pgrep" "./busybox pgrep"

but even when I execute pgrep, it still gives the same error. How do I make the pgrep command point to a working pgrep, via another busybox or a pgrep file?

Also, how do I make this link permanent, so that it stays that way after a reboot? Should I add this to the .bashrc or do this using a init.d script? Both my knowledge on android & linux commands are limited as well. Any help is much appreciated.

Thank you.

1 Answer 1


Thinking error. You've created a link named busybox pgrep, linking to a (not existing) other file of the same name. What you probably wanted to achieve is:

ln -sf </path/to/alternative/>busybox </path/to/linkdir/>pgrep

Replace </path/to/alternative/> with the path to the busybox binary featuring pgrep functionality, and </path/to/linkdir/> with the path to a directory contained in your $PATH (best the one where the other symlinks reside).

Busyboxes usually decide their "wanted functionality" by checking where they're called from. So the symlink is simply named pgrep, grep, or whatever, and pointing to the busybox binary.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .