http://dl.dropbox.com/u/2056318/busybox_1.19.zip
Installs via cwm. This is the latest busybox snapshot from the busybox git. It also supports some things that some other busybox binaries do not, such as crond. There are a lot of commands that are overkill or excessive, but hey, I like my options
Note: If you aren't sure if you need this, you do not. This is for the more advanced/experienced users and those who must have the latest and greatest and are flash happy.
BusyBox v1.19.0.git (2010-12-20 01:08:42 MST) multi-call binary.
Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.
Usage: busybox [function] [arguments]...
or: busybox --list[-full]
or: function [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as.
Currently defined functions:
[, [[, acpid, add-shell, addgroup, adduser,
adjtimex, arp, arping, ash, awk, base64, basename,
beep, blkid, blockdev, bootchartd, brctl, bunzip2,
bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp,
chmod, chown, chpasswd, chpst, chroot, chrt, chvt,
cksum, clear, cmp, comm, cp, cpio, crond, crontab,
cryptpw, cttyhack, cut, date, dc, dd, deallocvt,
delgroup, deluser, depmod, devmem, df, dhcprelay,
diff, dirname, dmesg, dnsd, dnsdomainname,
dos2unix, du, dumpkmap, dumpleases, echo, ed,
egrep, eject, env, envdir, envuidgid, ether-wake,
expand, expr, fakeidentd, false, fbset, fbsplash,
fdflush, fdformat, fdisk, fgconsole, fgrep, find,
findfs, flock, fold, free, freeramdisk, fsck,
fsck.minix, fsync, ftpd, ftpget, ftpput, fuser,
getopt, getty, grep, gunzip, gzip, halt, hd,
hdparm, head, hexdump, hostid, hostname, httpd,
hush, hwclock, id, ifconfig, ifdown, ifenslave,
ifplugd, ifup, inetd, init, insmod, install,
ionice, iostat, ip, ipaddr, ipcalc, ipcrm, ipcs,
iplink, iproute, iprule, iptunnel, kbd_mode, kill,
killall, killall5, klogd, last, length, less,
linux32, linux64, linuxrc, ln, loadfont, loadkmap,
logger, login, logname, logread, losetup, lpd, lpq,
lpr, ls, lsattr, lsmod, lspci, lsusb, lzcat, lzma,
lzop, lzopcat, makedevs, makemime, man, md5sum,
mdev, mesg, microcom, mkdir, mkdosfs, mke2fs,
mkfifo, mkfs.ext2, mkfs.minix, mkfs.vfat, mknod,
mkpasswd, mkswap, mktemp, modinfo, modprobe, more,
mount, mountpoint, mpstat, mt, mv, nameif,
nbd-client, nc, netstat, nice, nmeter, nohup,
nslookup, ntpd, od, openvt, passwd, patch, pgrep,
pidof, ping, ping6, pipe_progress, pivot_root,
pkill, pmap, popmaildir, poweroff, powertop,
printenv, printf, ps, pscan, pstree, pwd,
raidautorun, rdate, rdev, readahead, readlink,
readprofile, realpath, reboot, reformime,
remove-shell, renice, reset, resize, rev, rm,
rmdir, rmmod, route, rpm, rpm2cpio, rtcwake,
run-parts, runlevel, runsv, runsvdir, rx, script,
scriptreplay, sed, sendmail, seq, setarch,
setconsole, setfont, setkeycodes, setlogcons,
setsid, setuidgid, sh, sha1sum, sha256sum,
sha512sum, showkey, slattach, sleep, smemcap,
softlimit, sort, split, start-stop-daemon, stat,
strings, stty, su, sulogin, sum, sv, svlogd,
swapoff, swapon, switch_root, sync, sysctl,
syslogd, tac, tail, tar, tcpsvd, tee, telnet,
telnetd, test, tftp, tftpd, time, timeout, top,
touch, tr, traceroute, traceroute6, true, tty,
ttysize, tunctl, udhcpc, udhcpd, udpsvd, umount,
uname, unexpand, uniq, unix2dos, unlzma, unlzop,
unxz, unzip, uptime, usleep, uudecode, uuencode,
vconfig, vi, vlock, volname, wall, watch, watchdog,
wc, wget, which, who, whoami, xargs, xz, xzcat,
yes, zcat, zcip
Thanks, Adryn
http://dl.dropbox.com/u/2056318/busybox_1.19_2.zip
New version:
--no usr support (not needed or used)
--dns is resolved correctly for ping, etc.
Thank you sir!
New version with a few less (useless) applets. Also correctly uses symlinks whereas prior versions were installing but making copies of busybox with the same size
Sorry about that.
To upgrade to this version you must manually clean out your xbin folder. Delete all files that have the SAME size. ~1.93mb.
http://dl.dropbox.com/u/2056318/busybox_1.19_7.zip
adrynalyne said:
New version with a few less (useless) applets. Also correctly uses symlinks whereas prior versions were installing but making copies of busybox with the same size
Sorry about that.
To upgrade to this version you must manually clean out your xbin folder. Delete all files that have the SAME size. ~1.93mb.
http://dl.dropbox.com/u/2056318/busybox_1.19_7.zip
Click to expand...
Click to collapse
file not existiong anymore ..
is there anywhere the latest busybox version availible ?
Im not going to flash given the above advice. But for my education sake could someone describe what this is in laymans terms... Would be greatly appriciated, I like to know what im talkin about incase it comes up in convo with my fellow nerd friends..
Voodoo Witch Doctor
Busybox is a collection of open source utilities used on posix operating systems.
That should baffle some of your nerd friends, and impress the others
adrynalyne said:
Busybox is a collection of open source utilities used on posix operating systems.
That should baffle some of your nerd friends, and impress the others
Click to expand...
Click to collapse
Thank you! Damn its nice to login and see a positive response, and informative at the same time. Greatly Appreciated!!!!!
all dropbox links are down
multiupload like plz inserted of dropbox...
Sent From Nokia 1100...!!!
http://db.tt/DgQ9017
Sent from my SCH-I500 using XDA App
adrynalyne said:
http://db.tt/DgQ9017
Sent from my SCH-I500 using XDA App
Click to expand...
Click to collapse
It's busybox_1.19_3.zip or busybox_1.19_7.zip
Edit: its busybox 1.19.3... what about 1.19.7
Sent From Nokia 1100...!!!
coolexe said:
It's busybox_1.19_3.zip or busybox_1.19_7.zip
Edit: its busybox 1.19.3... what about 1.19.7
Sent From Nokia 1100...!!!
Click to expand...
Click to collapse
You do realize that the final point numbers were just modifications of the package right? What's inside is the same in all of them.
Sent from my SCH-I500 using XDA App
Titanium backup pro says 1.19.0. If I go to problems and get latest working version it says 1.16.0. Is TB pro not updated yet, hence the manual zip package?
Tibu uses its own copy of busybox. If you nuke it...it will use my version.
Sent from my SCH-I500 using XDA App
adrynalyne said:
Tibu uses its own copy of busybox. If you nuke it...it will use my version.
Sent from my SCH-I500 using XDA App
Click to expand...
Click to collapse
Sorry but could you share a little more detail, I've been digging through the app but I cant find it reference to busybox.
If you click "Problems?", it will download a Busybox install:
{
"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"
}
To verify whether or not you have it downloaded, check here:
If you delete the Busybox file shown above, it will use the one in /system/bin or /system/xbin.
GizmoDroid said:
If you click "Problems?", it will download a Busybox install:
To verify whether or not you have it downloaded, check here:
If you delete the Busybox file shown above, it will use the one in /system/bin or /system/xbin.
Click to expand...
Click to collapse
Thanks for pointing me in the right direction, however I'm using Astro and I cant see anything in the data folder. Are you using Root Explorer? Maybe its time for me to switch.
The auto update in TiBu downloads 1.16.0 so thats no good.
wideopn11 said:
Thanks for pointing me in the right direction, however I'm using Astro and I cant see anything in the data folder. Are you using Root Explorer? Maybe its time for me to switch.
The auto update in TiBu downloads 1.16.0 so thats no good.
Click to expand...
Click to collapse
I believe Astro has a "view hidden files" setting. Is your's turned on?
So yes, TiBu downloads 1.16 if you hit "Problems?". Adryn's is newer, so don't download the TiBu one. It will then automatically use Adryn's.
I'm kind of confused... are you actually having a problem? It sounds like you have the newest Busybox installed, and Titanium is confirming that.
Related
Hello everyone,
Its been great to have root on your X10 using the method posted here:
http://forum.xda-developers.com/showthread.php?t=711907
Well, this method works all right but I did some investigating of my own to audit the state of the system after its been rooted. Thanks to the discussions you may find here: http://forum.xda-developers.com/showthread.php?t=712178, the original developers soon chose to update the Rooting tutorial with some additional steps (See post #2 and #4 of the rooting thread). This is all good, because now you have the real power to act as a the *real* superuser i.e uid 0.
Most of the discussions that follow are only intended for users who are well versed with general *NIX security and concepts about user ids, permissions and other things. So please disregard this post if you have no ideas of these concepts.
Ok, so first things first. I basically followed the root tutorial as it is all the way upto step3 (or step3a as in my case). Remember, you essentially have a rooted phone right after step2, step3/3a just adds the updated baseband firmware, which has no effect whatsoever on the subsequent things that you do to your phone.
Well essentially, what I did do was install the "su" binary and the "Superuser.apk" following in the lines of step4v2 (post #2 in root thread). These are essential to give you control over your system as without them you are simply relying on a hacked "sh" binary which runs with elevated privileges. Here are the file permission masks for the "sh" binary which gets installed after the FOTA in step2:
Code:
# ls -l sh
ls -l sh
-rwsrwsrwx root root 86944 2010-06-28 18:08 sh
#
Wait!!! This is *not* quite ok. What this means is that any process can use this binary to gain super user privileges. This binary is setuid and setgid root!!!
Well you might say that... so is the case for "su":
Code:
# ls -l su
ls -l su
-rwsrwsrwx root root 22120 2010-06-28 08:08 su
#
But, this is different because its use is controlled by the Superuser Whitelist application that was installed with Superuser.apk.
This difference is crucial because if any non-privileged application and process forks and execs "su", the Superuser Whitelist app would immediately post a notification screen on the phone and provide options to allow or disallow.
With the "sh" binary installed on your phone as it is, you are basically inviting *any* application to be able to do anything it wants to your phone... and all this without your knowledge!!!
To test this theory, all you need to do is simply install one of the terminal emulators floating around the market or use the one provided in the rooting thread under the step4/app folder and launch it. It straight away, launches you into a root shell. Here is a screen shot of what you can do this way:
{
"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"
}
(Remember, no warnings, no notifications and all this can be done by any app under the hood)
Here is what you can do to make your phone more secure.
Step1: Download an alternative shell or simply change the permissions on the "sh" binary:
Code:
# cd /system/bin
# chmod 755 sh
Step2: In case you downloaded an alternative shell like "bash" and copied it under your /system/bin folder, simply get rid of the original "sh" binary and create a symlink to the one you download, for ex: bash:
Code:
# cd /system/bin
# rm sh
# ln -s bash sh
(Note: the above steps assume that you have /system mounted as rw, if you don't know what that means, then you should not be reading this, sorry)
Remember, when installing any alternative shell make sure that its permission mode is set to 755 or lower. I recommend to *never* set the setuid and setgid bits on the shell!!!
Here is what I did personally:
Installed bash from here: http://forum.xda-developers.com/showthread.php?t=537827
Installed it under /system/bin *without* the setuid and setgid bits
Removed the "sh" binary
Created a symlink named "sh" to the binary "bash"
This way, whenever I launch "adb shell" or use any terminal emulator on my phone, I always get a un-privileged shell. To get root, simply fire "su".
PS: This information is not intended for casual users who have limited or no knowledge of UNIX or UNIX like sytems like Linux, Adrdoid SDK commands like adb or don't know their way around if faced with a command line!!!
PS: Another post with some steps to properly secure the system: http://forum.xda-developers.com/showthread.php?t=712945
lmao..
http://forum.xda-developers.com/showthread.php?t=712945
zephyrix said:
lmao..
http://forum.xda-developers.com/showthread.php?t=712945
Click to expand...
Click to collapse
lol, you must've done this while I was writing mine!!
Anyways, its good to have this info out and I do point out some concepts detailing *why* this is a problem.
Definitely.
Make sure people have installed a proper way to elevate to root before attempting to change sh to not setuid, or they may screw themselves over lol
Thanks for your guide! Much appreciated would be an understatement.
is there any other way of testing that as using tht method in ur given picture now says read only error does this mean i successfully secured my root?
bcool15 said:
is there any other way of testing that as using tht method in ur given picture now says read only error does this mean i successfully secured my root?
Click to expand...
Click to collapse
Oh... I think I forgot to show this, but essentially you need to get the system partition into read/write mode as well. So it will be one more command before the write is attempted:
# mount -o remount,rw -t yaffs2 /dev/mtdblock2 /system
...
...
# echo "I can...
j4mm3r said:
Oh... I think I forgot to show this, but essentially you need to get the system partition into read/write mode as well. So it will be one more command before the write is attempted:
# mount -o remount,rw -t yaffs2 /dev/mtdblock2 /system
...
...
# echo "I can...
Click to expand...
Click to collapse
thats the command which stoppped wrkin so i just redid whole rooting procedure with new v3 update does it still need securing?
bcool15 said:
thats the command which stoppped wrkin so i just redid whole rooting procedure with new v3 update does it still need securing?
Click to expand...
Click to collapse
Dont worry about the example shown in the screen shot. That is just to illustrate what a setuid "sh" binary can do to your system.
j4mm3r said:
Dont worry about the example shown in the screen shot. That is just to illustrate what a setuid "sh" binary can do to your system.
Click to expand...
Click to collapse
this securing procedure isnt working on my new root any suggestions?
please
Regards,
bcool15 said:
this securing procedure isnt working on my new root any suggestions?
please
Regards,
Click to expand...
Click to collapse
Exactly what procedure are you referring to? The post is just meant to be a set of guidelines of a vulnerability that existed on the phone after it was rooted using "the root procedure" at the time this was posted.
If you have a "sh" binary on your phone which is setuid and setgid, then you have this vulnerability. I haven't updated the post with results from any new root procedures that have been posted since, but I suspect even the newer methods posted so far in the "root thread" don't get rid of the compromised "sh" binary.
Please ignore if you don't know what setuid and setgid means.
Whats up, everyone?
Does anyone know if there is a function for edify scripting that will cause it to sleep/pause. I have some text in my script that I would like to display for a few extra seconds.
Thanks for any help
i dont know it myself, but check out the synergy format all zip. it has a 10 second delay, so it'll be in there.
Sweet!
Thanks dude
dkdude36 said:
i dont know it myself, but check out the synergy format all zip. it has a 10 second delay, so it'll be in there.
Click to expand...
Click to collapse
Looking at the script it seems like the pause is caused by the deletion process it is running, not by an actual pause function.
Thanks though...
would
Code:
run_program("sbin/sleep", "6")
work like
Code:
sleep(6);
does in C when working on a *NIX system?
Bamba1260 said:
would
Code:
run_program("sbin/sleep", "6")
work like
Code:
sleep(6);
does in C when working on a *NIX system?
Click to expand...
Click to collapse
Nope, sure doesn't lol.
Bamba1260 said:
Looking at the script it seems like the pause is caused by the deletion process it is running, not by an actual pause function.
Thanks though...
Click to expand...
Click to collapse
my bad. that's the only place i've seen anything pause before so yeah i have no idea.
dkdude36 said:
my bad. that's the only place i've seen anything pause before so yeah i have no idea.
Click to expand...
Click to collapse
It's all good, thanks for the tip.
Anyone else want to chime in?? You are more then welcome too
{
"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"
}
Bamba1260 said:
Anyone else want to chime in?? You are more then welcome too
Click to expand...
Click to collapse
Bamba1260 said:
would
Code:
run_program("sbin/sleep", "6")
work like
Code:
sleep(6);
does in C when working on a *NIX system?
Click to expand...
Click to collapse
short answers: no, updater-script will not use C functions or codes. although the custom recovery is mostly coded and compiled in C/C++, the actual update-script binary reads and executes "edify" commands from the updater-script.
although, the first command you quote, could work, run_program("sbin/sleep","6"). i'll give the technical explanation below since both of the ppl posting in this thread seem to be fairly knowledgable!
long more technical answers with some background:
sleep is an applet/binary compiled as part of busybox. all *good* custom recoveries include a busybox binary. most of them compile in the majority of busybox functions so their included busybox has all the standard features.
now, with all that said, recoveries generally install their busybox binary to the /sbin directory and generally also install all the applets whether actual separate binaries or symlinks back to the main busyboxy in the /sbin directory too.
you can include in your updater-script, the simple call to the /sbin/sleep binary, assuming the custom recovery has the sleep applet compiled into the busybox binary they distribute packaged with their custom recovery.
worse case, there is no sleep binary compiled into their busybox included in the custom recovery.
quick work around would be to include your own sleep binary in your .zip file. simply extract the sleep binary to /tmp and run_program from /tmp/sleep. similar to how we extract flash_image to /tmp and run_program /tmp/flash_image .. or any other binary really.
for starters, if the sleep binary is compiled as part of busybox and included as a symlink or separate applet, this command should work: run_program("/sbin/sleep","6") (notice i added a / infront of /sbin which wasnt in the original post quoted above).
if /sbin/sleep is not present, try /sbin/busybox sleep 6 and see if sleep is present in the busybox binary.
if that doesn't work, the sleep binary is not present and will probably have to be supplied in the update .zip file.
if you're interested in alternatives to accomplish the same goal, provide a delay, might put some type of load or heavy processing of random junk in order to delay the system before continuing to the next argument. this approach, is definitely less than ideal.
hope that helps!
joeykrim said:
short answers: no, updater-script will not use C functions or codes. although the custom recovery is mostly coded and compiled in C/C++, the actual update-script binary reads and executes "edify" commands from the updater-script.
although, the first command you quote, could work, run_program("sbin/sleep","6"). i'll give the technical explanation below since both of the ppl posting in this thread seem to be fairly knowledgable!
long more technical answers with some background:
sleep is an applet/binary compiled as part of busybox. all *good* custom recoveries include a busybox binary. most of them compile in the majority of busybox functions so their included busybox has all the standard features.
now, with all that said, recoveries generally install their busybox binary to the /sbin directory and generally also install all the applets whether actual separate binaries or symlinks back to the main busyboxy in the /sbin directory too.
you can include in your updater-script, the simple call to the /sbin/sleep binary, assuming the custom recovery has the sleep applet compiled into the busybox binary they distribute packaged with their custom recovery.
worse case, there is no sleep binary compiled into their busybox included in the custom recovery.
quick work around would be to include your own sleep binary in your .zip file. simply extract the sleep binary to /tmp and run_program from /tmp/sleep. similar to how we extract flash_image to /tmp and run_program /tmp/flash_image .. or any other binary really.
for starters, if the sleep binary is compiled as part of busybox and included as a symlink or separate applet, this command should work: run_program("/sbin/sleep","6") (notice i added a / infront of /sbin which wasnt in the original post quoted above).
if /sbin/sleep is not present, try /sbin/busybox sleep 6 and see if sleep is present in the busybox binary.
if that doesn't work, the sleep binary is not present and will probably have to be supplied in the update .zip file.
if you're interested in alternatives to accomplish the same goal, provide a delay, might put some type of load or heavy processing of random junk in order to delay the system before continuing to the next argument. this approach, is definitely less than ideal.
hope that helps!
Click to expand...
Click to collapse
Thanks Joey, I appreciate the insight!
I know C code won't work in an updater-script lol, I was just using it as a familiar reference point.
As for the the sleep binary, I had no Idea about it! Makes complete sense now though. I just fixed my "test" script with the proper placements of /, and unfortunately still no luck. I also tried seeing if busybox had a sleep binary, and no luck either.
So my question now is, where would I go about finding a sleep binary for android phones?
EDIT:
Nevermind I found one!
Alright well I found a sleep binary, but I still can't get it to work..
Is this correct? Assuming the sleep binary is not in any folders other then the zip.
Code:
package_extract_file("sleep", "/tmp/sleep");
run_program("/tmp/sleep", "6");
Bamba1260 said:
Alright well I found a sleep binary, but I still can't get it to work..
Is this correct? Assuming the sleep binary is not in any folders other then the zip.
Code:
package_extract_file("sleep", "/tmp/sleep");
run_program("/tmp/sleep", "6");
Click to expand...
Click to collapse
yea, that is a good start.
1) the above command assumes the sleep binary is in the root of your .zip file.
2) i'd recommend one tweak, set the binary chmod 755 to make sure you have permission to execute before sending the execute command.
set_perm(0, 0, 0755, "/tmp/sleep");
also, you can manually test before you setup the updater-script code. boot into recovery, adb push sleep to /tmp. chmod 755 /tmp/sleep. try sleep 6 and the command prompt should hang for 6 seconds and then return. we're also assuming the sleep binary takes input in seconds, which seems most logical.
assuming all works according to plan the final updater-script should be something similar:
package_extract_file("sleep", "/tmp/sleep");
set_perm(0, 0, 0755, "/tmp/sleep");
run_program("/tmp/sleep", "6");
if that works, feel free to post up your sleep binary and help anybody else who might come across this thread searching.
hope that helps!
for reference, i used the following to links to make sure my updater-script syntax on perfectly correct. no typos allowed in programming!
http://forum.xda-developers.com/showpost.php?p=11027417&postcount=1
http://www.synfulgeek.com/main/inde...d-off-of-kernel-source-code&catid=57:articles
joeykrim said:
yea, that is a good start.
1) the above command assumes the sleep binary is in the root of your .zip file.
2) i'd recommend one tweak, set the binary chmod 755 to make sure you have permission to execute before sending the execute command.
set_perm(0, 0, 0755, "/tmp/sleep");
also, you can manually test before you setup the updater-script code. boot into recovery, adb push sleep to /tmp. chmod 755 /tmp/sleep. try sleep 6 and the command prompt should hang for 6 seconds and then return. we're also assuming the sleep binary takes input in seconds, which seems most logical.
assuming all works according to plan the final updater-script should be something similar:
package_extract_file("sleep", "/tmp/sleep");
set_perm(0, 0, 0755, "/tmp/sleep");
run_program("/tmp/sleep", "6");
if that works, feel free to post up your sleep binary and help anybody else who might come across this thread searching.
hope that helps!
for reference, i used the following to links to make sure my updater-script syntax on perfectly correct. no typos allowed in programming!
http://forum.xda-developers.com/showpost.php?p=11027417&postcount=1
http://www.synfulgeek.com/main/inde...d-off-of-kernel-source-code&catid=57:articles
Click to expand...
Click to collapse
Haha yeah I know all about strict syntax. I taught myself C, C++, python and now Java lol. I'll work on it more tonight and let you know how it goes, sadly I'm in class now lol.
Thanks for the links, I'll definitely check them out.
joeykrim said:
yea, that is a good start.
1) the above command assumes the sleep binary is in the root of your .zip file.
2) i'd recommend one tweak, set the binary chmod 755 to make sure you have permission to execute before sending the execute command.
set_perm(0, 0, 0755, "/tmp/sleep");
also, you can manually test before you setup the updater-script code. boot into recovery, adb push sleep to /tmp. chmod 755 /tmp/sleep. try sleep 6 and the command prompt should hang for 6 seconds and then return. we're also assuming the sleep binary takes input in seconds, which seems most logical.
assuming all works according to plan the final updater-script should be something similar:
package_extract_file("sleep", "/tmp/sleep");
set_perm(0, 0, 0755, "/tmp/sleep");
run_program("/tmp/sleep", "6");
if that works, feel free to post up your sleep binary and help anybody else who might come across this thread searching.
hope that helps!
for reference, i used the following to links to make sure my updater-script syntax on perfectly correct. no typos allowed in programming!
http://forum.xda-developers.com/showpost.php?p=11027417&postcount=1
http://www.synfulgeek.com/main/inde...d-off-of-kernel-source-code&catid=57:articles
Click to expand...
Click to collapse
Well, I can get it to work when I shell in, but not from a flashable. I am going to keep trying different ways.
Bamba1260 said:
Well, I can get it to work when I shell in, but not from a flashable. I am going to keep trying different ways.
Click to expand...
Click to collapse
lol i know this is a really old thread, but do you know if there is a way to do this?
Punchieo said:
lol i know this is a really old thread, but do you know if there is a way to do this?
Click to expand...
Click to collapse
run_program("/sbin/sleep", "10");
sleep is part of recovery binaries,
what they didn't set proper permissions on the sleep binary they copy to tmp
set_perm(0, 0, 0777, "/tmp/sleep");
{
"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"
}
The remainder of this post contains historical information. Please read the update. Thank you.
__________________
BotBrew is
a repository of *nix software (such as bzip2, curl, openssl, python, and ruby) for ARM-based Android
a package manager powered by Opkg, a lightweight program that feels like dpkg+apt
a service manager powered by runit
a build system for anyone looking to build and package his/her own scripts and programs
Thanks: mateorod and xela92 for testing the heck out of this thing; racks11479 for delicious artwork; you for using this project, reporting bugs, and making it better
If I missed anyone, let me know!
Warning: BotBrew has been used successfully on a variety of rooted ARM devices, and is developed using a Nook Color, but you should still make backups before trying, just in case.
Install BotBrew
[ Google Play | BotBrew.apk | BotBrew.debug.apk ]
Read the Quick-Start Guide & Manual
[ botbrew.com/manual.htm ]
Click to expand...
Click to collapse
Alternative (Command Line) Installation
If the BotBrew app fails to bootstrap, you might be able to bootstrap using the command line:
Code:
wget http://repo.botbrew.com/anise/bootstrap/install.sh -O- | su
Such a setup should be compatible with the app, though it may not work perfectly. The manual has more tips for command line usage.
Enjoy!
Install BotBrew+1
The next release of BotBrew, named basil, will be powered by Debian's Dpkg and Apt. This is a non-trivial update, so the app is being rewritten from scratch. I've posted some usage instructions, in case you are adventurous enough to try. Thanks! This app may be used in parallel with the current-stable BotBrew release, without conflict.
[ Google Play | GitHub ]
Click to expand...
Click to collapse
Changes
5/20: the next release of BotBrew is in development!
4/20: improve support for long package names; fix list of repairable packages
4/16: new UI for devices with wide-enough screens; experimental support for moving to /sd-ext
4/9: Google Play release of BotBrew "anise"; previous release is now BotBrew.oldstable.apk; lots of updates since oldstable
3/16: lots of installer and filesystem changes for cross-device compatibility, work started on multiuser support
3/10: installers now depend on botbrew-core, which will (in the future) pull in basic packages that everyone should have
3/4: swipe left and right to see all/installed/upgradable packages
3/3: added ability to start installation of *.opk files from file managers
3/2: added ability to start installation from browser after clicking *.opk link
3/1: fixed some BotBrew.apk bugs; updated command line installer
2/27: reworked BotBrew.apk; new packages in stable repo
2/18: testing repository now open; new opkg -- please read before upgrading
2/16: make BotBrew.apk display latest versions in the package list
2/2: bugfix release of BotBrew.apk
Well, I now have python, ncurses, openssl and a couple other packages running on my nook. I have indeed printed 42, and even wrote my own (proprietary) code to advance the project some that printed 43. Advanced scripting.
But seriously, this is sweet. I am all over anything that opens up this device. I don't think I have ever bought a piece of hardware that has so outstripped my expectations.
Thanks for the program. I will report back after I play with it some.
Wow, what a great idea! Looks like my Nook will be used for a bit more than entertaining my family with casual games; nice to have some productivity back I was thinking about installing Ubuntu on my Nook for this sort of thing, but there's no need anymore.
It would be great to get this a bit more recognition, and getting more useful things such as gcc or even the GNU toolchain installable with this package manager. Might put a link in my signature, if you don't mind.
Now to look for an affordable lightweight bluetooth keyboard...
You read my mind I got binutils, gmp, mpfr, and mpc working earlier today... and gcc is in the pipeline. My main reason for wanting a native gcc is that some software (such as python) do not like to be cross-compiled at all. I'm having a bit of trouble with gcc, but I'll keep hacking away at it.
Please, go right ahead and share this thread; this is a young project but I think it could be more useful. On the one hand, there's a whole lot of free software (such as the GNU stuff) just asking to be built and packaged; on the other hand, many people who hang out around here have a few scripts/programs of our own to distribute.
In case you're interested, here's where all the packages live. There are actually two more ways to install (remote and local) stuff using Opkg:
Code:
opkg install http://host/path/to/package.opk
Code:
opkg install path/to/package.opk
Very nice project !!!
I have python 2.7 standalone on android.
One problem, in python commandline i can't import hashlib, i can fix this?
Thanks.
So, I just got a working build of GCC+binutils and pushed the packages to the stable repo. Please keep in mind that for now, stable means I tested it a couple of times and it works, so be careful and use at your own risk.
To install gcc and binutils, make sure you have about 160mb of storage free in /system and run:
Code:
opkg update
opkg install gcc-4.6
That's about 70mb's worth of downloads, and my server's underpowered, so please wait patiently and retry if it fails (failure when receiving data from the peer). When that's done, you might want to compile something:
Code:
cd /cache
wget http://dl.dropbox.com/u/1213413/htdocs/agcc/hello.c
gcc -o hello hello.c
And if that completed successfully, you should have a new executable, which you could run for a classic greeting. I was not able to get the C++ libraries compiled, but C code should compile alright.
@Fritos2: I've been trying to fix this issue, but I'm not confident that I could do it without help. Python (and Perl) are very resistant to cross-compilation, and even after I hammered it into submission, some modules do not work. Another module that I'd really like is readline, which gives you enhanced editing capabilities in the interactive interpreter. I'm a Pythonista, but I've got to say: Ruby does cross-building right. Even sqlite3 supports readline. I suspect that Python might have to be compiled natively, and this is where native gcc comes in.
I'd appreciate any help, of course
I'll follow this project with great interesting.
Hey guys, there have been a few updates:
opkg's lock file has been moved to /cache/opkg/lock so there's no need for a read-write /system just to query packages
gnupg has been packaged, for those who like to sign their stuff
python... well, I'm still working on it >.<
Anyway, I thought I'd do something to make this project more accessible. I don't have any apk's for you yet, but I've attached a screenshot of the work-in-progress
I am very impressed with the progress. I am a super-noob but have enjoyed toying with the packages from your opening post. I haven't had time to do much but explore, but this sure does open up a whole new world for the nook, from an accessability stand point alone. I wouldn't be suorised to see an uptick in interest as some if the more experienced coders are able to turn their attention from cm9.
I will probably install those latest packages sometime this weekend. Just real strong stuff.
Edit. Ok, o I just went ahead and did it now. Obviously, I couldn't get it to work. Have downloaded the FCC and got the hello file fro the dropbox. I ran the gcc -o hello hello.c and was returned a hashtag only. If I ran gcc hello, it outputted the hello program code. I tried several things basically willynilly until I got tired of getting a fatal error and having the build canceled.
If this is too basic and will clog the thread, I would happily accept a pm with a good tutorial. Thanks a bunch.
The problem with python maybe relationed with python-devel package?
Sorry is the question is stupid, i'm so noob.
The Python build process has two steps: first, you get the main Python executable, and then you get the modules. The executable built in the first step is used to test the modules in the second step. So, naively cross-compiling Python would result in most modules not passing the test (because you cannot actually run the Python you just built), and these modules would be removed. As it turns out, you could patch the build scripts to run the tests using a host-native Python, but even then, there are a few modules with particular requirements that still don't pass. This is where we are now, but I think we could do better.
Okay, so more progress: BotBrew.apk is out in the wild! I decided to put it off until I got some basic functionality working. What is this?
a basic GUI for package management
lists all packages
searches for packages by name
shows package information
installs/upgrades/removes packages
manages list of repositories
I've only really tested it with CM7, but it works on the latest CM9 previews as well.
Screenshots
mateorod said:
Edit. Ok, o I just went ahead and did it now. Obviously, I couldn't get it to work. Have downloaded the FCC and got the hello file fro the dropbox. I ran the gcc -o hello hello.c and was returned a hashtag only. If I ran gcc hello, it outputted the hello program code. I tried several things basically willynilly until I got tired of getting a fatal error and having the build canceled.
Click to expand...
Click to collapse
No worries. If gcc did not complain and dropped you back in the shell, this means it's done! Just list the directory to find a new file named hello, which you could run:
Code:
# gcc -o hello hello.c
# ls
backup download hello.c opkg
dalvik-cache hello lost+found recovery
# ./hello
hello world
#
I hope this helps!
Sorry if this sounds ignorant but is there any future usage aside from being a very interesting project? Will we be able to distribute open source projects / software specifically made for Android devices like on common Linux distributions?
BobbyBest said:
Sorry if this sounds ignorant but is there any future usage aside from being a very interesting project? Will we be able to distribute open source projects / software specifically made for Android devices like on common Linux distributions?
Click to expand...
Click to collapse
A valid question, I think. BotBrew has the potential of becoming a Cydia of sorts, distributing system extensions, interface customizations, and other useful software for rooted Android devices. Android has a vibrant community of programmers and scripters, but there isn't any standard way to manage software that are not apps. And there's a large body of open source Linux software that might work well on Android. Of course, BotBrew is also able to handle root apps that live in /system/app (i.e. gapps); for user-level apps, the various app stores already work quite well.
In order for this to become a serious platform, we'll need a couple of things: a solid technical foundation, developer support, and a user base. I've been making progress mostly towards the first point; hopefully the rest would follow.
Well I'll be. Yeah it worked. Who knew?
Okay, so that's great! I have printed 43 (my own design) and now the standard greeting has been successfully built and ran as well. I must toodle with it some more. What would you recommend to try? Remember, i am slow-witted and totally inexperienced.
If you say print 44 i will totally understand. : )
How about this, i would like to learn and i would like to help you with your program. I will probably be of most use as a guinea pig, but since i spend a fair amount of time jiggering system files and databases, I have to complete wipe about once a week. failure or risk doesn't bother me.
---------- Post added at 02:27 AM ---------- Previous post was at 01:51 AM ----------
Okay, i just got the apk. I autoremoved all installed packages. I installed opkg, python, gcc (binutils came along as a dependency) and the hello executable. But when i went into a terminal once i cd cache, it only lists opkg out of the five packages. This worked when i did the wget through the terminal. The packages show as installed within the botbrew app (nice icon and UI, btw).
I known I am doing something very simple incorrectly. Do you have enough information to be able to tell me what that is?
Congrats on a successful build! Now that you have a working program, you could package it up for distribution
What's more, you could do it directly on Android. Let's call this package mateorod-hello, prefixing it with the vendor's (your) name to avoid conflicts with other variants. We'll also rename the executable itself.
We'll install the program to /system/bin, where it would feel at home with all the other programs; so we create a staging directory tree that mimics the structure of an Android system, but contains just the one program:
Code:
cd /cache
mkdir -p system/bin
cp hello system/bin/mateorod-hello
Next, we need a control file to describe what's in the package. It might be easier to create the file on a computer and push it over, but we could also create it using the command line:
Code:
echo "Package: mateorod-hello" > control
echo "Version: 1.0" >> control
echo "Architecture: armeabi" >> control
echo "Description: a greeting from mateorod" >> control
And, finally, a magic value to signify what kind of package this is:
Code:
echo -n "2.0" > debian-binary
Okay, now let's pack this up:
Code:
tar zcvf data.tar.gz system
tar zcvf control.tar.gz control
ar -r mateorod-hello.opk debian-binary data.tar.gz control.tar.gz
We now have mateorod-hello.opk, which we could test by installing:
Code:
opkg install mateorod-hello.opk
Now that it's installed, the program within is also available:
Code:
mateorod-hello
This is quite a bit of work for something that could just be pushed over adb, but it could be automated and it works tremendously well for more complex software. The control file helps keep track of versions, and lets you specify dependencies too.
Oh, and to clean up a bit: (the first command makes sure you're in /cache and do not accidentally erase /system)
Code:
cd /cache
rm -r system control data.tar.gz control.tar.gz debian-binary
/edit:
mateorod said:
But when i went into a terminal once i cd cache, it only lists opkg out of the five packages. This worked when i did the wget through the terminal. The packages show as installed within the botbrew app (nice icon and UI, btw).
Click to expand...
Click to collapse
What did you do, cd /cache then ls? If so, you're most likely looking at the /cache/opkg directory, which contains temporary data. If you want to see what's installed using the command line, try opkg list-installed
I uh... picked a random icon I had lying around, and I plan to swap it out when I have time to make one. Thanks, though :3
The amount of help you're offering is just staggering. I will put the above together tonight and will report back.
I have a bug here in the GUI.
Rotation makes the app start looking for updates again.
edit: Reentering does the same...
opkg has then problems with set locks.
(CM7 KANG by MiRaGe)
Currently trying to install gcc to compile and run a small program...
edit2: gcc-4.6 installed. Still trying to compile a small prog. Will continue tomorrow...
Edit3: Well, problem with GUI fixed itself somehow.
Still, maybe you should check out how the GUI behaves during the installation process when rotated.
Yes, I can see how this bug could occur, and it should only happen during the first run. When the package cache is empty, the app tries to update by itself, and it seems that rotation causes something to restart. I've uploaded an update, which hopefully fixes this issue. Thanks for the report.
/edit:
Bug fixed for real. You may now rotate with impunity. Man, why can't Android have sensible defaults?
Okay, took me awhile, but...
$ export PATH=/data/local/bin:$PATH:.
$su
# cd cache/
# wget http://dl.dropbox.com/u/1213413/htdocs/agcc/hello.c
Connecting to dl.dropbox.com (174.129.218.194:80)
hello.c 100% |************************************| 93 0:00:00 ETA
# gcc -o hello hello.c
#ls
dalvik-cache hello lost+found recovery
download hello.c opkg
# ./hello
hello world
#mkdir -p system/bin
# cp hello system/bin/mateo-hello
#echo "Package: mateo-hello" > control
#echo "Version: 1.0" >> control
#echo "Architecture: armeabi" >> control
# echo "Description: a word from Mateo" >> control
#echo -n "2.0" > debian-binary
# tar zcvf data.tar.gz system
system/
system/bin/
system/bin/mateo-hello
# tar zcvf control.tar.gz control
control
# ar -r mateo-hello.opk debian-binary data.tar.gz control.tar.gz
ar: creating mateo-hello.opk
#opkg install mateo-hello.opk
Installing mateo-hello (1.0) to root...
Collected errors:
Two sets of collected errors related to system not being mounted R/W excised
Installing mateo-hello (1.0) to root...
Configuring mateo-hello.
#mateo-hello
hello world
#
So there it is. I just followed your more-then-generous guide, with some phrasing changes to show i didn't just copy/paste.
Some notes from the inexperienced:
-As you can see, I had to use the wget command to work on the hello.c script. I had hello as an installed package through the Botbrew GUI already, but no matter what permutation of hello command I ran, gcc would not recognize it as an input file. Just to say that your guide to the initial build, as written, i don't think will work for anyone who installs the packages through the apk. I don't know the solution, but i bet it's simple.
Edit: I guess the package you get through your apk is a fully built executable? I hadn't gone through the later steps when I first tried to build it, so I never thought to simply enter "hello". Output a much fancier greeting then the one I built. Capital letters and an exclamation mark! Very nice.
- For other newbies- make sure that system is mounted R/W through root explorer or some such. And if you employ a firewall, if you intend to use the wget command, not only do you need to allow your terminal through, you also need to allow applications running as root! I am sure this is news to no one, but it cost me FOREVER!
I feel like this constitutes progress. Thanks for all the work!
guYs,
check out this awesome package manager BotBrew. mostly of use to software developers. works like a charm on SGY (at least the debug version, which is attached)
http://forum.xda-developers.com/attachment.php?attachmentid=978569&d=1333376821
http://botbrew.com/manual.htm
use on PC: winSCP, PuTTY
on android: SSHDroid, botbrew, terminalIDE
then you have bbsh (from botbrew) & bash (terminalIDE)
run botbrew app (root required), then
install "hello"
adb shell botbrew hello
or equivalent
adb shell
su
cd /botbrew/bin
./hello
asf.
directories used:
/data/botbrew --------------- you may need to delete manually here to regain space after apk uninstall
/botbrew
/etc/opkg
/system/share/opkg
see also portal news on botbrew and the tag botbrew below for link to release thread.
{
"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"
}
mai77 said:
guYs,
check out this awesome package manager BotBrew. mostly of use to software developers. works like a charm on SGY (at least the debug version, which is attached)
http://forum.xda-developers.com/attachment.php?attachmentid=978569&d=1333376821
see also portal news on botbrew and the tag botbrew below for link to release thread.
Click to expand...
Click to collapse
@mai77, for what use is this thing mai77? hehe dont know what is this
I thought its used to see all installed packages in our device. including the apk's, jar, and binary file...isn't it mai?
well it installs all the GNU binaries, for starters.
gives you regular LINUX shell environment.
I thought busybox is already more than enough for a mid user like me (lol)
Thanks for making this thread, mai77. Thought I'd chime in
Indeed, the busybox that comes with your rooted ROM is probably more than enough for most users. BotBrew also depends heavily on busybox, but comes with a more complete build that has almost all of busybox (we try to include applets rather than exclude them). There are also tools that aren't in busybox, such as dropbear and rsync.
You're right that most casual Android users would probably not use these command line tools, but BotBrew really wants to be a tool for community developers to distribute scripts/enhancements/whatnot, and for users to find all these offerings in one place. The native tools currently in the repositories serve to support package management and to show off the dependency resolution functions (i.e. to install A, you need B and C, so all three pieces of software get installed).
I hope that clears it up a bit.
$0.00 Apple
with this package manager in place, APPLE stock prices will drop like a ******* stone
Hey, any chance you can bring in package Apache and it's dependencies?
I have an idea for a cool episode of XDATV sometime in the far future. I'd like to have apache to remote control the device.
Would lighttpd do? If not, I'll look into getting Apache; dependencies included, of course.
inportb said:
Would lighttpd do? If not, I'll look into getting Apache; dependencies included, of course.
Click to expand...
Click to collapse
I've never used that one. It probly would. I need something that can run scripts on the phone.
What kind of scripts? Shell scripts? PHP scripts?
If you need Python or Ruby, I've already seen django- and rails-based Web servers (which could run shell scripts too, using subprocesses) working.
/edit:
Okay, here's a basic demo of running shell scripts remotely using a Python-based Web server: https://gist.github.com/2373824
You will need bottle.py, which you could obtain from http://pypi.python.org/pypi/bottle/0.10.9 (all you need is bottle.py from the archive)
Anyway. Put both files in the directory, make (chmod) webctrl.py executable, and run `botbrew ./webctrl.py`. Now navigate to http://ip-address-of-android:8080/ps to get a process listing, and so on. If you want, you could make a runit script to start this service at boot. But before you go any further with this, be aware of the security implications -- you're exposing a root interface to the world, so it would be a good idea to lock it down somehow and/or drop root privileges.
Yeah. Just shell scripts. If you check out developer.adamoutler.com and go to the hackaday santapede repository ive set up, im basically going to reincarnate that. It is a web server that communicates with a serial device that controls another device. I think it would be pretty cool to set up a phone as a project brain to leverage its wifi capabilities... amongst other things.
Im mobile on a stock nook tablet now so i cant copy pasta but you can see a video of the desktop linux webserver controlling a robotic dancing, walking santa with a machine gun and rocket launcher on my youtube channel.. youtube.com/outleradam this is along the line sof my idea.
I think that's doable; I updated the script so that it does essentially the same thing as Apache+CGI. Just clone that gist, add bottle.py, and run webctrl.py
But are you able to get a connection from your Android device to Santa? I'm guessing that if you could get your Android device to act as a USB host, and it has /dev/ttyUSB0, the script would work unmodified.
think could you port wget or aptitude? not sure about the dependencies but that would be a little easier to use then subversion. does botbrew have repo support?
Wget, aptitude, and subversion are three totally different tools. Busybox has a wget applet, so all you need is a symlink. Aptitude would not be very useful without dpkg. Subversion is already available, and so is git. What do you mean by repo support?
inportb, you're a hero...
inportb, I've been following your work for about 4 months (repo.bash and even more opkg & botbrew...), and I've been amazed...!
i ****ing love botbrew, but i flashed a rom (cleanblank) on my sgs2 (i9100) and i can't find botbrew on the market..
can you fix that? or it's not your fault?
also, please, i'm begging you... i want PHP 5! please! i can't compile it! compiling windows is easier!!!
is there any possibility of compiling PHP for ex. on my device (autoconf+gcc+make)?
how can i create an opk after compiling?
a detailed version of setting up the toolchain on Arch linux?
thank you for your time!!
keep up the good work!
edit: may you compile bash too?
Not to worry... all this is coming soon because BotBrew+1 will use dpkg instead of opkg (so you could install Debian packages, or a complete Debian if you wanted to). This is taking some time because the GUI needs to be redone, but the minimal dpkg core is available as a tech demo "PengDroid". I have yet to figure out how to translate the "service manager" concept, but I'm thinking. Also, the toolchain is not going away; in addition, I have built an NDK that runs on PengDroid but generates binaries for stock Android/ARM, in an effort to support onboard development.
I know that documentation is lacking... for now, please feel free to ping me (Pinako) on IRC (#botbrew on irc.freenode.net) about that. I'm currently mobile, but I'll pass on the instructions when I find a good desk for my netbook. Thanks for your continued support!
Regarding BotBrew support for your ROM: it should be compatible with systems based on Android 2.2+. If you navigate to the app page using your Web browser, does it say that it's incompatible?
btw, I think Arch is an excellent distro; even though I mostly use Debian, I took hints from Arch while designing the cross-building tools.
I tried to use botbrew to install the "lighttpd" package.. this is what was returned on my Infuse4G.. Otherwise botbrew works fine.
For some reason it's reporting that it is out of space. It is not. There is plenty of space. You can see that at the bottom where I ran the "df" command.
Code:
1|[email protected]:/ $ opkg install lighttpd
Package android-framework-pdroid-v6 version 1.3.2-4 has no valid architecture, ignoring.
Package android-framework-pdroid version 1.3.2-6 has no valid architecture, ignoring.
Package android-framework-pdroid version 1.3.2-6 has no valid architecture, ignoring.
Package android-framework-pdroid version 1.3.2-4 has no valid architecture, ignoring.
Package android-framework-pdroid version 1.3.2-2 has no valid architecture, ignoring.
Package android-framework-pdroid version 1.3.2-7 has no valid architecture, ignoring.
Package android-framework-services-v6 version 0.0.4-6 has no valid architecture, ignoring.
Package v6-supercharger version 8.8.1-2 has no valid architecture, ignoring.
Installing lighttpd (1.4.30-1) to root...
Copying /botbrew/var/tmp/opkg/archives/lighttpd_1.4.30-1_armeabi.opk.
Installing libbz2 (1.0.6-3) to root...
Copying /botbrew/var/tmp/opkg/archives/libbz2_1.0.6-3_armeabi.opk.
Collected errors:
* copy_file: unable to preserve ownership of `/botbrew/var/tmp/opkg/tmp/opkg-Nn3447/lighttpd_1.4.30-1_armeabi.opk': Operation not permitted.
* copy_file: unable to preserve ownership of `/botbrew/var/tmp/opkg/tmp/opkg-Nn3447/libbz2_1.0.6-3_armeabi.opk': Operation not permitted.
* pkg_get_installed_files: Failed to make temp file /botbrew/var/tmp/opkg/tmp/opkg-Nn3447/libbz2.list.Uo3447.: No space left on device.
* pkg_get_installed_files: Failed to make temp file /botbrew/var/tmp/opkg/tmp/opkg-Nn3447/libbz2.list.WD3447.: No space left on device.
* wfopen: /botbrew/lib/libbz2.so: Permission denied.
* wfopen: /botbrew/lib/libbz2.so.1.0.6: Permission denied.
* wfopen: /botbrew/lib/libbz2.so.1.0: Permission denied.
* pkg_write_filelist: Failed to open //botbrew/var/lib/opkg/info/libbz2.list: No space left on device.
* opkg_install_pkg: Failed to extract data files for libbz2. Package debris may remain!
* opkg_install_cmd: Cannot install package lighttpd.
* opkg_prep_intercepts: Failed to make temp dir /botbrew/var/tmp/opkg/tmp/opkg-Nn3447/opkg-intercept-qk3447: No space left on device.
255|[email protected]:/ $ df
Filesystem Size Used Free Blksize
/dev 221M 32K 221M 4096
/mnt/asec 221M 0K 221M 4096
/mnt/obb 221M 0K 221M 4096
/mnt/.lfs: Function not implemented
/system 273M 227M 46M 4096
/cache 26M 4M 22M 4096
/data 1G 406M 1G 4096
/efs 5M 819K 5M 1024
/mnt/sdcard 13G 5G 7G 32768
/mnt/secure/asec: Permission denied
/mnt/asec/com.outfit7.talkingtom-1 13M 8M 4M 4096
/botbrew 1G 406M 1G 4096
/botbrew/run 221M 0K 221M 4096
/mnt/asec/com.ValhallaStudiosBifrost.Photon-2 14M 12M 2M 4096
/mnt/asec/com.inertsoap.fingerzilla-1 27M 25M 1M 4096
/mnt/emmc 7G 749M 6G 32768
1|[email protected]:/ $
p
Do you have superuser privileges? It seems that it was not able to access some files.
inportb said:
Do you have superuser privileges? It seems that it was not able to access some files.
Click to expand...
Click to collapse
Yeah. Botbrew is installed and working.. maybe it has system dependencies that are incompatible with Android 4.0? I am having a problem with my Galaxy Nexus and my Infuse 4g. The infuse4g is running CM9. The galaxy Nexus is running 4.0.2 AOSP stock. Both devices are rooted. Is there some way to increase logging levels?
I have a feeling it has to do with the way 4.0 handles storage.
{
"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"
}
SSH for the Rooted Fire TV
Secure Shell (SSH) is a cryptographic network protocol for secure data communication, remote command-line login, remote command execution, and other secure network services between two networked computers.
So what? Why do I want this on my Fire TV?
Right now, the only means of communicating with your Fire TV is through ADB, which is fine, but has limitations, mainly due to the fact that adb does not run as root.
SSH does, so those limits are removed. Using scp or even better sftp you can easily copy files to and from any area on your Fire TV, issue commands via ssh and more.
Details are HEREhttp://www.jocala.com/busydrop.html
reserved
Note: If you are an adbFire user you already have this. Just select "Install SSH" from the root menu.
Note: This is probably not compatible with other busybox installs. They do vary depending on compile-time options. Please uninstall Google Play busybox installs or other variants before installing BusyPlay!
Nice. I look forward to trying this out soon.
SSH helper apps
Canyaya' pid='1817081' dateline='1413750441 said:
Hi Jocala, thank you for all your work. When you install the sftp server, what is the username and password?
Click to expand...
Click to collapse
This is a cross-post from another forum. I thought it might be useful here.
root/password -- the userid should default to root
The command-line "ssh "helper" apps are:
Manually start the server with a password (no spaces)
Code:
sshstart
Usage: sshstart password -- arguments: the password you want to use
Kill sshd immediately
Code:
sshstop
Usage: sshstop -- no arguments, immediately kills ssh server
Show sshd status
Code:
sshstatus
Usage: sshstatus -- no arguments, gives ssh server status
Create sshd startup script with given password
Code:
sshinit
Usage: sshinit password -- arguments: the password you want to use (no spaces)
this program creates the file /etc/init.d/02sshd that starts sshd at boot
Delete sshd startup at boot script
Code:
sshboot
Usage: sshboot -- arguments: rm
Typing sshboot rm deletes the file /etc/init.d/02sshd that starts sshd at boot
Should i uninstall my playstore busybox before installing this?
jmandawg said:
Should i uninstall my playstore busybox before installing this?
Click to expand...
Click to collapse
Yes.
So I gave this a try following your instructions as it looked like it would work great for backing up cwm recovery files to my PC. I followed all the instructions installing the zip through cwm recovery and rebooting but when I click on ssh on adbfire 1.11 it says fatal error connection refused. Any idea what I might have done wrong or how to get it working. I have installed putty on my computer and I tried to connect directly through putty as well but that wouldn't work either. How can I test if the ssh server is working or not?
**edit: I got it to connect to putty and winSCP after uninstalling the busybox I had installed and installing the busybox through adbfire 1.11 I can see this being a very powerful and useful tool for the Fire TV. Very nice work jocala. I still can't see the cwm recovery files I would like to back-up though. Shouldn't they be in the /storage/emulated/legacy/clockworkmod folder unless I am missing something?
rotor00ter said:
So I gave this a try following your instructions as it looked like it would work great for backing up cwm recovery files to my PC. I followed all the instructions installing the zip through cwm recovery and rebooting but when I click on ssh on adbfire 1.11 it says fatal error connection refused. Any idea what I might have done wrong or how to get it working. I have installed putty on my computer and I tried to connect directly through putty as well but that wouldn't work either. How can I test if the ssh server is working or not?
**edit: I got it to connect to putty and winSCP after uninstalling the busybox I had installed and installing the busybox through adbfire 1.11 I can see this being a very powerful and useful tool for the Fire TV. Very nice work jocala. I still can't see the cwm recovery files I would like to back-up though. Shouldn't they be in the /storage/emulated/legacy/clockworkmod folder unless I am missing something?
Click to expand...
Click to collapse
I've added notes concerning Google Play busybox installs and adbFire.
/storage/emulated/legacy (/sdcard) is where my clockworkmod directory is. I haven't done a backup, so mine is empty.
Does this allow using keys?
{ParanoiA} said:
Does this allow using keys?
Click to expand...
Click to collapse
It should, although I haven't tried. A new startup script would be needed, sshstart is hardcoded to startup using a password.
BusyDrop 1.01 released
Changelog: update to BusyBox v1.22.1 (2014-10-26 17:14:21 EDT)
This setup is awesome for transferring files to and from the Fire TV. Much better and easier than adb once you get it set up properly. I have been using this with WinSCP and it has worked perfectly.
thank you very much for this. im loving it.
Is there a benefit to using this over an app like Servers Ultimate?
hazard666 said:
Is there a benefit to using this over an app like Servers Ultimate?
Click to expand...
Click to collapse
Obviously I think so or I wouldn't have taken the time to develop it. Are you a user of this other app?
jocala said:
Obviously I think so or I wouldn't have taken the time to develop it. I hope you don't want to debate the merits of my project against another in my thread. That wouldn't be very nice.
Click to expand...
Click to collapse
Or it's a completely valid question and I was wanting some input, but if you have issue with answering then ok.
Edit: What difference does it make whether I am or not a user of another app? I was asking if there is a benefit to using your app since I already have an established solution. Nevermind though.
hazard666 said:
Or it's a completely valid question and I was wanting some input, but if you have issue with answering then ok.
Edit: What difference does it make whether I am or not a user of another app? I was asking if there is a benefit to using your app since I already have an established solution. Nevermind though.
Click to expand...
Click to collapse
My apologies, rapid post at the end of a long bad day. I regretted my snappish response as soon as I hit enter, and edited, but not soon enough.
jocala said:
My apologies, rapid post at the end of a long bad day. I regretted my snappish response as soon as I hit enter, and edited, but not soon enough.
Click to expand...
Click to collapse
It's quite alright. I'm not too happy with my current setup so I will be trying out BusyDrop.
hazard666 said:
It's quite alright. I'm not too happy with my current setup so I will be trying out BusyDrop.
Click to expand...
Click to collapse
If you have any questions I'll be more than happy to assist. Now I'm going to bed before I kick my dog or do something else that will embarrass me tomorrow.
+1 for being able to ssh in using a key and disabling password logins. It makes it easy to log in from putty and other ssh clients, more secure and I don't have to record one more password.