Init.d Script ändert nicht alle Werte

A

Ambador

Neues Mitglied
0
Hallo zusammen,

ich hoffe zunächst mal dass ich hier in der richtigen Rubrik gelandet bin :winki:

Zu meinem Problem:
Ich hab mir für mein i9100 (Slimkat 4.4.4 stable 9) ein init.d Script geschrieben, indem so standardmäßiges wie Governor-Tunables etc. festgelegt werden.
Um nun etwas tiefer zu testen, möchte ich die lease-break-time in /proc/sys/fs/ von 45 auf 15 ändern. Dies soll logischerweise beim Start durch das Script gemacht werden.
Jedoch tut sich da gar nix, die anderen Werte werden korrekt geändert (ich navigiere immer mit dem Root-Explorer dahin und gucks mir an :biggrin:).

Komischerweise gehts mit dem Terminal unter su, dann echo "15" > /proc/....
Ich hab schon zigmal nach Schreibfehlern gesucht und vor dem echo-Befehl auch schon chmod777 /proc/.../lease-break-time eingesetzt.
Die Partitionen sind alle im Script auf rw gemounted, und jetzt bin ich mit meinem Latein am Ende.
Habt Ihr sowas auch schon mal gehabt, bzw einen Lösungsansatz dafür??

Viele Grüße
Ambador
 
Du bist im I9100G Unterforum nach deinem post hast du aber ein I9100 ohne G
und Init.d ist eher ein allgemeines Thema und nicht Geräte spezifisch.

Der ursprüngliche Beitrag von 03:24 Uhr wurde um 03:40 Uhr ergänzt:

Nachtrag:
Habe gerade gesehen der Post wurde hier her verschoben.
 
naja deswegen dachte ich, ich schreibs zum Android Customize :winki:
War wohl jmd zu schnell :smile:
 
Ja ich finde auch das es hier nicht passt wüste auch nicht wie ich dir bei diesem Problem helfen könnte.
Ich bin kein Script Profi und es könnte auch ein I9100 ohne G Problem sein.

So weit ich mich erinnere ist das S2 auch nur mit Custom Kernels Init.d fähig.
 
oh sorry das hab ich vergessen zu erwähnen:
Nachdem ich mal gestestet hab ob ich mein S2 trimmen kann hab ich seitdem den gustavo_s kernel mit trim-support am laufen.
Also init.d ist vorhanden, mein Script auch; es werden nur Werte wie Governor (und dessen Einstellungswerte), Scheduler usw geändert beim Start.
Andere Werte die ich etwas aufwändig über das Terminal ändern kann, werden über das Script jedoch nicht oder nur manchmal geändert.
So wie zB unter

/sys/kernel/logger_mode/logger_mode (Also den Logmodus des Gustavo).

mit echo "0" > (der Pfad von eben gerade) schaltet der Logger ab. Also über das Terminal gehts wunderbar nur eben nicht beim Start über das Script.
Und dass das Script nicht funktioniert scheidet auch aus weil ja Werte geändert werden.

Mir ist zunächst was mit den Permissions von Script und den zu ändernden Dateien in den Sinn gekommen, aber wenns übers Terminal geht fehlt da auch nix.

Bin eh kurz davor nochmal neu zu flashen und dann nochmal zu schauen, weils ja 1000 Fehlerquellen geben kann deswegen. Ich wollt nur mal wissen ob das mal schon jemand hatte und was das sein kann, dass nur bestimmte Befehle von init.d geblockt werden.

Grüße
Ambador
 
Thread wieder zu customize verschoben.
Die Chance dass hier jemand vorbei schaut der helfen kann, ist sicher grösser :)
 
  • Danke
Reaktionen: DAD214
Ich denke, daß im Kernel-Thread eher die Antwort zu finden wäre.
Aber egal. Nun liegt es erst mal wieder hier.
Wenn einige Sachen verändert werden - andere nicht, dann liegt es zumeist am Zeitpunkt der Veränderung.
Es gibt eine ladbare Config - und eine Laufzeit-Config.
Wenn Du die Laufzeit-Config beschreibst, bevor die ladbare Config gelesen wurde, dann sind Deine Änderungen eben nie eingegangen.

https://www.android-hilfe.de/forum/...aosp-kernel-von-gustavo_s-synapse.502722.html
[KERNEL][CWM/TWRP][CM12][15/03]Kernel for AO… | Samsung Galaxy S II I9100 | XDA Forums

Der erste Link wäre quasi die beste Stelle, wo die Frage - nach meiner Meinung - am ehesten zu beantworten wäre.
Kann die Config-App die Einstellungen nicht so vornehmen, wie Du sie möchtest?
 
