T
totochigna
Membre VIP
- Inscrit
- 19 Novembre 2012
- Messages
- 342
- Points
- 16
- #1
![1403452453-init-d.png](http://image.noelshack.com/fichiers/2014/25/1403452453-init-d.png)
Bonjour ! :smile:
Aujourd'hui, petit tuto sur quelque chose qui peut paraître très compliqué, l'init.d!
D'accord, mais qu'est ce que ce nom compliqué ?
Un init.d est un script exécuté lors du démarrage de votre appareil. En clair, c'est lui qui dit que faire au démarrage, à quelle vitesse doit tourner un composant, l'alimenter comment, etc.
Okay, mais comment j'en crée un ?
C'est justement le but du tuto ! :razz:
--- PRÉ-REQUIS ---
- Un appareil android disposant d'un kernel acceptant les init.d
- Notepad++ sur votre ordinateur, pas le bloc-notes par défaut !
RESERVÉ AUX EXPERTS
PHONANDROID ET MOI NE SERONT EN AUCUN CAS RESPONSABLE DE TOUTE MAUVAISE MANIPULATION. CE TUTO PEUT ETRE POTENTIONELLEMENT DANGEREUX POUR VOTRE TÉLÉPHONE, FAITES ATTENTION À BIEN SUIVRE CE TUTORIEL! FAITES UNE SAUVEGARDE!
La première ligne d'un script quelconque doit contenir le langage utilisé, ici, mettez:
#!/sbin/busybox sh
OU
#!/system/xbin/busybox sh
OU
#!/system/bin/sh
Cela peut varier selon les roms, mais testez la première possibilité, puis la deuxième si ça ne marche pas.
Après cette ligne, le script commence. Vous pouvez ainsi écrire les lignes souhaitées. En général, les lignes ressemblent à ça:
echo "VALEUR" > /CHEMIN/OU/LA/VALEUR/VA/S'APPLIQUER
Si vous souhaitez y mettre des commentaires pour vous y retrouver, précédez-les d'un "#", comme:
#Ordonnanceur SIO
echo "SIO" /sys/block/mmcblk0/queue/scheduler
Par exemple, un script ressemblerait à ça:
#Fréquences existantes CPU
echo "1600 1400 1200 1000 800 500 200" > /sys/devices/system/cpu/cpu0/cpufreq/freq_table
#Voltage pour les fréquences du CPU
echo "1425 1325 1275 1175 1075 975 950" > /sys/devices/system/cpu/cpu0/cpufreq/UV_m_table
#Fréquence minimale du CPU
echo "200" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
#Fréquence maximale du CPU
echo "1200" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#Gouverneur OndemandX
echo "ondemandx" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
#Ordonnanceur SIO
echo "SIO" > /sys/block/mmcblk0/queue/scheduler
Maintenant, quels paramètres existent ? Comment les paramétrer ?
Voici les paramètres existants pour tous les gouverneurs:
Les fréquences à lesquelles le CPU peut fonctionner:
echo "VALEUR" > /sys/devices/system/cpu/cpufreq/freq_table
Voltage pour les fréquences du CPU configurées juste au dessus:
echo "VALEUR" > /sys/devices/system/cpu/cpufreq/UV_m_table
Fréquence la plus basse à laquelle le CPU peut fonctionner:
echo "VALEUR" > /sys/devices/system/cpu/cpufreq/scaling_min_freq
Fréquence la plus haute à laquelle le CPU peut fonctionner:
echo "VALEUR" > /sys/devices/system/cpu/cpufreq/scaling_max_freq
Gouverneur choisi:
echo "VALEUR" > /sys/devices/system/cpu/cpufreq/scaling_governor
Ordonnanceur choisi:
echo "VALEUR" > /sys/block/mmcblk0/queue/scheduler
Voici les réglages existants pour les gouverneurs principaux:
Pour appliquer ces paramètres:
echo "VALEUR" > /sys/devices/system/cpu/cpufreq/GOUVERNEUR/PARAMÈTRE
OnDemand
sampling_rate: L'intervalle en µS entre chaque montée/descente en fréquence du CPU. Une valeur haute signifie que le CPU sera moins testé, ce qui est un avantage pour les fréquences basses car le CPU ne montera pas aléatoirement, mais pour les hautes fréquences, il mettra du temps a redescendre.
up_threshold: Paramètre déterminant à quel pourcentage le CPU va monter à la fréquence supérieure. Une valeur élevée va donc le faire monter moins souvent.
down_threshold: Même chose que le up_threshold, mais il s'agit cette fois à quel pourcentage le CPU va descendre à la fréquence inférieure.
up_threshold: Paramètre déterminant à quel pourcentage le CPU va monter à la fréquence supérieure. Une valeur élevée va donc le faire monter moins souvent.
down_threshold: Même chose que le up_threshold, mais il s'agit cette fois à quel pourcentage le CPU va descendre à la fréquence inférieure.
TUTO EN CONSTRUCTION