export in der init.rc

  • 8 Antworten
  • Letztes Antwortdatum
E

ElTonno

Gast
Hey zusammen!

da ich unter meiner /cache -Partition keinen eigenen download-Ordner für GooglePlay habe den man per mount entsprechend "umbiegen" könnte, wollte ich die init.rc anpassen und den Ordner gleich nach /data/local/download verschieben.

boot.img
Code:
export DOWNLOAD_CACHE /data/local/download


Nur leider bleibt das Phone bei der Aktion beim Logo hängen und die Shell lässt sich nicht mehr aufrufen, kommt nur noch folgende Meldung:
Code:
- exec '/system/bin/sh' failed: No such file or directory (2) -

----
Frage: Woran könnte das liegen? und kennt einer eine andere Möglichkeit?


----
System: Android 2.3.6
 
Zuletzt bearbeitet:
Der Standardeintrag lautet ja "export DOWNLOAD_CACHE /cache/download"

Nur ist das bei mir anscheinend nen Symlink, da der Pfad eigentlich sowieso auf "/data/local/download" verweist.
 
Ja der Standardpfad stimmt schon aber ich kann leider kein symlink erstellen, da die Downloads direkt unter /Cache gespeichert werden
 
Okay unter 2.3.6 ist der Ordner weg und unter CM7.2 - gerade gesehen - ist er vorhanden, sehr misteriös... xD
 
Bei den Cyanogenmods ist in /system/etc/init.d ein Script "06mountdl". Der bindet den Downloadordner je nachdem wieviel Speicher auf /cache frei ist.

Code:
#!/system/bin/sh
#
# bind mount /data/local/download to /cache/download if cache
# partition is too small
#

CACHESIZE=$(df -k /cache | tail -n1 | tr -s ' ' | cut -d ' ' -f2)
DATAONLY=$(getprop dalvik.vm.dexopt-data-only)
if [ "$DATAONLY" = "1" ]
then
  NEEDED=60000
else
  NEEDED=105000
fi

if [ $CACHESIZE -lt $NEEDED ]
then
  mount -o bind /data/local/download /cache/download
fi

rm /cache/download/downloadfile*.apk >/dev/null 2>&1

exit 0
 
Jau das hab ich auch schon durchgesehen das script, leider funktioniert das aber auch nur wenn der download-Pfad unter /cache vorhanden ist.
Ansonsten ne feine Sache, deswegen bin ich zur Zeit auch wieder mit cm7.2 unterwegs. ^^
 
Dann editiere das Script doch einfach und biege den ganzen Cacheordner um:

Code:
#!/system/bin/sh
#
# bind mount /data/local/download to /cache/download if cache
# partition is too small
#

CACHESIZE=$(df -k /cache | tail -n1 | tr -s ' ' | cut -d ' ' -f2)
DATAONLY=$(getprop dalvik.vm.dexopt-data-only)
if [ "$DATAONLY" = "1" ]
then
  NEEDED=60000
else
  NEEDED=105000
fi

if [ $CACHESIZE -lt $NEEDED ]
then
  mount -o bind /data/local/cache /cache [COLOR=Red]#Subfolder fürs bessere finden.[/COLOR]
fi

rm /cache/download/downloadfile*.apk >/dev/null 2>&1

exit 0
Die Prüfungsbedingungen könntest du auch ganz weglassen. Dann noch die Partitionen neu anpassen. z.b. /cache lediglich 10 MB als Reserve, den Rest automatisch auf /data.

Bräuchtest jetzt nur noch ne Stock ROM die init.d unterstützt.

How to Use Init.d with Any Phone – xda-developers
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: ElTonno
Genauso hatte ich mir das auch schon überlegt, wenn ich wieder auf 2.3.6 sein sollte probier ich das auf jedenfall mal aus.
 
Ach ja, unter cm7 hab ich die Partitionen natürlich auch entsprechend angepasst:
System 140
Cache 10
Data 300

Aber wie gesagt nächste mal die Cache-Sache unter Stock versuchen ^^
 

Ähnliche Themen

B
Antworten
2
Aufrufe
2.223
steve8x8
S
H
Antworten
11
Aufrufe
3.937
ElTonno
E
Maniaxx
  • Maniaxx
Antworten
7
Aufrufe
1.346
ElTonno
E
Zurück
Oben Unten