Warum kann man keine Befehle oder Skripte mehr beim Booten automatisch ausführen?

M

Mauzikowski

Neues Mitglied
0
In älteren Android-Versionen war das noch durch Editieren von bestimmten Dateien möglich. Bei Android 4.3.1 geht das plötzlich nicht mehr - weiß jemand warum?
 
Strukturänderung. Scripte landen meines wissens normalerweise immer unter data/local um sie beim booten auszuführen, hab da z.b. ein ipv6 script
 
Da habe ich jetzt mal eines hinkopiert:

#!/system/bin/sh
mount -o bind /ordner1 /ordner2

Das steht in einer Datei, die ich ausführbar gemacht habe (Recht "x" gesetzt). Der Befehl an sich funktioniert im Terminal, aber wenn ich neu starte wird er nicht ausgeführt.

Hast du eine Idee, woran das noch liegen könnte?
 
falsche berechtigungen gesetzt?
 
Ich kenn mich da noch nicht so aus

Besitzer: root
Gruppe: root

Besitzer, Gruppe, Andere dürfen R, W, und X das heißt denke ich mal read, write, execute

Genau die gleichen Rechte hat auch die andere Datei im Verzeichnis.. "busybox"
 
normale rechtevergabe sieht so aus rw-r--r--
 
ja aber diese normalen Rechte sind ja in den gesetzten mit "drin"... daran dürfte es nicht scheitern. Hast du auch 4.3.1?
 
Normalerweise befinden sich Startskripte in /etc/init.d wenn man ne Firmware mit init.d-Support hat. Dann werden die auch ausgeführt wie bei mir unter 4.3 bzw. 4.4.2
 
so ist es und da gehören die Skripte auch hin. Nur bringt kein (Marken-)Androide von Werk aus eine init.d-Unterstützung mit - schon weil weil man dort ohne Root-Rechte gar nichts schreiben kann. Zumindest bei Sony-Geräten ist dafür ein Custom-Kernel erforderlich.

Da aber der Fragesteller noch nicht gesagt hat, was für ein Gerät er eigentlich besitzt...
 
Zuletzt bearbeitet:
Ja. Alternativ suchst du dier hier nen Kernel, der bereits init.d Support mitbringt.

Oder du probierst es mit Pimp My Rom
 
Zuletzt bearbeitet:
girouno schrieb:
so ist es und da gehören die Skripte auch hin. Nur bringt kein (Marken-)Androide von Werk aus eine init.d-Unterstützung mit - schon weil weil man dort ohne Root-Rechte gar nichts schreiben kann. Zumindest bei Sony-Geräten ist dafür ein Custom-Kernel erforderlich.
..

Seh ich anders, eigen erstelle skripte lieber nach data/local dann bleiben sie bei rom update erhalten und man muss sie nicht neu kopieren (hat cm z.b. so, 90userinit).

@te
die ramdisk muss passen (init.rc bzw. init.*.rc ), entweder so:

service userinit /system/xbin/busybox run-parts /system/etc/init.d
oneshot
class late_start
user root
group root

oder mit sysinit:

# run sysinit
start sysinit

# sysinit (/system/etc/init.d)
service sysinit /system/bin/sysinit
user root
oneshot
disabled

in system/bin brauchst du dann das sysinit script https://github.com/CyanogenMod/android_vendor_cm/blob/cm-11.0/prebuilt/common/bin/sysinit

(du brauchst allerdings busybox, in xbin, wenn woanders entsprechend anpassen bzw. in xbin installieren)
 
Zuletzt bearbeitet:
Das seh ich wiederrum anders :D
CM hat unter /system/addon.d mehrere Backup-Scripts, wo unter anderem auch das Backup-Scripts von den gapps drin ist (deswegen muss man sie nach einem update ja auch nicht immer wieder neu flashen ;) )
Wenn du dann z.b in die 70-gapps.sh dein Scripts einträgst, wird es vor einem Update gesichert und nach nach dem Update automatisch wieder her gestellt :D
 
jeder wie er möchte
 

Ähnliche Themen

C
  • Cappolino
Antworten
2
Aufrufe
432
DwainZwerg
DwainZwerg
FlyingCat972
Antworten
20
Aufrufe
1.556
DerKomtur
DerKomtur
sensei_fritz
Antworten
1
Aufrufe
553
chrs267
chrs267
Zurück
Oben Unten