Skocz do zawartości
sqpusher

System nie uwzględnia skryptów init.d

    Rekomendowane odpowiedzi

    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ę :)

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Nikt nie wie, o co chodzi? Serio?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Mesaj

    nadaj mu prawidłowe uprawnienia, użyj es file explorer z funkcjami root i /system'em do zapisu (tu musisz ustawić też opcję up-to-root) wejdź do katalogu /system/etc/init.d i przytrzymaj dłużej na pliku twojego skryptu, właściwości po czym będziesz miał przycisk żeby je zustawić, daj najlepiej na początek wszystkie na zaznaczone, wtedy nie powinno być problemu, ew. folderowi init.d też nadaj maksymalne uprawnienia.

    btw. nie jest to konieczne, ale przyjmuje się, że każde polecenie oddziela się średnikiem ;), pierwszego wiersza się nie tyka :)

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Dziękuję za odpowiedź, jednak obawiam się, że tych metod spróbowałem już przed założeniem tematu i niestety nie działają. Folder init.d ma uprawnienia rwx, wszystkie w nim pliki również, a nawet script managerem nadałem każdemu skryptowi, nazwanemu XXyyyyy, gdzie XX to cyfry, osobno status su, jednak nic nie pomaga...

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Mesaj

    Czy kernel napewno obsługuje skrypty init.d?

    Pobierz kuchnię dsixda ustaw pod cygwin, w katalogu home w cygwin stwórz folder o nazwie WORKING_TWOJANAZWA

    ze strukturą katalogów w środku:

    -\META-INF\com\google\android do tego katalogu wrzuć update-binary i (może być nawet pusty) update-script (nie updateR-script)

    -\ w katalogu głównym wrzuć boot.img z paczki z ROM'em

    -\system tu wrzuć build.prop

    -\system\xbin może zostać pusty

    wtedy odpalasz kuchnię i opcja 3, po dodaniu busybox, opcja 0 żeby przejść do dalszych i opcja 17 żeby dodać init.d do kernela

    kopiujesz przerobiony boot.img do paczki z ROM'em dodajesz do updateR-script (w update-script, wyglądają inaczej) linijkę:

    set_perm_recursive(0, 2000, 0755, 0755, "/system/etc/init.d");

    i pakujesz ROM w .zip od nowa np. 7zip'em, tylko nie katalog WORKING_TWOJANAZWA, tylko wcześniej wypakowany .zip.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Czy kernel napewno obsługuje skrypty init.d?

    Tak zapewnia jego twórca, kamarush, w tym wątku.

    - Overclock up to 2Ghz

    - Tun / Tap

    - Prerooted

    - Init.d support

    - Swap support

    - Call Recording support

    Pobierz kuchnię dsixda ustaw pod cygwin, w katalogu home w cygwin stwórz folder o nazwie WORKING_TWOJANAZWA

    ze strukturą katalogów w środku:

    -\META-INF\com\google\android do tego katalogu wrzuć update-binary i (może być nawet pusty) update-script (nie updateR-script)

    -\ w katalogu głównym wrzuć boot.img z paczki z ROM'em

    -\system tu wrzuć build.prop

    -\system\xbin może zostać pusty

    Wybacz takie elementarne pytania, ale dopiero, i to jeszcze nieumiejętnie, raczkuję w temacie androida. Rozumiem, że pobraną paczkę odpalam przez CWM Recovery? Zaraz będę próbował wszystko to uskutecznić na tyle, na ile rozumiem proces, ale dalej piszesz o paczce z ROMem. Myślisz, że zadziała to w sytuacji, kiedy mam stockowego ICS 4.0.4. a wgrywałem customowego kernela flashując go w trybie fastboot?

    EDIT: Dorwałem się do tematu instalacyjnego na xda, więc poczytam trochę i postaram się wprowadzić w/w kroki w życie :)

    Edytowane przez sqpusher

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Mesaj

    Skoro kernel ma wsparcie dla init.d to nie musisz robić tego co podałem wyżej.

    Trochę to dziwne, że mimo uprawnień i wsparcia dla init.d nadal nie działa, więc nie wiem za bardzo co już tutaj może być nie tak :eek:.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Chyba zmuszony jestem pozostać przy ręcznym odpalaniu skryptów po rebootach, co nie jest wcale takie czasochłonne ;)

    Dzięki! :)

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x