Wykonaj wiele poleceń w skrypcie init.d podczas uruchamiania

0

Znalazłem przewodnik naprawiania uprawnień do systemu plików EXT4 na karcie MicroSD. ROMy AOSP / CyanogenMod, które próbowałem, zamontują to, ale uprawnienia są pomieszane. Przewodnik działał dobrze na KitKat, ale niedawno kupiłem Note 4, ukorzeniłem go i pokazałem SlimRemix, który jest 5.1.x Lollipop, a przewodnik już nie działa.

Próbuję zmienić uprawnienia / mnt / media_rw / sdcard1 na 777 (domyślnie 755). Wygląda na to, że jest własnością grupy / użytkownika „media_rw”. Zmiana z 755 na 777 działa i nie mam problemu z odczytaniem / zapisaniem. Ale uprawnienia zostaną przywrócone do 755 podczas ponownego uruchamiania. Nie jestem pewien przyczyny.

Jako rozwiązanie tymczasowe odkryłem, że mogę użyć skryptów init.d (/system/etc/init.d) do automatycznego uruchamiania poleceń podczas uruchamiania. Mój ROM uruchomi się również podczas uruchamiania wszystkich skryptów znajdujących się w /data/local/userinit.sh i / lub userinit.d (ta sama ścieżka).

Mam jednak problem z wykonywaniem wielu poleceń. Co mam teraz:

! / system / bin / sh

su i amp; chmod 777 -R / mnt / media_rw / sdcard1

Uprawnienia pliku są ustawione poprawnie na 755. Wygląda na to, że uruchamia on tylko su, a następnie zatrzymuje się, nie występują zmiany uprawnień. Jeśli wykonywane bez su, to zgodnie z oczekiwaniami otrzymuję „Odmowa uprawnień”. Mogę korzystać z aplikacji Menedżer skryptów, pomijać „su i amp;” i amp; bit, a następnie (w SM) oznacz skrypt jako „Execute”, „su” i „on boot” i działa. Ale ponieważ mam natywną obsługę automatycznego wykonywania skryptu podczas uruchamiania, wolałbym nie używać aplikacji, aby to osiągnąć.

Rozumiem, że lepszym rozwiązaniem byłoby znalezienie sposobu na permanentną zmianę uprawnień, a jeśli ktoś wie, jak można to zrobić, docenię informacje, ale skrypt wystarcza do moich celów. Czy ktoś może wskazać, co robię źle? Dzięki!

Enigma83
źródło
co próbujesz miksować su? może twoje polecenie powinno być su -c [polecenie] ??
Francisco Tapia
Próbuję najpierw wykonać polecenie su, a następnie „chmod 777 -R / mnt / media_rw / sdcard1”. Ale po rzeczywistym wykonaniu zatrzymuje się na su i nie idzie dalej. Dlatego powiedziałem „wiele poleceń”. Oczywiście, „#! / System / bin / sh” mówi Androidowi, że jest to skrypt, a której powłoki użyć (z jakiegoś powodu Superuser nie umieścił # w moim poście, chociaż wiem, że go wpisałem). Zmodyfikuję swój skrypt za pomocą twojej sugestii i zobaczę, co się stanie.
Enigma83