@Ambador
Warum lädst Du Dein Script nicht hier einfach mal hoch? Dann könnten User die sich damit auskennen mal drüber schauen wo der Fehler liegt. Und warum für den Gustavo_s ein init.d Script erstellen zum tweaken Govenor/Scheduler etc? Dafür gibt es STweaks oder vom Developer empfohlen Synapse.
Um zB den SELinux Status zu ändern ist ein init.d Script ne feine Sache.

Gruß Nick
 
ja ich werde das Script heute abend mal hochladen wenn ich zuhause bin.

Das mit dem Script ziehe ich dem Synapse vor, da ich dann in den Entwicklereinstellungen den root ausgeschaltet lassen kann (Synapse ändert doch auch mit den selben Befehlen (echo "...") usw, oder verstehe ich das falsch??

Mein Script hab ich genommen als ich noch den Apolo Kernel hatte. Der Apolo Configurator hat ja bei "Set on boot" ein init.d Script erstellt und nach /etc/init.d kopiert. Deswegen dachte ich mir ich schreib meine ganze Konfiguration, so wie ich es haben will einfach als Script und erspare mir damit das Configurator/STweaks/Synapse rumgestelle, da man auch Werte ändern kann die nicht in den Apps auftauchen.

Viele Grüße
Ambador
 
Ich bin noch immer der Meinung, daß es auf den Zeitpunkt ankommt.. (bzw. eben später an anderer Stelle wieder überschrieben wird.)
 
ja das müssen wir dann mal checken ;)

nach #!/system/bin/sh ist (noch vom apolo)

sleep 50 gesetzt. Also 50 sek pause bevor die Werte gesetzt werden. das script ist auch das letzte von der nummerierung her das ausgeführt wird. aber ihr könnt es dann abends selbst sehen ;)

Viele Grüße
Ambador
 
So habs gestern leider nicht mehr geschafft mit dem Upload. Aber hier ist es nun:

#!/system/bin/sh
echo "$(date)-Empieza script"

sleep 50

echo "200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq;
echo ""
echo "---------------"

echo "$(date)- Freq Maxima -"

echo "1400000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo "$(date)- SCHEDULER Y GOBERNADOR -"
echo ""
echo "---------------"

echo "zen" > /sys/block/mmcblk0/queue/scheduler;
echo "0" > /sys/block/mmcblk0/queue/iosched/fifo_batch;
echo "2500" > /sys/block/mmcblk0/queue/iosched/async_expire;
echo "300" > /sys/block/mmcblk0/queue/iosched/sync_expire;
echo "4096" > /sys/block/mmcblk0/queue/read_ahead_kb;
echo "zen" > /sys/block/mmcblk1/queue/scheduler;
echo "0" > /sys/block/mmcblk1/queue/iosched/fifo_batch;
echo "2500" > /sys/block/mmcblk1/queue/iosched/async_expire;
echo "300" > /sys/block/mmcblk1/queue/iosched/sync_expire;
echo "4096" > /sys/block/mmcblk1/queue/read_ahead_kb;
echo ""
echo "---------------";

echo "Hyper" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ""
echo "---------------"

#Ajustando Valores del governador
echo "$(date)- PARAMETROS DEL GOBERNADOR -"
echo "85" > /sys/devices/system/cpu/cpufreq/hyper/up_threshold;
echo "4294967295" > /sys/devices/system/cpu/cpufreq/hyper/sampling_rate_max;
echo "10000" > /sys/devices/system/cpu/cpufreq/hyper/sampling_rate_min;
echo "25000" > /sys/devices/system/cpu/cpufreq/hyper/sampling_rate;
echo "1" > /sys/devices/system/cpu/cpufreq/hyper/ignore_nice_load;
echo "0" > /sys/devices/system/cpu/cpufreq/hyper/powersafe_bias;
echo "1" > /sys/devices/system/cpu/cpufreq/hyper/deep_sleep;
echo "1" > /sys/devices/system/cpu/cpufreq/hyper/fast_start;
echo "500000" > /sys/devices/system/cpu/cpufreq/hyper/suspend_freq;

echo > /sdcard/.ConfA
echo "$(date)- BLN Y LEDS -"
echo 1 > /sys/class/misc/notification/notification_enabled
echo 1 > /sys/class/misc/notification/blnww
echo 0 > /sys/class/misc/notification/breathing
echo 0 > /sys/class/misc/notification/notification_timeout
echo 0 > /sys/devices/virtual/sec/sec_touchkey/force_disable
echo 0 > /sys/class/misc/notification/led_timeout_ms
echo 3000 > /sys/devices/virtual/sec/sec_touchkey/touchkey_brightness
echo "$(date)- LED ON TOUCH -"
echo 0 > /sys/class/misc/notification/led_on_touch

