Busybox Tutorial

  • 107 Antworten
  • Letztes Antwortdatum
No Problem :)
 
Also ich fang mal von vorne an (Motorola M.Stone 2.0.1) ....

Ich habe How-To: Rootzugriff für Motorola Milestone gelesen:https://www.android-hilfe.de/forum/...er-motorola-milestone-das-original.15031.html

Danach funktionierte das irgendwie nicht. Habe dann die Antwort bekommen:

du musst es erst schreibfähig machen und dann im terminal dann eingeben
(sofern du busybox schon installiert hast)
Gut, dann habe ich diesen Beitrag gelesen und mir die Datei http://files.spacefish.biz/busybox
runtergeladen und dann im sogenanten "Wechseldatenträger" einen Ordner erstellt mit dem Namen "data" darin dann einen Ordner mit dem Namen "busybox" und in diesem Ordner dann die Datei eingefügt. So und dann??

Leider komme ich nicht weiter. Hoffe um eine Aufklärung :S
Der Link Busybox auf Milestone Spacefish´s Blog hat mir leider nicht weitergeholfen. :(

Lieben Gruß und danke im Vorraus
 
Zuletzt bearbeitet:
kann mir keiner helfen =(
 
cyprinus schrieb:
Leider komme ich nicht weiter. Hoffe um eine Aufklärung :S
Der Link Busybox auf Milestone Spacefish´s Blog hat mir leider nicht weitergeholfen. :(

Es steht doch eigentlich alles da was zu tun ist. Mir ist es nur ein Rätsel warum Du versuchst Busybox auf SD zu installieren. Das kann nicht funktionieren.

Alternativ kannst Du mein Script downloaden und Busybox damit installieren. Einfacher geht es wirklich nicht mehr ;)

  • Installiere die App Gscript lite vom Market
  • Gscript Lite ein mal starten und beenden
  • Script downloaden https://www.android-hilfe.de/forum/...ne.111/milestone-black.16562.html#post-171284
  • entpacke die heruntergeladene Zip-Datei auf die SD-Karte
  • kopiere das Script /sdcard/customize/scripts/busybox.sh in /sdcard/Gscript/
  • Gscript Lite starten > Menü >Add Script >Load File > busybox.sh auswählen > Hächkchen bei Need SU? > Save
  • busybox starten, kurz warten, fertig!
Schaut komplizierter aus als es in Wirklichkeit ist ;)

Viel Spaß!
 
  • Danke
Reaktionen: DrFlow
Du musst auf den von dir zitierten Link mit rechtsclick drauf,
spechern unter....

dann läd er irgendein komisches file runter mit der endung *.url oder sowas
und die änderung machste einfach weg

also das file heisst dan NUR

busybox

ohne

.sh
.dat
.url
.html

oder sowas.....nur busybox

dannw eiter nach einleitung im eingangspost
 
  • Danke
Reaktionen: Chicco
Luke schrieb:
busybox starten, kurz warten, fertig!

Ich habe in deinen Scripts nirgends etwas gefunden, was die Busybox dauerhaft im Pfad behält. Nach dem Reboot ist der Pfad ja wieder original. Wenn ich da ein Progamm wie ConnectBot oder VPNC starte, sind die Busyboxbefehle nicht im Pfad - oder habe ich da irgendetwas übersehen? [*EDIT]

Ich bin durch diesen Thread auf "Gscript lite" aufmerksam geworden - nette Sache um z.B. für Busybox, VPNC & Co.

Bei der Busybox tendiere ich eher zu eine anderen Installationsvariante (Symlinks in sytem/bin).

/Robert

[EDIT]
Ich habe auf den vorigen Seiten geseh, dass ein extra Command "rwsystem" erst scharf macht. Die Frage hat sich damit erübrigt.
[/EDIT]
 
Zuletzt bearbeitet:
ich hab mir jetzt mal das tutorial von robertpic71 angesehn und das gefällt mir an sich ganz gut, bis auf das, dass man -NICHT- die links dann ins /system/bin verschieben sollte, da es zB probleme mit dem su gibt (kann das jemand bestätigen? bekomme da immer "su: must be suid to work properly) ... würde man die links und binary nur ins /system/xbin verschieben, wird zuerst /system/bin durchsucht und jener befehl verwendet, was heißt, man müsste es wieder exportieren damit es funktioniert...

wenn man sich jedoch die init.rc etwas genauer ansieht, stellt sich raus, dass beim PATH /system/sbin vor /system/bin gesetzt wird und bei mir noch nicht einmal existierte... somit, idealer playground ;)

ich hab jetzt einfach den /system/sbin ordner erstellt und chmod 755 sowie chown 0:2000

anschließend hab ich die busybox datei in /system/sbin reinkopiert (vorgehensweise hierfür bleibt für das meiste die selbe wie im TUT und chmod nicht vergessen!!). danach ./busybox --install -s was die symboldateien unter /data/busybox/ anlegt. diese verschieben wir jetzt nach /system/sbin.

somit haben wir alle dateien was die busybox angeht (das binary selbst und alle zugehörigen links) in sbin liegen und alle links (herauszufinden mit ./ls -la) zeigen auf -> /system/sbin/busybox.

und siehe da, es werden immer die busyboxcommandos verwendet und tritt ein notfall auf oder was auch immer, braucht man zB nur /system/bin/COMMAND und man hat das original in verwendung.

ich empfehle weiters, unter /system/sbin die su rauszulöschen und ausschließlich die "normale" zu verwenden, da diese bei mir schlicht und ergreifend nicht funktioniert.

getestet hab ich das auf meinem österreichischen milestone mit 2.0.1 und busybox v1.8.1


beste grüße
morgoth
 
Kein schlechter erster Beitrag!

Was die Links angeht ist deine Methode ideal.
Man sollte die vorhandenen Programme nicht permanent durch Busybox-Programme überschreiben (und vor allem nicht 'su').​
 
Meine "Architektur" habe ich den Custom-Roms vom G1 nachempfunden. Dort steht die Busybox in der xbin. Das gemoddete Milestone habe ich nicht mehr (war nicht meines), aber das su hat danach noch funktioniert.

Eigentlich dürfte der busybox Ínstaller den Link zu su nicht anlegen können, wenn es bereits ein datei su im /system/bin Ordner gibt bzw. bei den G1 Mod's steht su auch im xbin und es gibt einen Link nach bin.

Wenn wir die perfekte Lösung haben, können wir ein Script für Gscript Light machen.
 
ich hab das out-of-the-box OS von A1 (provider) drauf. schätze mal, dass da keine mods vorgenommen wurden die von den anderen DACH-geräten abweichen.

[OBSOLETE] der busybox-installer legt die links anscheinend standardmäßig unter /data/busybox ab und der übergabeparameter mit der pfadangabe hat keine auswirkung. somit muss man es dann selbst rüberschieben was ich mit cp -f und anschließendem rm mache und da überschreibt er dir dann die bereits vorhandenen links schon. [/OBSOLETE] würdest es einfach mit cp reinkopieren, würde kein einziges standardcommand wie z.B. ls ersetzt werden.

ok, in dem fall hast dann sowieso das "normale" su verwendet was meinem löschvorgang unter /system/sbin gleich kommt. denn findet er es nicht in /system/sbin sucht er in /system/bin und dort wird er dann fündig, da ist kein link notwendig.

ein script ohne jeglichen schnickschnack sollte leicht möglich sein, wenn mir andere nutzer bestätigen können, dass diese vorgehensweise auch bei ihnen funktioniert.


beste grüße
morgoth
 
Zuletzt bearbeitet:
hier mal alles halbwegs step by step zusammengefasst:

am besten ist es wahrscheinlich, wenn man vorher alles was mit busybox zu tun hat von seinem device entfernt (/system/xbin säubern (aufpassen dass nicht andere dateien gelöscht werden!!), /data/busybox etc.)

getestet mit der version, die im ersten post verlinkt ist [1.8.1]:

mount -o remount,rw /dev/block/mtdblock4 /system
mkdir /system/sbin (vorher ist es natürlich ratsam zu überprüfen ob dieser ordner schon besteht und sollten dateien enthalten sein, diese zu backupen)
chmod 755 /system/sbin
chown 0:2000 /system/sbin (wahrscheinlich nicht notwendig)
cp /sdcard/busybox /system/sbin
chmod 755 /system/sbin/busybox
cd /system/sbin
./busybox --install -s (vorher überprüfen ob /data/busybox leer ist bzw müsste auch gehn wenn er noch gar nicht existiert. bin mir nämlich nicht sicher, ob der installer vorhandene links aus einer vorhergehenden installation überschreibt)
cd /data/busybox
cp * /system/sbin
rm *
rm /system/sbin/su
mount -o remount,ro /dev/block/mtdblock4 /system

nutzt man eine neue version von busybox und kann den pfad angeben (mittlerweile erfolgreich getestet mit 1.15.3):

mount -o remount,rw /dev/block/mtdblock4 /system
mkdir /system/sbin (vorher ist es natürlich ratsam zu überprüfen ob dieser ordner schon besteht und sollten dateien enthalten sein, diese zu backupen)
chmod 755 /system/sbin
chown 0:2000 /system/sbin (wahrscheinlich nicht notwendig)
cp /sdcard/busybox /system/sbin
chmod 755 /system/sbin/busybox
cd /system/sbin
./busybox --install -s /system/sbin/
rm /system/sbin/su
mount -o remount,ro /dev/block/mtdblock4 /system

das sollte es halbwegs gewesen sein.

cd /system/sbin
ls -la (dann sollte COMMAND -> /system/sbin/busybox für alle aufgelistet werden)

dies ist auch der test, ob es richtig funktioniert, denn -la gibts beim normalen ls nicht.

treten irgendwelche probleme auf, sollte man folgendes machen:
cd /system/sbin (also, wo die busybox datei liegt)
./busybox ls -la (gibt aus ob die links auch auf die richtige destination zeigen. müssen wie oben schon gesagt -> /system/sbin/busybox sein)
./busybox env (sollte PATH=/sbin:/system/sbin:/system/bin:/system/xbin ausgeben. hierbei ist es grundlegend wichtig, dass sbin vor bin steht)


ich hoffe, das macht es etwas übersichtlicher und nachvollziehbarer.

beste grüße
morgoth
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Armator und casula
morgoth schrieb:
der neue busybox-installer legt die links anscheinend standardmäßig unter /data/busybox ab und der übergabeparameter mit der pfadangabe hat keine auswirkung mehr.

Bist du sicher das du eine neue Version von Busybox hast? Die Version 1.8.1 wäre ja älter als 1.16.x. Und erst seit Version 1.15. ist die neue Installvariante drinnen.
 
  • Danke
Reaktionen: morgoth
ah, verdammt. das hab ich übersehn. aber gut, das würde ja lediglich ein paar schritte vereinfachen. ich werds kurz updaten.

EDIT: habs mittlerweile getestet und funktioniert ebenfalls einwandfrei. hab beide abläufe aufgelistet. jedoch hab ich beim ls kein farbiges highlighting mehr mit der neuen version und die busybox-su hat noch immer nicht funktioniert. [1.15.3]
 
Zuletzt bearbeitet:
Rolligt schrieb:
Bei mir gings so:

Busybox auf sd gezogen, mit root explorer ausschneiden und in den neu angelegten Ordner
/data/busybox verschoben.
Jetzt noch ins Terminal
su
/data/busybox/busybox

DANKE !
Auf Seite 5 wurde mir geholfen . . .
Für Root-Explorer-Besitzer deutlich einfacher und jetzt läuft auch mein Titanium-Backup.

Gruß
Mike
 
Zuletzt bearbeitet:
liegt /data beim milestone auf einer andere partition als /system?
wollte eigentlich die busybox befehle auch nach /system/sbin kopieren, aber während des kopierens meldet er mir das zu wenig speicherplatz vorhanden ist.

gehe ich im root explorer in den ordner /system zeigt er oben auch an das 110mb belegt und 67 frei sind. im /data ordner gibts keine auskunft über den vorhandenen speicherplatz

//edit: somit suche ich immer noch nach einer lösung damit busybox ohne den export befehl läuft.
und noch eine frage. wie kommt es das jegliche änderungen am / verzeichniss nach einem reboot rückgängig gemacht werden? erstelle ich eine datei, ist sie nach dem boot weg. füge ich einen befehl zu einer bestehenden datei hinzu, ist diese änderung nach dem reboot ebenfalls wieder weg??
 
Zuletzt bearbeitet:
keiner einer idee? würden symlinks vom eigentlichen suchpfad für die shell befehle auf den /data/busybox ordner funktionieren?
 
ja, es liegt auf einer anderen partition, aber was dein problem betrifft, tippe ich drauf, dass du keine symlinks erstellst sondern für jeden befehl die busybox datei kopierst... da ist deine partition sofort voll... vergiss nicht, dass du -s beim installieren anhängst...

die datei ist weg, da / in einer ro-imagedatei liegt die du nur mit wesentlich mehr aufwand verändern kannst und wenn du zur laufzeit etwas veränderst, beim reboot das wieder gelöscht wird...

ja, die symlinks würden funktionieren, da ist es ja unabhängig ob es die selbe partition ist oder nicht... aber sollte nicht notwendig sein

beste grüße
 
  • Danke
Reaktionen: cardex
Das du in / nichts verändern kannst liegt wie morgoth schon sagt daran, dass / keine "richtige" partition ist.
Beim booten wird der kernel samt einer init ramdisk geladen und diese ramdisk ist dann /
Dort werden dann in den init skripten /system /data /cache usw eingehängt.
Da kernel und ramdisk allerdings signiert sind, können wir diese nicht austauschen und somit auch nicht verändern.

Wenn du busybox selbst kompilierst, kannst du es hinterher auch in /system installieren.
Die hier angebotene busybox version lässt meine ich nur eine installation in /data zu.
Beim kompilieren darauf achten, dass noch in einer datei etwas verändert werden muss, da sonst versucht wird busybox in /usr/bin bzw /usr/sbin zu installieren.

Einfach mal tante google fragen, dann dürftest du genug infos finden was du zu tun hast.
 
  • Danke
Reaktionen: cardex
Mit morgoth anleitung ging es doch, ich hatte nur vergessen -s als parameter anzuhängen...

Danke für die erläuterungen zum filesystem.
 

Ähnliche Themen

Z
  • Gesperrt
  • Zoki
Antworten
1
Aufrufe
1.115
TheSpiritof69
TheSpiritof69
obicom
  • obicom
Antworten
19
Aufrufe
3.267
IrealiTY
IrealiTY
M
Antworten
8
Aufrufe
2.129
mowlor
M
Zurück
Oben Unten