Busybox Tutorial

mcmike685 schrieb:
kommt dann immer:

mini cp for android, ported from busybox

Usage: cp [-adHpfr]... SOURCE DEST

Also für mich sieht es so aus, als hättest du busybox bereits laufen, denn wenn du den Befehl cp aufrufst, steht dort ported from busybox das steht bei der ursprünglichen cp-Version soweit ich weis nicht.
 
Hi,
hab ein Problem. Wenn ich Die Zeile mit /data/busybox/busybox --install eingebe kommt nur die meldung "--install: applet not found" was mache ich falsch? hab es auch mit einem Bindestrich probiert, kommt das gleiche. verwende connect bot.
Danke schon mal für die hilfe.
 
chmod gemacht? geh das tut nochmal schritt für schritt durch
 
BobASG schrieb:
Wenn ich Die Zeile mit /data/busybox/busybox --install eingebe kommt nur die meldung "--install: applet not found" was mache ich falsch?
Wenn das chmod nichts bringt, suche eine neuere Version von busybox.

/data/busybox/busybox
ohne Zusatz bringt die Hilfe, am Anfang der Hilfe steht die Version


sollte die Version anzeigen - bei uns hat es mit Version 1.15.2 NICHT funktioniert.

BTW:
im Gegensatz zu vielen Anleitungen haben wir die busybox in den system teil (/system/xbin) abgelegt und auch die links. Damit sind die Befehle ohne PATH Befehl erreichbar und man hat keine Sorgen nach dem Reboot.

Ich bin weitgehend nach dieser Anleitung (extrahiert aus dem vpnc wiki) vorgangen (- Tippfehler):
i) command to get root access
su
ii) change your system partition from read only to writable
mount -o remount,rw /dev/block/mtdblock4 /system

iii) check if the directory /system/xbin exists. If it does not create it
mkdir /system/xbin
chmod 755 /system/xbin

iv) change the the xbin directory
cd /system/xbin
v) copy the busybox program to this location and make it executable
dd if=/sdcard/busybox of=./busybox
chmod 755 ./busybox
vi) install the busybox links
./busybox --install [*1]

If you get a series of error messages that say "Invalid cross-device link" you are probably using an older version of busybox.

Use 1.15.2 or greater. [*2]

vii) Systempartition wieder read-only
mount -o remount,ro /dev/block/mtdblock4 /system

[*1] wir haben mit -s die Links in das originale Verzeichnis kopiert
./busybox --install -s /system/bin
Hat anders bei uns nicht funktioniert, bzw. nur mit neuerer Version.
 
  • Danke
Reaktionen: mash211 und BobASG
Wenn ich in den ordner /data/busybox/ schaue dann hab ich viele einzelne dateien die wie die ganzen befehle aus der busybox heißen. Heißt es ich hab schon busybox drauf oder wie kann ich's testen.
Btw chmod habe ich gemacht.
 
1000 Dank an Robertpic71

Mit deinen Befehlen hab ichs nun auch hinbekommen und kann endlich Titanium Backup nutzen und nun mal so richtig loslegen rumzuspielen :)

Bin gestern fast verzweifelt - habe mit den sonst hier aufgelisteten Befehlen
su
mkdir /data/busybox
mv /sdcard/busybox /data/busybox/
chmod 755 /data/busybox/busybox
/data/busybox/busybox --install
export PATH=/data/busybox:$PATH

beim install-befehl dann immer "no such file or directory" bekommen.

Sehr wichtig scheint mir auch die richtige Version von Busybox zu sein, da kann man gut drüber stolpern.

Und worüber ich auch gestolpert bin, ..wenn man am Stein für die USB-Verbindung die falsche Option wählt findet die adb shell kein device - daß man USB auf Debugging setzen muß hab ich nirgendwo gelesen, (oder nur überlesen =)
Ja ja, wenn mans weiß lacht man drüber, mir hats ein paar graue Haare beschert ;-)
 
Zuletzt bearbeitet:
kann mich dem Dank an Robertpic71 nur anschliessen.

endlich hats geklappt, hatte bei der Beschreibung bei dem der PATH exportiert werden musste immer das Problem, das beim su dann "permission denied" kam. Das ConnectBot-Terminal konnte ohne die Path-Variable problemlos zum su wechseln.

Jetzt habe ich die komplette Commandvielfalt und dann werd ich dat ding mal n büsschen verbiegen.

:D

@vll anderen Thread. Aber weiss von Euch jemand, wie ich n pipe-zeichen auf der Tastatur hinbekomme?

DAmash
 
geht das auch fürs galaxy?
 
hab rausgefunden wie man im ConnectBot auf der Milestontastatur das pipe-zeichen hinbekommt.

ALT + SHIFT + ;

have fun :D

DAmash
 
  • Danke
