[script]Apps2SD Automatisiert für die ADBRecovery

  • 341 Antworten
  • Letztes Antwortdatum
Ja einfach die Anleitung in dem ersten Post dahingehend anpassen....
Mir ist gerade eingefallen, dass das jmd nochmal extra aufgeführt hatte,
glaub das müsste das hier gewesen sein.
Wenn du von hier kommst musst du halt die mot_boot_mode vorher wieder anpassen und den mountbefehl auf /data/app-private entfernen.

mfg
 
  • Danke
Reaktionen: bemymonkey
wenn du es auf symlinks umstellst, mußt du ein paar sachen anpassen, unteranderem auch die mot_boot_mode.51.app2sd...
dann müßen eben die entsprechenden ordner (app und app-private) gelöscht werden, und dann müßen die passenden symlinks erstellt werden, denn wenn man symlinks nutz, sollte man es für beide ordner machen um eventuelle probleme zu vermeiden
 
  • Danke
Reaktionen: bemymonkey
Und weiss jemand, wieso Symlinks im Gegensatz zu den direkt gemounteten Ordneren funktionieren?
 
Zu dem warum kann ich dir leider nix sagen...
Wie gesagt, den mount Befehl entfernen und dann die von mir verlinkte Anleitung, das sollte passen, da der app-private Ordner ja momentan leer sein müsste wenn du keine Apps installieren kannst.
Ansonten müsstest du halt kopieren von /data/app2sd/app-private anstatt von /data/app-private.
Ich hab übrigens dalvik-cache per mount -bind von der SD eingebunden und darin widerrum alle system dexs per symlink von /cache, da das mein System
deutlich beschleunigt hat.
Also das "mischen" sollte (ohne gewähr natürlich) auch kein Problem darstellen.
Wobei ich mich wohl auch eher für eine von beiden Varianten entscheidne würde.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: bemymonkey
So, ich wollte eben mal meine mot_boot_mode.51.apps2sd umschreiben, und bin drauf gekommen, dass ich ja gar kein busybox in /data/ habe, und das ja für diese Zeilen

