Mam problem z androidem....okej, już nie będę żartował, w końcu przeczytałem regulamin 😉
Naczytałem się, że niektóre kernele obsługują skrypty init.d, dzięki którym przy bootowaniu można zmienić parametry systemu. Wydaje mi się jednak, że skrypty, które piszę, w ogóle nie działają, pomimo tego, że są napisane krok po kroku według poradnika.
Jako że jestem nowy, nakreślę może proces personalizacji mojej XMP 😉
1. Kupiono Xperia Mini Pro, brandowaną z PLAY.
2. Downgrade do .58, zrootowanie zergrushem od doomlorda, wgranie CWM.
3. Aktualizacja do ICS 4.0.4 z zachowaniem roota.
4. Spatchowanie bootloadera metodą testpoint + s1tool.
5. Wgranie custom kernela od kamarusha -> o tego
Kernel ten rzekomo wspiera skrypty init.d, jednak próbując napisać, lub podregulować istniejący skrypt do obsługi danego governora CPU wyskakują mi błędy typu "nonexistent directory" w terminalu. Skrypty sprawdzałem po wielokroć i nie doszukałem się spacji, które mogłyby coś pieprzyć, ale nie znam się zupełnie na kodowaniu, więc pewnie popełniam jakiś błąd.
Próbowałem przepchnąć skrypt do /system/etc/init.d/ menadżerami plików, a kiedy to nie przynosiło pożądanego efektu, przepychałem je ADB; również bez skutku.
Mój prosty, przykładowy skrypt wygląda tak:
#!/system/bin/sh
echo "560000" > /sys/devices/system/cpu/cpufreq/smartass/awake_ideal_freq
echo "200000" > /sys/devices/system/cpu/cpufreq/smartass/sleep_ideal_freq
echo "460000" > /sys/devices/system/cpu/cpufreq/smartass/sleep_wakeup_freq
echo "85" > /sys/devices/system/cpu/cpufreq/smartass/max_cpu_load
echo "55" > /sys/devices/system/cpu/cpufreq/smartass/min_cpu_load
echo "256000" > /sys/devices/system/cpu/cpufreq/smartass/ramp_up_step
echo "560000" > /sys/devices/system/cpu/cpufreq/smartass/ramp_down_step
echo "48000" > /sys/devices/system/cpu/cpufreq/smartass/up_rate_us
echo "69000" > /sys/devices/system/cpu/cpufreq/smartass/down_rate_us
Uruchamiając skrypt w script managerze otrzymuję w/w komunikat o błędzie. Co ciekawe, podzieliłem ten skrypt na 10 części, każda linijka w innym, i o dziwo, kiedy uruchamiam je ręcznie z uprawnieniami roota, skrypt nie pokazuje błędu ale cały czas jest w stanie "running." Wyłączając go, zauważam, że zmienił pożądaną cechę governora, ale kiedy chcę uruchomić skrypty przy boocie (zaznaczając opcję w script managerze), to wieszają system zaraz po załadowaniu.
Dziwicie się, dlaczego w ogóle tak pajacuję. Otóż problem polega na tym, że żaden z tych skryptów umieszczonych w system/etc/init.d/ przy bootowaniu nie jest uruchamiany, więc żadne zmiany nie zachodzą.
Reasumując: działam na stockowym ICS 4.0.4 z customowym kernelem ICS. Być może do uruchomienia tych skryptów potrzebują customowego ROMa? Chociaż próbowałem bawić się z plikiem install-recovery.sh i logi w /data/local/tmp/ pokazują, że obsługa init.d działa, jednak tak nie jest.
Czy jest ktoś, kto pokaże jełopowi jak się to robi, żeby nie musiał uruchamiać w/w skryptów ręcznie przy każdym bootowaniu telefonu? 😉
Z góry dziękuję 🙂