Reaktionen: KurrKurr und herrlado
Hi :)

Ich hätte da auch mal ne Frage bzgl. der Busybox...

Wie kann ich die Steuerzeichen z.b. bei dem ls-Befehl abschalten?

Das ganz is zwar recht witzig, aber mit den Steuerzeichen kann ich beim besten Willen nix an Dateinamen herauslesen.

Gruß
freakbert
 
mh ... Steuerzeichen. Was meinst denn da genau?

Andere Frage. Weiss jemand wie man an die F-Tasten kommt. Konnte zwar da mit der ESC + Zahl arbeiten, aber beim umschalten auf Zahl ist die ESC-Eingabe weg.

DAmash
 
Auf modaco.com Seite bin ich habe ich nun endlich busybox gefunden bei dem der Resolver funktioniert. Dort hat einer opkg für Android portiert und ein Paar Pakete erstellt, darunter busybox. Ich habe das Package mit ipkg-tools auseinandergenommen und es wieder gezipped. Dort interessant ist vor allem system/bin/busybox binary +
sollte man in /system/etc/resolv.conf die Nameserver eintragen

Bei mir ist es momentan:
Code:
bash-3.2# cat /etc/resolv.conf 
domain lan
search lan
nameserver 8.8.8.8
nameserver 8.8.4.4
und hier

Code:
bash-3.2# ping arcor.de
PING arcor.de (151.189.21.100): 56 data bytes
64 bytes from 151.189.21.100: seq=0 ttl=248 time=98.327 ms
64 bytes from 151.189.21.100: seq=1 ttl=248 time=14.740 ms
64 bytes from 151.189.21.100: seq=2 ttl=248 time=42.023 ms
^C
 

Anhänge

  • busybox_mcr_1.16.0-2_arm.zip
    606 KB · Aufrufe: 229
  • Danke
Reaktionen: boza und mojo
guten tach zusammen!
ich hab da grad´n kleines problem mit busybox.

ich installiere busybox per gscript mit folgendem script:

#!/system/bin/sh

echo "busybox installer"
echo "================================== "
sleep 3
echo "remount /system to rw..."
mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /system
echo "/system is mounted to rw!"
echo "============================= step: 1/3 done."
sleep 2
echo "installing busybox..."
mkdir /data/busybox
cp -f /sdcard/customize/apps/busybox /data/busybox/busybox
chmod 755 /data/busybox/busybox
/data/busybox/busybox --install
export PATH=/data/busybox:$PATH
sleep 3
echo "============================= step: 2/3 done."
sleep 1
echo "remount /system to ro..."
mount -o remount,ro -t yaffs2 /dev/block/mtdblock6 /system
echo "/system is mounted to ro!"
echo "============================= step: 3/3 done."
sleep 2
echo "busybox installed in /data/busybox"
wenn ich danach ein weiteres script mit gscript ausführen lassen will, erhalte ich ne fehlermeldung, busybox sei nicht installiert, was aber faktisch falsch ist - wenn ich mit root explorer in /data/busybox wechsel, IST da busybox mit allen befehlen installiert.

kann einer anhand des scripts erkennen, wo der fehler liegt? meiner meinung nach kann es nur am $PATH oder einem link liegen, wovon ich leider zu wenig ahnung habe; aber wenn ich im script für gscript den pfad zu busybox angebe, läuft es einwandfrei durch.

gruß kiste

edit:
mh.. ich hab noch´n ähnliches problem mit einem anderen script:
#!/system/bin/sh

echo "remount /system to rw..."
mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /system
echo "/system remounted to rw."
sleep 2
#-------------------------
echo "installing rwsystem script..."
cp -f /sdcard/customize/scripts/rwsystem /system/bin/rwsystem
chmod 755 /system/bin/rwsystem
echo "done."
sleep 2
#-------------------------
echo "installing rosystem script..."
cp -f /sdcard/customize/scripts/rosystem /system/bin/rosystem
chmod 755 /system/bin/rosystem
echo "done."
sleep 2
#-------------------------
echo "remount /system to ro..."
mount -o remount,ro -t yaffs2 /dev/block/mtdblock6 /system
echo "/system remounted to ro."
echo "all scripts installed sucessfully!"
wie man sieht, werden die dateien "rwsystem" und "rosystem" nach /system/bin kopiert. dateiberechtigungen werden gesetzt und somit sollten diese beiden dateien durch einfachen aufruf von "rosystem" und "rwsystem" in scripts ausführbar sein - sind sie aber nicht.
weiß dazu vielleicht auch einer der linux-cracks was?
die dateiverweise sind natürlich korrekt, die dateien werden auch korrekt kopiert und die berechtigungen entsprechend gesetzt, is klar ;)

nochmals grüße :)
 