echo "$(date)- CARGA RAPIDA USB -"
echo 650 650 650 > /sys/class/misc/charge_current/charge_current

echo "$(date)- AJUSTES DE GAMMA -"
echo 60 > /sys/class/misc/brightness_curve/min_bl
echo 0 > /sys/class/misc/brightness_curve/min_gamma
echo 24 > /sys/class/misc/brightness_curve/max_gamma
echo 0 > /sys/class/lcd/panel/user_gamma_adjust
echo "$(date)- SONIDO -"
echo 3 > /sys/class/sound/sound_mc1n2/DVOL_DAC_MASTER
echo 0 > /sys/class/sound/sound_mc1n2/AVOL_SP
echo 0 > /sys/class/sound/sound_mc1n2/AVOL_MIC1
echo 0 > /sys/class/sound/sound_mc1n2/AVOL_MIC2
echo 0 > /sys/class/sound/sound_mc1n2/AVOL_RC
echo 0 > /sys/class/sound/sound_mc1n2/AVOL_HP
echo 1 > /sys/class/sound/sound_mc1n2/update_volume

echo "4096,8192,16384,32768,49152,65536" > /sys/module/lowmemorykiller/parameters/minfree

echo "0" > /proc/sys/net/ipv4/tcp_timestamps;
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse;
echo "1" > /proc/sys/net/ipv4/tcp_sack;
echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle;
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling;
echo "5" > /proc/sys/net/ipv4/tcp_keepalive_probes;
echo "30" > /proc/sys/net/ipv4/tcp_keepalive_intvl;
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout;
echo "1" > /proc/sys/net/ipv4/tcp_syncookies;
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter;
echo "1" > /proc/sys/net/ipv4/conf/default/rp_filter;
echo "2" > /proc/sys/net/ipv4/tcp_synack_retries;
echo "2" > /proc/sys/net/ipv4/tcp_syn_retries;
echo "1024" > /proc/sys/net/ipv4/tcp_max_syn_backlog;
echo "16384" > /proc/sys/net/ipv4/tcp_max_tw_buckets;
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all;
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses;
echo "1" > /proc/sys/net/ipv4/tcp_no_metrics_save;
echo "0" > /proc/sys/net/ipv4/ip_forward;
echo "1" > /proc/sys/net/ipv4/tcp_moderate_rcvbuf;
echo "1" > /proc/sys/net/ipv4/route/flush;
echo "6144" > /proc/sys/net/ipv4/udp_rmem_min;
echo "6144" > /proc/sys/net/ipv4/udp_wmem_min;
echo "1" > /proc/sys/net/ipv4/tcp_rfc1337;
echo "0" > /proc/sys/net/ipv4/ip_no_pmtu_disc;
echo "0" > /proc/sys/net/ipv4/tcp_ecn;
echo "1" > /proc/sys/net/ipv4/tcp_sack;
echo "1" > /proc/sys/net/ipv4/tcp_fack;
echo "524288" > /proc/sys/net/core/wmem_max;
echo "524288" > /proc/sys/net/core/rmem_max;
echo "256960" > /proc/sys/net/core/rmem_default;
echo "256960" > /proc/sys/net/core/wmem_default;
echo "10240" > /proc/sys/net/core/optmem_max;
echo "50" > /proc/sys/net/unix/max_dgram_qlen;
echo "4096,16384,404480" > /proc/sys/net/ipv4/tcp_wmem;
echo "4096,87380,404480" > /proc/sys/net/ipv4/tcp_rmem;

echo "4096" > /proc/sys/vm/min_free_kbytes;
echo "1" > /proc/sys/vm/oom_kill_allocating_task;
echo "0" > /proc/sys/vm/panic_on_oom;
echo "0" > /proc/sys/vm/laptop_mode;
echo "0" > /proc/sys/vm/swappiness;
echo "5" > /proc/sys/vm/vfs_cache_pressure;
echo "90" > /proc/sys/vm/dirty_ratio;
echo "70" > /proc/sys/vm/dirty_background_ratio;
echo "0" > /proc/sys/vm/overcommit_memory;
echo "0" > /proc/sys/vm/overcommit_ratio;
echo "4" > /proc/sys/vm/min_free_order_shift;
echo "0" > /proc/sys/vm/block_dump;
echo "1" > /proc/sys/vm/oom_dump_tasks;
echo "3" > /proc/sys/vm/drop_caches;
echo "500" > /proc/sys/vm/dirty_expire_centisecs;
echo "1500" > /proc/sys/vm/dirty_writeback_centisecs;

