4 votos

¿Cómo se pueden cambiar los valores de /proc/sys en el arranque (sysctl.conf hace esto en los Linux normales)?

¿Cómo puede /proc/sys se cambien los valores en el arranque?

sysctl.conf no existe en Android y los valores de eco a la proc Los archivos no son persistentes.

4voto

Jack Wade Puntos 231

Utilice init 's write comando en /init.rc o cualquier otro .rc archivo. También puedes crear el tuyo propio:

# /system/etc/init/custom.rc

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

Establecer los permisos y reiniciar el dispositivo.

~# 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

También puede utilizar algunos de los primeros disparador como on init o on boot pero su valor puede ser sobrescrito por algún desencadenante posterior.

Además, algunos valores no están permitidos por SELinux para ser escritos por init . Por ejemplo. /proc/sys/vm/drop_caches y /proc/sys/vm/dirty_ratio son escribibles sólo por vold . En este caso puedes usar exec que permite cambiar la etiqueta de SELinux antes de la ejecución del comando.

# /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 es toybox applet. O puedes usar busybox .

Para otras opciones ver esta respuesta . Algunas aplicaciones también pueden proporcionar una funcionalidad similar, pero yo nunca he usado una.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X