Zuletzt bearbeitet:
Wo liegt denn das busybox binary vor dem Ausführen des Skriptes?

KisteBier schrieb:
guten tach zusammen!
ich hab da grad´n kleines problem mit busybox.

ich installiere busybox per gscript mit folgendem script:



wenn ich danach ein weiteres script mit gscript ausführen lassen will, erhalte ich ne fehlermeldung, busybox sei nicht installiert, was aber faktisch falsch ist - wenn ich mit root explorer in /data/busybox wechsel, IST da busybox mit allen befehlen installiert.

kann einer anhand des scripts erkennen, wo der fehler liegt? meiner meinung nach kann es nur am $PATH oder einem link liegen, wovon ich leider zu wenig ahnung habe; aber wenn ich im script für gscript den pfad zu busybox angebe, läuft es einwandfrei durch.

gruß kiste
 
@herrlado
das liegt in /sdcard/customize/apps/
müßte von daher eigentlich passen..
 
freakbert schrieb:
Hi :)

Ich hätte da auch mal ne Frage bzgl. der Busybox...

Wie kann ich die Steuerzeichen z.b. bei dem ls-Befehl abschalten?

Geht IMHO nur mit einem workaround:
Code:
alias ls="ls --color=never"
Wie es bei vi usw. geht hab ich noch nicht rausgefunden, ich exportiere den Pfad zur Busybox daher nur bei Bedarf.

Gruß
 
hm.. muß busybox evtl nach /system/busybox installiert werden, damit´s funktioniert?
in windows ist´s ja ähnlich, das system sucht im systemordner nach programmen wie zb cmd, die durch eben diesen aufruf sofort gestartet werden können.
wobei ja eigentlich durch setzen von $PATH theoretisch der link zu busybox systemweit gelten müßte.. allerdings hört hier mein halbwissen auch schon wieder auf, ich dachte nur, daß es evtl eine möglichkeit wäre, busybox nach /system zu installieren

falls keiner eine antwort auf meine fragen zu dem/den scripts hat.. wie läßt sich busybox eigentlich deinstallieren? und wie die $PATH-variable wieder entfernen? dann würde ich eben einfach testen, ob´s geht, wenn busybox in /system installiert wird.
allerdings wäre damit auch meine frage zum zweiten script nicht geklärt.. ^^ wohl´n neuen thread dazu aufmachen.

gruß und so

edit:
gibt´s eigentlich´n guten grund, weshalb busybox NICHT in /system/bin (bspw) installiert wird/werden soll?
hab mir mal den inhalt von $PATH anzeigen lassen, /system/bin oder /system/xbin sind ja linux-standardmäßig drin. ergo müßte es doch einfacher sein, busybox hier zu installieren, da es somit durch simples "busybox" ausführbar wäre. oder gilt /system/bin ausschließlich für programme, die direkt in /system/bin und NICHT in unterverzeichnissen liegen?
 
Zuletzt bearbeitet:
Den Busxbox-Installer habe ich nach dem HowTo hier auf Seite1 geschrieben.
Busybox funktioniert bei mir problemlos ;)
Ich gebe in Connectbot als erstes su ein dann rwsystem, dabei wird gleich PATH gesetzt.
Ab jetzt kann ich mit busybox arbeiten...
Wo genau hackt es bei Dir?

Busybox deinstallieren brauchst Du nicht, ein
rm -rf /data/busybox genügt.
Die PATH Variable muss auch nicht entfernt werden da sie nirgens gespeichert wird.
Um Busybox zu verwenden muss vorher immer die PATH-geschichte eingegeben werden (wird aber von rwsystem automatisch erledigt)
 
Zuletzt bearbeitet:
@luke
aha, da lag also der fehler.. ich ging davon auns, daß die PATH-variable gespeichert wird und nicht jedesmal neu eingegeben werden muß. dann ist klar, daß busybox nicht funktionieren konnte!
hatte es soeben testweise aus /data/busybox rausgekickt und nach /system/xbin installiert, um´s eben ohne jedesmal erneutes eingeben der PATH-variable nutzen zu können; installation schlägt fehl, da beim installieren sämtliche inhalte von busybox automatisch nach /data/busybox kopiert werden. ordner war nicht da - *miieep* geht nicht.

also belasse ich´s so und schreib rwsystem wieder um, daß beim aufruf automatisch PATH gesetzt wird.

danke für die aufklärungsarbeit, wieder was gelernt :)
 
Zuletzt bearbeitet:

Ähnliche Themen

Z
  • Gesperrt
  • Zoki
Antworten
1
Aufrufe
1.051
TheSpiritof69
TheSpiritof69
obicom
  • obicom
Antworten
19
Aufrufe
3.214
IrealiTY
IrealiTY
M
Antworten
8
Aufrufe
2.083
mowlor
M
Zurück
Oben Unten