Code:
chmod 644 /data/sdapp/private/*    #Richtige Permissions setzen
/data/busybox/chown -h 1000:1000 /data/app-private     #Besitzer der Verknüpfung (-h) setzen (hier wird root eingetragen).
/data/busybox/chown 1000:1000 /data/sdapp/private/*    #das selbe für alle Dateien auf der SD
/data/busybox/chown 1000:1000 /data/sdapp/private    #und nochmal für den Folder selbst
brauche.

Kann ich also einfach busybox aus dem Ordner "recovery" auf der SD Karte mit Root Explorer in /data/ reinkopieren und den Code bis auf die Änderungen der Pfade (app2sd/app-private statt sdapp/private) sonst übernehmen?


-edit- Sprich, meine mot_boot... würde nach dem Kopieren von Busybox dann so aussehen:

Code:
#Apps2SD mod
#ext2 Modul laden
insmod /data/ext2.ko

#Apps2SD Partition mounten
mount -t ext2 /dev/block/mmcblk0p2 /data/app2sd
mount -o bind /data/app2sd/app /data/app
#mount -o bind /data/app2sd/app-private /data/app-private
ln -s /data/app2sd/app-private /data/app-private
chmod 644 /data/app2sd/app-private/*
/data/busybox/chown -h 1000:1000 /data/app-private
/data/busybox/chown 1000:1000 /data/app2sd/app-private/*
/data/busybox/chown 1000:1000 /data/app2sd/app-private
Wäre das so in Ordnung? Bis auf die ignorierten Warnungen bzgl. Symlinks und Mount mischen, natürlich ;)
 
Zuletzt bearbeitet:
durch mein app2sd script hast du busybox in /system/bb ;)
aber sonst schaut es okay aus
 
  • Danke
Reaktionen: bemymonkey
Perfekt, noch ein Grund, Dir zu danken ;)

also dann /system/bb/busybox/chown? Oder einfach nur /system/bb/chown? :)

-edit- Ah ok, wohl Ersteres :) Dann probier' ich das mal aus... nandroid backup steht ja :D
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: MichelFell
da die busybox da nicht installiert ist mußt du es so machen:
/system/bb/busybox chown
also immer das /system/bb/busybox und dahinter dann den befehle, also chown, chmod, cp oder was auch sonst noch benötigt wird...
 
  • Danke
Reaktionen: bemymonkey
Danke Dir :)
 
Hmmmm ....
Warum willst du die symlinks in der mot_boot_mode erstellen ?
Die sind ja statisch und gehen bei neustart nicht verloren.
D.h. deine mot_boot_mode müsste ca so aussehen
Code:
#Apps2SD mod
#ext2 Modul laden
insmod /data/ext2.ko

#Apps2SD Partition mounten
mount -t ext2 /dev/block/mmcblk0p2 /data/app2sd
mount -o bind /data/app2sd/app /data/app
Symlinks und Berechtigungen usw setzen machst du über die shell (Konsole) am besten in der recovery.
Ausserdem wurde der Pfad zur Busybox glaub ich exportiert d.h. es müsste auch ohen pfadangabe gehen, da bin ich mir allerdings nicht ganz sicher da ich nur mal kurz über das skript drüber geschaut habe.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: bemymonkey
So, jetzt hab ich das Ganze mal gemacht, und geändert hat sich gar nichts... ich bekomme immer noch genau die gleichen Symptome :(

Habe ich denn die richtige mot_boot_mode ersetzt (falls es mehrere gibt)?

Es war die in /system/bin/... Was könnte ich falsch gemacht haben? Bzw. was fehlt noch?

Die mot_boot_mode.51.apps2sd sieht jetzt so aus:

Code:
#Apps2SD mod
#ext2 Modul laden
insmod /data/ext2.ko

#Apps2SD Partition mounten
mount -t ext2 /dev/block/mmcblk0p2 /data/app2sd
mount -o bind /data/app2sd/app /data/app
#mount -o bind /data/app2sd/app-private /data/app-private
ln -s /data/app2sd/app-private /data/app-private
chmod 644 /data/app2sd/app-private/*
/system/bb/busybox/chown -h 1000:1000 /data/app-private
/system/bb/busybox/chown 1000:1000 /data/app2sd/app-private/*
/system/bb/busybox/chown 1000:1000 /data/app2sd/app-private

-edit- LOL, zu spät... grad erst den Post von Pinky gelesen:

-MrPink- schrieb:
Mal kurz stop ....
Warum willst du die symlinks in der mot_boot_mode erstellen ?
Die sind ja statisch und gehen bei neustart nicht verloren.
D.h. deine mot_boot_mode müsste ca so aussehen
Code:
#Apps2SD mod
#ext2 Modul laden
insmod /data/ext2.ko

#Apps2SD Partition mounten
mount -t ext2 /dev/block/mmcblk0p2 /data/app2sd
mount -o bind /data/app2sd/app /data/app
und dann hast dus eben gemischt.
Ausserdem wurde der Pfad zur Busyboc glaub ich export d.h. es müsste auch ohen pfadangabe gehen, da bin ich mir allerdings nicht ganz sicher da ich nur mal kurz über das skript drüber geschaut habe.

Heisst das, ich hätte das Ganze einfach nur z.B. per ADB Shell mit su eingeben müssen? Und die mot_boot_mode gar nicht verändern? Wann wird diese denn dann ausgeführt? *amkopfkratz*
 
Zuletzt bearbeitet:
Genau, einzig der mount -bind Befehl auf /data/app entfällt, den Rest über die Konsole.

Die mot_boot_mode brauchst du weil du
a) noch dein app verzeichniss mountest und
b) viel wichtiger das Kernelmodul für die Ext2 Unterstützung einbinden
und deine ext2 Partition auf der SD Karte erstmal mounten musst,
sonst würden deine Symlinks ja ins leere führen.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: bemymonkey
S.o. :)...

-edit- Danke! Probier' ich direkt mal...
 
naja, man kann die symlinks und chown sachen auch in die mot_boot_mode setzen, so werden sie wieder neu gesetzt, falls z.b. nach nem wipe diese weg wären ^^
allerdings würd es nach nem wipe eh nicht mehr gehen, da noch nen paar andere sachen fehlen würden ^^

aber jeder so wie er möchte...

und ich hoffe du hast die mot_boot_mode.51.app2sd nicht mit dem windows editor bearbeitet... sondern notepad++ genommen, da die datei sonst unbrauchbar wird ;)
man kann sie zwar dann per konsole retten, aber das wäre ein überflüßiger schritt mehr ;)
 
  • Danke
Reaktionen: bemymonkey
Ich nehme grundsätzlich für alles Notepad++ - ein glücklicher Zufall, also :D

Allerdings hat das Ganze mit den Befehlen in mot_boot_mode.51.app2sd nicht funktioniert... ich meine auch so halbwegs zu wissen, wieso:

Wenn ich den ersten Befehl ausführe (per ADB Shell zum gebooteten Gerät als SU), bekomme ich folgende Fehlermeldung:

link failed File exists

Muss ich einen der Ordner erst löschen?

-edit- Kann's sein, dass ln -s selbst den Zielordner erstellt? In dem anderen Thread existiert ja auch der Ordner /data/sdapp/private noch nicht, sondern wird nur als neuer Unterordner eingebaut, oder?

Dann könnte ich doch einfach noch in app-private nen Unterordner app reinpacken... oder würde das etwas kaputt machen?
 
Zuletzt bearbeitet:
Mach mal ein ls -l, dann siehst du ob es sich um einen ordner oder einen symlink handelt. Ich denk deine neue mot_boot_mode hat gerade den symlink schon erstellt.
Wenn du die Schritte die ich vorher verlinkt hatte step by step durchgehst müsstest du es eigtl gelöscht haben mit "rm -r /data/app-private".
Dem sollte es eiglt egal sein ob es sich dabei um ein Ordner oder Symlink handelt und danach ohne diese Meldung weitergehen.

edith: sry hatte sich nen schreibfehler eingeschlichen, ich meinte natürlich /data/app-private,
aber wenn du in der rec bist ist /data/app eh nicht gemountet, dann sollte dir nix passiert sein :D
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: bemymonkey
der ordner /data/app-private muß gelöscht werden...
 
  • Danke
Reaktionen: bemymonkey
-FuFu- schrieb:
der ordner /data/app-private muß gelöscht werden...

Das hat funktioniert... allerdings jetzt der nächste Schritt nicht:

chmod 644 /data/app2sd/app/private/*
Unable to chmod /data/app2sd/app/private/*

Den Ordner habe ich eben mal erstellt, ist also definitiv da :p

-MrPink- schrieb:
Mach mal ein ls -l, dann siehst du ob es sich um einen ordner oder einen symlink handelt. Ich denk deine neue mot_boot_mode hat gerade den symlink schon erstellt.
Wenn du die Schritte die ich vorher verlinkt hatte step by step durchgehst müsstest du es eigtl gelöscht haben mit "rm -r /data/app-private".
Dem sollte es eiglt egal sein ob es sich dabei um ein Ordner oder Symlink handelt und danach ohne diese Meldung weitergehen.

edith: sry hatte sich nen schreibfehler eingeschlichen, ich meinte natürlich /data/app-private,
aber wenn du in der rec bist ist /data/app eh nicht gemountet, dann sollte dir nix passiert sein :D

Also der Symlink existiert schon mal, und zeigt auf /data/app2sd/app/private, der ja auch existieren muss, damit der Symlink funktioniert, oder nicht?


-und wieder ein edit-

Mannomann... der * bedeutet doch "alle Dateien im Verzeichnis", oder nicht? Dann kann das ja gar nicht gehen, da dort keine Dateien drin sind... ich mach mal ohne den Befehl weiter... xD
 
Zuletzt bearbeitet:
Soweit sogut, allergings sollte der Ordner unter /data/app2sd/app-private zu finden sein, sonst mountest du ihn ja gleichzeitig noch in den /data/app ordner.
"unable to chmod /data/app2sd/app/private" evtl weil der ordner leer ist ? :)
 
  • Danke
Reaktionen: bemymonkey
Das Ganze treibt mich in den Wahnsinn... habe jetzt alles ausgeführt, zur Sicherheit neugestartet, und was ist? Nichts geht :p

PackageManager sagt immer noch "Couln't move package file to: /data/app-private/bz.bsb.decible.apk

Dummerweise steht natürlich im Errorlog kein Grund dafür.

Wie kann ich denn am Einfachsten nachsehen, ob die Permissions stimmen? Der Symlink scheint ja schon mal zu funktionieren, und der Mount für app-private ist auch ordnungsgemäß verschwunden.

Kann's sein, dass es daran lag, dass ich das bei laufendem System und nicht von der ADBRecovery aus gemacht habe?
 

Ähnliche Themen

moviecut
Antworten
8
Aufrufe
3.367
fipsy
fipsy
-FuFu-
  • -FuFu-
Antworten
14
Aufrufe
2.804
-FuFu-
-FuFu-
Thoxx
  • Thoxx
Antworten
4
Aufrufe
4.447
Thoxx
Thoxx
Zurück
Oben Unten