4 votes

Comment les valeurs de /proc/sys peuvent-elles être modifiées au démarrage (sysctl.conf le fait sur les Linux normaux) ?

Comment /proc/sys peuvent être modifiées au démarrage ?

sysctl.conf n'existe pas sur Android et l'envoi de valeurs en écho à la balise proc Les fichiers ne sont pas persistants.

4voto

Irfan Latif Points 16863

Utilisez init 's write commande en /init.rc ou tout autre .rc fichier. Vous pouvez également créer le vôtre :

# /system/etc/init/custom.rc

on property:sys.boot_completed=1
    write /proc/sys/kernel/hostname MyDroid

Définissez les autorisations et redémarrez l'appareil.

~# chown 0.0 /system/etc/init/custom.rc
~# chmod 0644 /system/etc/init/custom.rc
~# chcon u:object_r:system_file:s0 /system/etc/init/custom.rc

Vous pouvez également utiliser des déclencher comme on init o on boot mais votre valeur peut être écrasée par un déclencheur ultérieur.

De plus, certaines valeurs ne sont pas autorisées par SELinux à être écrites par les utilisateurs. init . Par exemple /proc/sys/vm/drop_caches y /proc/sys/vm/dirty_ratio ne sont accessibles en écriture que par vold . Dans ce cas, vous pouvez utiliser exec qui permet de modifier l'étiquette SELinux avant l'exécution de la commande.

# /data/sysctl.conf

kernel.hostname=MyDroid
vm.dirty_ratio=20

# /system/etc/init/custom.rc

on property:sys.boot_completed=1
    exec u:r:magisk:s0 -- /system/bin/sysctl -p /data/sysctl.conf

* sysctl est toybox applet. Vous pouvez aussi utiliser busybox .

Pour d'autres options, voir cette réponse . Certaines applications peuvent également offrir une fonctionnalité similaire, mais je n'en ai jamais utilisé.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X