echo "0" > /sys/kernel/mm/ksm/run;

echo "0" > /sys/devices/system/cpu/sched_mc_power_savings;
echo "160 200 267 330" > /sys/class/misc/gpu_clock_control/gpu_control;
echo "80% 60% 80% 60% 80% 60%" > /sys/class/misc/gpu_clock_control/gpu_control;
echo "900000 950000 1000000 1050000" > /sys/class/misc/gpu_voltage_control/gpu_control;


echo "8" > /proc/sys/vm/page-cluster;
echo "2048" > /proc/sys/kernel/msgmni;
echo "64000" > /proc/sys/kernel/msgmax;
echo "10" > /proc/sys/fs/lease-break-time;
echo "65536" > /proc/sys/fs/file-max;
echo "32000" > /proc/sys/fs/inotify.max_queued_events;
echo "256" > /proc/sys/fs/inotify.max_user_instances;
echo "10240" > /proc/sys/fs/inotify.max_user_watches;
echo "500,512000,64,2048" > /proc/sys/kernel/sem;
echo "10" > /proc/sys/fs/lease_break-time;
echo "0" > /proc/sys/fs/leases-enable;

echo "0" > /sys/kernel/logger_mode/logger_mode;
echo "0" > /sys/kernel/printk_mode/printk_mode;

busybox rm -f /cache/*.apk;
busybox rm -f /cache/*.tmp;
busybox rm -f /data/dalvik-cache/*.apk;
busybox rm -f /data/dalvik-cache/*.tmp;
busybox rm -f /data/*.log;
busybox rm -f /data/log/*.log;
busybox rm -f /data/system/dropbox/*.txt;
busybox rm -f /data/backup/pending/*.tmp;
busybox rm -f /data/tombstones/*.*;
busybox rm -f /data/system/userbehavior.db;



busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodiratime,barrier=0,nobh /dev/block/mmcblk0p9 /system
busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodiratime,barrier=0,nobh /dev/block/mmcblk0p10 /data
busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodiratime,barrier=0,nobh /dev/block/mmcblk0p07 /cache

echo "$(date)-****FIN****"

wichtig sind mir auch die mountpoints am Ende des Scripts. Hier wird gar nichts geändert. Gebe ich aber im Terminal Emulator "busybox mount -o remount,barrier=0 ein, dann ändert er die barrier in der angegebenen Partition.

Ich denk echt schon über einen Reflash der Slimkat nach, aber evtl. findet ihr hier einen groben Schnitzer von mir um das ganze nicht umsonst zu machen.
Achja: ziemlich am Anfang hat sich das Script beschwert (im Terminal mit sh ausgeführt), dass zwei Punkte beim Hyper Governor nicht angelegt werden können. Hab ich schon herausgefunden, die zwei hatten keine Schreibrechte (also nur r-r-r); auf rw-rw-rw geändert und gut is ;)

Nur beim anderen, vor allem im /proc Ordner versteh ichs nicht

Grüße
Ambador
 
Mal abgesehen davon, daß einige Deiner Sachen nicht gerade sinnvoll erscheinen (Löschen des Dalviks nachden das System den Zustand geprüft und ihn eventuell gerade neu aufgebaut hat), frage ich mich, wozu Du die System-Partition mit einem barrier=0 neu mounten willst. Das System sollte während des Betriebs (weitestgehend) ro gemountet sein. Also wird nicht darauf geschrieben!
Zudem solltest Du eben die Partitionen ohnehin besser als ext3 mounten, denn nicht nur, daß ext4 derzeit bei den Partitionsgrößen reine Verschwendung ist, wird bei ext4 mit barrier=1 als default gemountet aber bei ext3 ohnehin mit barrier=0 als default.
 
Sorry dass ich mich länger nicht gemeldet habe, hatte viel zu tun ;)

Das Script habe ich eben mal abgeändert, danke für die Tipps ;)

Nunja ich hab noch ein bisschen rumexperimentiert, aber ich bin draufgekommen dass bei mir irgendetwas mit dem init.d support beim Start nicht stimmt und habe mich dazu entschlossen einfach mal das Slimkat neu zu flashen (dauert ja nicht lange).
Und siehe da, das Script geht wieder einwandfrei beim Start und ändert alle Werte korrekt.
Trotzdem Danke für alle Euren hilfreichen Denkanstöße :)

Grüße
Ambador
 

Ähnliche Themen

A
Antworten
2
Aufrufe
1.538
MB526
MB526
D
Antworten
0
Aufrufe
1.129
DerToshy
D
P
  • Penni
Antworten
10
Aufrufe
4.172
tecalote
tecalote
Zurück
Oben Unten